Ваш браузер устарел, не поддерживает современные веб-стандарты и представляет угрозу Вашей безопасности. Для комфортной работы с порталом, пожалуйста, установите современыый браузер.
Портал технической поддержки

Создать у сотрудника контрагента падежи имени AddNewNameCase

С ответом

Комментарии

Комментариев: 9

  • Официальный комментарий
    Avatar
    Евгений Колесников (Изменен )

    AddNewNameCase уже добавляет новый падеж, трогать коллекцию после этого не нужно.

    Что бы заполнить значения нужно задать в этом падеже задать LastName, FirstName и MiddleName.

     

    Действия с комментариями Постоянная ссылка
  • То есть секция падежи уже должна быть заполнена значениями, по падежам, только в именительном падеже? Дело в том, что у сотрудника заполнено   LastName, FirstName и MiddleName и пол.

    0
    Действия с комментариями Постоянная ссылка
  • Изначально в падежах вообще нет записей.

    Добавлять туда можно любой падеж, которого там еще нет.

    Стандартный код выглядит примерно так:
    var namecase = employee.NameCases.FirstOrDefault(nameCase => nameCase.NameCase == namecaseType);
    if (namecase == null)
     namecase = partnersService.AddNewNameCase(employee, namecaseType);
    namecase.FirstName = firstName;
    namecase.LastName = lastName;
    namecase.MiddleName = middleName;

    0
    Действия с комментариями Постоянная ссылка
  • Avatar
    Ксения Шарова (Изменен )

    IPartnersService partnersService = objectContext.GetService<IPartnersService>();

     PartnersEmployee employee = objectContext.GetObject<PartnersEmployee>(new Guid("{E5EF63C1-E2A9-4D4A-A5F8-EB28C9724A42}"));

     process.LogMessage(employee.FirstName + employee.LastName + employee.MiddleName + employee.Gender.ToString());

    var namecase = employee.NameCases.FirstOrDefault(nameCase=>nameCase.NameCase== PartnersNameCaseNameCase.Accusative);

     process.LogMessage("1");

     if (namecase == null)

     {

      process.LogMessage("2");

     namecase = partnersService.AddNewNameCase(employee, PartnersNameCaseNameCase.Accusative);

     }

     process.LogMessage("3");

    namecase.FirstName = employee.FirstName;

     process.LogMessage("4");

     namecase.LastName = employee.LastName;

     process.LogMessage("5");

     namecase.MiddleName = employee.MiddleName;

     process.LogMessage("6");

     Не знаю, что я не так делаю, но ничего не произошло. Код выполняется без ошибок.

    0
    Действия с комментариями Постоянная ссылка
  • Если что-то где-то создали или изменили, то нужен вызов objectContext.AcceptChanges(); для сохранения изменений.

    0
    Действия с комментариями Постоянная ссылка
  • Всё равно  не работает.

    Я не понимаю, как это работает вообще.

    Почему я сначала создаю падеж  namecase = partnersService.AddNewNameCase(employee, PartnersNameCaseNameCase.Accusative) - при этом, создается какой то объект, видимо падеж, у которого есть ИД, но у этого падежа пустые ФИО. А мне нужны ФИО после склонения.

    Ок, создали, и, как Вы написали, заполняем у падежа ФИО, и тут огромный вопрос, чем заполнять? Где мне взять ФИО после склонения? Я заполнила чем было - ФИО в именительном падеже, как видно из кода, в итоге - винительный падеж у меня создался и обновился, НО значения в нем от именительного падежа.

     

     

    0
    Действия с комментариями Постоянная ссылка
  • Публично доступного генератора падежей у нас нет.

    И да, в сервисе создается запись с пустыми ФИО, нужно их самостоятельно заполнять требуемыми данными.

    0
    Действия с комментариями Постоянная ссылка
  • Какой генератор падежей у вас есть?

    Кнопка "Сгенерировать" у Сотрудника корректно работает, как то можно вызвать выполнение этой кнопки?

    Вообще не понимаю сервиса parnersService. AddNewNameCases , если с таким же успехом можно добавить строки в секцию.

     

    0
    Действия с комментариями Постоянная ссылка
  • Почему наш генератор падежей не выставили наружу сказать не могу, тут, разве что, можно написать соответствующее пожелание на форум Идеи и предложения.

    0
    Действия с комментариями Постоянная ссылка

Войдите в службу, чтобы оставить комментарий.