예제 #1
0
        public async Task UpdateAsync(Guid currentPassportId, PassportDto newPassport)
        {
            var currentPassport = await GetAsync(currentPassportId);

            currentPassport.SetNameRus(newPassport.NameRus);
            currentPassport.SetNameEng(newPassport.NameEng);
            currentPassport.SetSurnameRus(newPassport.SurnameRus);
            currentPassport.SetSurnameEng(newPassport.SurnameEng);
            currentPassport.SetPatronymicNameRus(newPassport.PatronymicNameRus);
            currentPassport.SetPatronymicNameEng(newPassport.PatronymicNameEng);

            currentPassport.SetBirthPlace(newPassport.BirthPlace);
            currentPassport.SetBirthCountry(newPassport.BirthCountry);
            currentPassport.SetDepartmentCode(newPassport.DepartmentCode);
            currentPassport.SetCitizenship(newPassport.Citizenship);

            currentPassport.SetIdentityDocument(newPassport.IdentityDocument);
            currentPassport.SetResidence(newPassport.Residence);
            currentPassport.SetResidenceCountry(newPassport.ResidenceCountry);
            currentPassport.SetResidenceRegion(newPassport.ResidenceRegion);
            currentPassport.SetIssuePlace(newPassport.IssuePlace);
            currentPassport.SetBirthDate(newPassport.BirthDate);
            currentPassport.SetIssueDate(newPassport.IssueDate);
            currentPassport.SetGender(newPassport.Gender);
        }
예제 #2
0
        public async Task UpdateAsync(Guid currentPassportId, PassportDto newPassport)
        {
            Contract.Argument.IsNotEmptyGuid(currentPassportId, nameof(currentPassportId));
            Contract.Argument.IsNotNull(newPassport, nameof(newPassport));

            var currentPassport = await GetAsync(currentPassportId).ConfigureAwait(false);

            currentPassport.Update(
                nameRus: newPassport.NameRus,
                surnameRus: newPassport.SurnameRus,
                nameEng: newPassport.NameEng,
                surnameEng: newPassport.SurnameEng,
                patronymicNameRus: newPassport.PatronymicNameRus,
                patronymicNameEng: newPassport.PatronymicNameEng,
                birthPlace: newPassport.BirthPlace,
                birthCountry: newPassport.BirthCountry,
                departmentCode: newPassport.DepartmentCode,
                citizenship: newPassport.Citizenship,
                identityDocument: newPassport.IdentityDocument,
                residence: newPassport.Residence,
                residenceCountry: newPassport.ResidenceCountry,
                residenceRegion: newPassport.ResidenceRegion,
                issuePlace: newPassport.IssuePlace,
                birthDate: newPassport.BirthDate,
                issueDate: newPassport.IssueDate,
                gender: newPassport.Gender);
        }
예제 #3
0
        /// <summary>
        /// Добавить паспортные данные
        /// </summary>
        /// <param name="addedPassport">DTO добавляемого паспорта</param>
        public Passport Add(PassportDto addedPassport)
        {
            var createdPassport = Create();

            createdPassport.SetNameRus(addedPassport.NameRus);
            createdPassport.SetNameEng(addedPassport.NameEng);
            createdPassport.SetSurnameRus(addedPassport.SurnameRus);
            createdPassport.SetSurnameEng(addedPassport.SurnameEng);
            createdPassport.SetPatronymicNameRus(addedPassport.PatronymicNameRus);
            createdPassport.SetPatronymicNameEng(addedPassport.PatronymicNameEng);

            createdPassport.SetBirthPlace(addedPassport.BirthPlace);
            createdPassport.SetBirthCountry(addedPassport.BirthCountry);
            createdPassport.SetDepartmentCode(addedPassport.DepartmentCode);
            createdPassport.SetCitizenship(addedPassport.Citizenship);

            createdPassport.SetIdentityDocument(addedPassport.IdentityDocument);
            createdPassport.SetResidence(addedPassport.Residence);
            createdPassport.SetResidenceCountry(addedPassport.ResidenceCountry);
            createdPassport.SetResidenceRegion(addedPassport.ResidenceRegion);
            createdPassport.SetIssuePlace(addedPassport.IssuePlace);
            createdPassport.SetBirthDate(addedPassport.BirthDate);
            createdPassport.SetIssueDate(addedPassport.IssueDate);
            createdPassport.SetGender(addedPassport.Gender);

            return(createdPassport);
        }
