Вопрос

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

Всем привет!

 

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);

    }

}

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

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