// TODO: переделать на запросы, которые будут принимать пути для выполнения Include /// <summary> /// Выполнить команду Добавить или Обновить паспортные данные приглашенного иностранца /// </summary> /// <param name="employeeId">Идентификатор иностранца</param> /// <param name="passportDto">Паспортные данные для создания паспорта</param> /// <returns>Идентификатор паспорта</returns> public async Task <Guid> AddOrUpdatePassportAsync(Guid alienId, PassportDto passportDto) { // TODO: проверить идентификатор, что не Guid.Empty var alien = await _alienRepository.GetAsync(alienId); if (alien.PassportId.HasValue) { await _passportRepository.UpdateAsync(alien.PassportId.Value, passportDto); } else { var passport = _passportRepository.Add(passportDto); alien.SetPassport(passport); } return(alien.Passport !.Id); }
// TODO: переделать на запросы, которые будут принимать пути для выполнения Include /// <summary> /// Выполнить команду Добавить или Обновить паспортные данные сотрудника /// </summary> /// <param name="employeeId">Идентификатор сотрудника</param> /// <param name="passportDto">Паспортные данные для создания паспорта</param> /// <returns>Идентификатор паспорта</returns> public async Task <Guid> AddOrUpdatePassportAsync(Guid employeeId, PassportDto passportDto) { // TODO: проверить идентификатор, что не Guid.Empty var employee = await _employeeRepository.GetAsync(employeeId); if (employee.PassportId.HasValue) { await _passportRepository.UpdateAsync(employee.PassportId.Value, passportDto); } else { var passport = _passportRepository.Add(passportDto); employee.SetPassport(passport); } await _domainContext.SaveChangesAsync(); return(employee.Passport !.Id); }
/// <summary> /// Выполнить команду Добавить или Обновить паспортные данные сотрудника /// </summary> /// <param name="employeeId">Идентификатор сотрудника</param> /// <param name="employeeDto">Паспортные данные для создания паспорта</param> /// <returns>Идентификатор паспорта</returns> public async Task <Guid> AddOrUpdatePassportAsync(Guid employeeId, PassportDto passportDto) { Contract.Argument.IsNotEmptyGuid(employeeId, nameof(employeeId)); Contract.Argument.IsNotNull(passportDto, nameof(passportDto)); var employee = await _employeeRepository.GetAsync(employeeId).ConfigureAwait(false); if (employee.PassportId.HasValue) { await _passportRepository.UpdateAsync(employee.PassportId.Value, passportDto).ConfigureAwait(false); } else { var passport = _passportRepository.Create( nameRus: passportDto.NameRus, surnameRus: passportDto.SurnameRus, nameEng: passportDto.NameEng, surnameEng: passportDto.SurnameEng, patronymicNameRus: passportDto.PatronymicNameRus, patronymicNameEng: passportDto.PatronymicNameEng, birthPlace: passportDto.BirthPlace, birthCountry: passportDto.BirthCountry, departmentCode: passportDto.DepartmentCode, citizenship: passportDto.Citizenship, identityDocument: passportDto.IdentityDocument, residence: passportDto.Residence, residenceCountry: passportDto.ResidenceCountry, residenceRegion: passportDto.ResidenceRegion, issuePlace: passportDto.IssuePlace, birthDate: passportDto.BirthDate, issueDate: passportDto.IssueDate, gender: passportDto.Gender); employee.SetPassportId(passport.Id); } _domainContext.SaveChanges(); return(employee.PassportId.Value); }