Exemplo n.º 1
0
        // 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);
        }
Exemplo n.º 3
0
        /// <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);
        }