示例#1
0
        /// <summary>
        /// Добавить иностранного участника
        /// </summary>
        /// <param name="addedForeignParticipant">DTO добавляемого иностранного участника</param>
        /// <returns>Иностранный участник</returns>
        public ForeignParticipant Add(ForeignParticipantDto addedForeignParticipant)
        {
            var foreignParticipant = Create();

            if (addedForeignParticipant.Passport != null)
            {
                var foreignParticipantPassport = _passportRepository.Add(addedPassport: addedForeignParticipant.Passport);
                foreignParticipant.SetPassport(foreignParticipantPassport);
            }

            return(foreignParticipant);
        }
示例#2
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);
        }
示例#4
0
        /// <summary>
        /// Добавить иностранца
        /// </summary>
        /// <param name="addedAlien">DTO добавляемого иностранца</param>
        public Alien Add(InviteeDto addedAlien)
        {
            var newAlien = Create();

            if (addedAlien.AlienContact != null)
            {
                var contact = _contactRepository.Add(addedAlien.AlienContact);
                newAlien.SetContact(contact: contact);
            }

            if (addedAlien.AlienPassport != null)
            {
                var passport = _passportRepository.Add(addedAlien.AlienPassport);
                newAlien.SetPassport(passport: passport);
            }

            if (addedAlien.AlienOrganization != null)
            {
                var organization = _organizationRepository.Add(addedAlien.AlienOrganization);
                newAlien.SetOrganization(organization: organization);
            }

            if (addedAlien.AlienStateRegistration != null)
            {
                var stateRegistration = _stateRegistrationRepository.Add(addedAlien.AlienStateRegistration);
                newAlien.SetStateRegistration(stateRegistration: stateRegistration);
            }

            if (addedAlien.AlienJob != null)
            {
                newAlien.SetWorkPlace(addedAlien.AlienJob.WorkPlace);
                newAlien.SetPosition(addedAlien.AlienJob.Position);
            }

            return(newAlien);
        }