예제 #4
0
        /// <summary>
        /// Добавить паспортные данные
        /// </summary>
        /// <param name="addedPassport">DTO добавляемого паспорта</param>
        public Passport Add(PassportDto addedPassport)
        {
            Contract.Argument.IsNotNull(addedPassport, nameof(addedPassport));

            var passport = _passportRepository.Create(
                nameRus: addedPassport.NameRus,
                nameEng: addedPassport.NameEng,
                surnameRus: addedPassport.SurnameRus,
                surnameEng: addedPassport.SurnameEng,
                patronymicNameRus: addedPassport.PatronymicNameRus,
                patronymicNameEng: addedPassport.PatronymicNameEng,
                birthPlace: addedPassport.BirthPlace,
                birthCountry: addedPassport.BirthCountry,
                citizenship: addedPassport.Citizenship,
                residence: addedPassport.Residence,
                residenceCountry: addedPassport.ResidenceCountry,
                residenceRegion: addedPassport.ResidenceRegion,
                identityDocument: addedPassport.IdentityDocument,
                issuePlace: addedPassport.IssuePlace,
                departmentCode: addedPassport.DepartmentCode,
                birthDate: addedPassport.BirthDate,
                issueDate: addedPassport.IssueDate,
                gender: addedPassport.Gender);

            return(passport);
        }
        public async Task <Guid> AddOrUpdateAsync(Guid?passportId, PassportDto createdPassportData)
        {
            Contract.Argument.IsNotNull(createdPassportData, nameof(createdPassportData));

            var employeeId = await GetEmployeeIdAsync();

            return(await _employeeWriteCommand.AddOrUpdatePassportAsync(employeeId, createdPassportData));
        }
예제 #6
0
        private static bool IsPassportValid(PassportDto passport)
        {
            if (!IsValid(passport))
            {
                return(false);
            }

            var ownerPhoneNumber = passport.OwnerPhoneNumber;

            return(IsPhoneNumberValid(ownerPhoneNumber));
        }
예제 #7
0
        /// <summary>
        /// Выполнить команду Добавить или Обновить паспортные данные приглашенного иностранца
        /// </summary>
        /// <param name="invitationId">Идентификатор приглашения</param>
        /// <param name="passportDto">Паспортные данные для создания паспорта</param>
        /// <returns>Идентификатор паспорта</returns>
        public async Task <Guid> AddOrUpdatePassportAsync(Guid invitationId, PassportDto passportDto)
        {
            var invitation = await _invitationRepository.GetAsync(invitationId);

            var invitedAlienId = invitation.AlienId;

            var alienPassportId = await _alienWriteCommand.AddOrUpdatePassportAsync(invitedAlienId, passportDto);

            await _domainContext.SaveChangesAsync();

            return(alienPassportId);
        }
예제 #8
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);
        }
예제 #10
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);
        }
예제 #11
0
        public Task <Guid> UpdateAlienPassportAsync(Guid invitationId, PassportDto passportDto)
        {
            Contract.Argument.IsNotEmptyGuid(invitationId, nameof(invitationId));

            return(_invitationWriteCommand.AddOrUpdatePassportAsync(invitationId, passportDto));
        }
        public Task <Guid> UpdatePassportAsync(Guid employeeId, PassportDto passportDto)
        {
            Contract.Argument.IsNotEmptyGuid(employeeId, nameof(employeeId));

            return(_employeeWriteCommand.AddOrUpdatePassportAsync(employeeId, passportDto));
        }