Вопрос

Как добавить объект?

Всем привет!

 

https://academy.terrasoft.ru/documents/technic-sdk/7-15/sozdanie-anonimnogo-veb-servisa

В данном пример говориться как создать анонимный веб-сервис, в котором показано как выгребать данные.

Все работает прекрасно. По крайней мере я смогу получить DocumentFile.

Кто-нибудь знает, а если и покажет пример до добавлению, обновлению и удалению подобных объектов?

Нравится

4 комментария
Лучший ответ

{Получение одной записи}
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);
    }
}

Примерно так. Если надо будет объяснить, пишите, сделаю видео

Показать все комментарии