Всем привет!
https://academy.terrasoft.ru/documents/technic-sdk/7-15/sozdanie-anonimnogo-veb-servisa
В данном пример говориться как создать анонимный веб-сервис, в котором показано как выгребать данные.
Все работает прекрасно. По крайней мере я смогу получить DocumentFile.
Кто-нибудь знает, а если и покажет пример до добавлению, обновлению и удалению подобных объектов?
Нравится
{Получение одной записи}
var statusSchema = UserConnection.EntitySchemaManager.GetInstanceByName("OrderStatus");
var newStatus = statusSchema.CreateEntity(UserConnection);
newStatus.FetchFromDB("Name", "4. Completed");
var item = newStatus.GetTypedColumnValue<Guid>("Id");
{Изменение}
var schema = UserConnection.EntitySchemaManager.GetInstanceByName("OrderStatus");
var communication = schema.CreateEntity(UserConnection);
communication.FetchFromDB("Name", city);
communication.SetColumnValue("CommunicationTypeId", Guid.Parse(typeId));
communication.SetColumnValue("AccountId", primaryEntityId);
communication.SetColumnValue("Number", number);
communication.Save();
{Добавление}
var schema = UserConnection.EntitySchemaManager.GetInstanceByName("OrderStatus");
var communication = schema.CreateEntity(UserConnection);
communication.SetDefColumnValues();
communication.SetColumnValue("CommunicationTypeId", Guid.Parse(typeId));
communication.SetColumnValue("AccountId", primaryEntityId);
communication.SetColumnValue("Number", number);
communication.Save();
{Удаление}
EntitySchema accountSchema = UserConnection.EntitySchemaManager.GetInstanceByName("Account");
Entity accountEntity = accountSchema.CreateEntity(UserConnection);
if (accountEntity.FetchFromDB("Name", accountName)) {
accountEntity.Delete();
}
{{Получение колейции c применением фильтра}}
var result = 0.0;
var esq = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "OpportunityProductInterest");
string quantity = esq.AddColumn("Quantity").Name;
IEntitySchemaQueryFilterItem opportunityIdFilter = esq.CreateFilterWithParameters(FilterComparisonType.Equal, "Opportunity.Account", accountId);
IEntitySchemaQueryFilterItem typesTariffServiceIdFilter = esq.CreateFilterWithParameters(FilterComparisonType.Equal, "Product.PsTypesTariffServices", typesTariffServiceId);
esq.Filters.Add(opportunityIdFilter);
esq.Filters.Add(typesTariffServiceIdFilter);
var entities = esq.GetEntityCollection(UserConnection);
if (entities.Count > 0)
{
result = entities[0].GetTypedColumnValue<int>(quantity);
}
return result;
{{Изменение колейции c применением фильтра}}
var result = "blabla";
var esq = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "OpportunityProductInterest");
esq.AddAllSchemaColumns();
string quantity = esq.AddColumn("Quantity").Name;
IEntitySchemaQueryFilterItem opportunityIdFilter = esq.CreateFilterWithParameters(FilterComparisonType.Equal, "Opportunity.Account", accountId);
IEntitySchemaQueryFilterItem typesTariffServiceIdFilter = esq.CreateFilterWithParameters(FilterComparisonType.Equal, "Product.PsTypesTariffServices", typesTariffServiceId);
esq.Filters.Add(opportunityIdFilter);
esq.Filters.Add(typesTariffServiceIdFilter);
var entities = esq.GetEntityCollection(UserConnection);
if (entities.Count > 0)
{
foreach(var item in entities)
{
item.SetColumnValue("KtRequestId", result);
}
}
Михаил, для добавления файлов используют FileApiService, примеры работы с ним см. тут. Вы хотите сделать такой же, но анонимный?
Что Вы имеете в виду под добавлением, обновлением и удалением объектов? Речь о файлах?
Александр,
Меня интересует API что бы можно было работать через C#.
{Получение одной записи}
var statusSchema = UserConnection.EntitySchemaManager.GetInstanceByName("OrderStatus");
var newStatus = statusSchema.CreateEntity(UserConnection);
newStatus.FetchFromDB("Name", "4. Completed");
var item = newStatus.GetTypedColumnValue<Guid>("Id");
{Изменение}
var schema = UserConnection.EntitySchemaManager.GetInstanceByName("OrderStatus");
var communication = schema.CreateEntity(UserConnection);
communication.FetchFromDB("Name", city);
communication.SetColumnValue("CommunicationTypeId", Guid.Parse(typeId));
communication.SetColumnValue("AccountId", primaryEntityId);
communication.SetColumnValue("Number", number);
communication.Save();
{Добавление}
var schema = UserConnection.EntitySchemaManager.GetInstanceByName("OrderStatus");
var communication = schema.CreateEntity(UserConnection);
communication.SetDefColumnValues();
communication.SetColumnValue("CommunicationTypeId", Guid.Parse(typeId));
communication.SetColumnValue("AccountId", primaryEntityId);
communication.SetColumnValue("Number", number);
communication.Save();
{Удаление}
EntitySchema accountSchema = UserConnection.EntitySchemaManager.GetInstanceByName("Account");
Entity accountEntity = accountSchema.CreateEntity(UserConnection);
if (accountEntity.FetchFromDB("Name", accountName)) {
accountEntity.Delete();
}
{{Получение колейции c применением фильтра}}
var result = 0.0;
var esq = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "OpportunityProductInterest");
string quantity = esq.AddColumn("Quantity").Name;
IEntitySchemaQueryFilterItem opportunityIdFilter = esq.CreateFilterWithParameters(FilterComparisonType.Equal, "Opportunity.Account", accountId);
IEntitySchemaQueryFilterItem typesTariffServiceIdFilter = esq.CreateFilterWithParameters(FilterComparisonType.Equal, "Product.PsTypesTariffServices", typesTariffServiceId);
esq.Filters.Add(opportunityIdFilter);
esq.Filters.Add(typesTariffServiceIdFilter);
var entities = esq.GetEntityCollection(UserConnection);
if (entities.Count > 0)
{
result = entities[0].GetTypedColumnValue<int>(quantity);
}
return result;
{{Изменение колейции c применением фильтра}}
var result = "blabla";
var esq = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "OpportunityProductInterest");
esq.AddAllSchemaColumns();
string quantity = esq.AddColumn("Quantity").Name;
IEntitySchemaQueryFilterItem opportunityIdFilter = esq.CreateFilterWithParameters(FilterComparisonType.Equal, "Opportunity.Account", accountId);
IEntitySchemaQueryFilterItem typesTariffServiceIdFilter = esq.CreateFilterWithParameters(FilterComparisonType.Equal, "Product.PsTypesTariffServices", typesTariffServiceId);
esq.Filters.Add(opportunityIdFilter);
esq.Filters.Add(typesTariffServiceIdFilter);
var entities = esq.GetEntityCollection(UserConnection);
if (entities.Count > 0)
{
foreach(var item in entities)
{
item.SetColumnValue("KtRequestId", result);
}
}
Примерно так. Если надо будет объяснить, пишите, сделаю видео