private static void ValidationParameterDB(EmpleadoRequestDto requestDto, IEnumerable <EmpleadoEntity> listEntity)
        {
            if (requestDto.TipoPersona == default)
            {
                throw new EmpleadoTipoPersonaNullException(requestDto.TipoPersona);
            }

            var usernameExist = listEntity.Where(x => x.Nombre == requestDto.Nombre && x.Id != requestDto.Id).Any();

            if (usernameExist)
            {
                throw new EmpleadonameAlreadyExistException(requestDto.Nombre);
            }

            var codeExist = listEntity.Where(x => x.CodigoTipoDocumento == requestDto.CodigoTipoDocumento &&
                                             x.TipoDocumentoId == requestDto.TipoDocumentoId &&
                                             x.Id != requestDto.Id);

            if (codeExist.Any())
            {
                throw new EmpleadoCodigoTipoDocumentoException(requestDto.CodigoTipoDocumento);
            }

            if (requestDto.FechaNacimiento == default)
            {
                throw new EmpleadoFechaNacimientoException(requestDto.FechaNacimiento);
            }
            if (requestDto.FechaRegistro == default)
            {
                throw new EmpleadoFechaRegistroException(requestDto.FechaRegistro);
            }
        }
        public Task <EmpleadoDto> Get(EmpleadoRequestDto requestDto)
        {
            ValidationDto(requestDto);
            var entity = ValidationEntity(requestDto);

            return(Task.FromResult(_mapper.Map <EmpleadoDto>(entity)));
        }
 private static void ValidationDto(EmpleadoRequestDto requestDto)
 {
     if (requestDto == null)
     {
         throw new EmpleadoRequestDtoNullException();
     }
 }
        public Task <bool> Delete(EmpleadoRequestDto requestDto)
        {
            ValidationDto(requestDto);
            var entity = ValidationEntity(requestDto);

            return(_empleadoRepositorio.Delete(entity));
        }
        private static void ValidationInsert(EmpleadoRequestDto requestDto, IEnumerable <EmpleadoEntity> listEntity)
        {
            var AreaIdExist = listEntity.Where(x => x.Id == requestDto.Id && x.AreaId == requestDto.AreaId).Any();

            if (AreaIdExist)
            {
                throw new EmpleadoAreaIdAlreadyExistException(requestDto.AreaId);
            }
        }
        public async Task <IActionResult> Post(EmpleadoRequestDto empleadoRequestDto)
        {
            var empleado = _mapper.Map <EmpleadoRequestDto, Empleado>(empleadoRequestDto);
            await _empleadoService.AddEmpleado(empleado);

            var empleadoresponseDto = _mapper.Map <Empleado, EmpleadoResponseDto>(empleado);
            var response            = new ApiResponse <EmpleadoResponseDto>(empleadoresponseDto);

            return(Ok(response));
        }
        private void ValidationEmpleadoAndCliente(EmpleadoRequestDto requestDto)
        {
            var listdocumento = _tipoDocumentoRepositorio
                                .SearchMatching <TipoDocumentoEntity>(x => x.Id == requestDto.TipoDocumentoId).FirstOrDefault();

            if (listdocumento.NombreTipoDocumento.ToLower() == "nit".ToLower())
            {
                throw new EmpleadoTipoDocumentoException(requestDto.TipoDocumentoId.ToString());
            }
        }
        private EmpleadoEntity ValidationEntity(EmpleadoRequestDto requestDto)
        {
            var entity = _empleadoRepositorio.SearchMatchingOneResult <EmpleadoEntity>(x => x.Id == requestDto.Id);

            if (entity == null || entity == default)
            {
                throw new EmpleadoNoExistException(requestDto.Nombre);
            }
            return(entity);
        }
예제 #9
0
        public async Task <EmpleadoResponseDto> EmpleadoManagementDelete(EmpleadoRequestDto requestDto)
        {
            var result = await _empleadoService.Delete(requestDto).ConfigureAwait(false);

            return(new EmpleadoResponseDto
            {
                Aceptado = result,
                StatusCode = result ? HttpStatusCode.OK : HttpStatusCode.Unauthorized,
                StatusDescription = result ? "Delete" : "No delete"
            });
        }
예제 #10
0
        public async Task <EmpleadoResponseDto> EmpleadoManagementInsert(EmpleadoRequestDto requestDto)
        {
            var result = await _empleadoService.Insert(requestDto).ConfigureAwait(false) != default;

            return(new EmpleadoResponseDto
            {
                Aceptado = result,
                StatusCode = result ? HttpStatusCode.OK : HttpStatusCode.Unauthorized,
                StatusDescription = result ? "Insert" : "No insert"
            });
        }
        public async Task <Guid> Insert(EmpleadoRequestDto requestDto)
        {
            ValidationDto(requestDto);

            var listentity = _empleadoRepositorio
                             .GetAll <EmpleadoEntity>();

            ValidationEmpleadoDto(requestDto, listentity);
            ValidationEmpleadoAndCliente(requestDto);
            ValidationInsert(requestDto, listentity);

            ValidationParameterDB(requestDto, listentity);

            var response = await _empleadoRepositorio.Insert(_mapper.Map <EmpleadoEntity>(requestDto)).ConfigureAwait(false);

            return(response.Id);
        }
        private static void ValidationEmpleadoDto(EmpleadoRequestDto requestDto, IEnumerable <EmpleadoEntity> listEntity)
        {
            if (nameof(TipoPersona.Juridico) == requestDto.TipoPersona.ToString())
            {
                throw new EmpleadoErrorTipoPersonaException(requestDto.TipoPersona.ToString());
            }

            var usercodeExist = listEntity.Where(x => x.CodigoEmpleado == requestDto.CodigoEmpleado && x.Id != requestDto.Id).Any();

            if (usercodeExist)
            {
                throw new EmpleadocodeAlreadyExistException(requestDto.CodigoEmpleado);
            }

            if (requestDto.AreaId == default)
            {
                throw new EmpleadoAreaIdNullException(requestDto.AreaId);
            }
        }
예제 #13
0
 public async Task <EmpleadoDto> GetEmpleado(EmpleadoRequestDto requestDto) =>
 await _fachadaPersonasService.EmpleadoManagementGet(requestDto).ConfigureAwait(false);
예제 #14
0
 public async Task <EmpleadoResponseDto> DeleteEmpleado(EmpleadoRequestDto requestDto) =>
 await _fachadaPersonasService.EmpleadoManagementDelete(requestDto).ConfigureAwait(false);
예제 #15
0
 public async Task <EmpleadoDto> Post(EmpleadoRequestDto empleadoDto) => await Post <EmpleadoRequestDto>("InsertEmpleado", empleadoDto).ConfigureAwait(false);
        public Task <bool> Update(EmpleadoRequestDto requestDto)
        {
            ValidationDto(requestDto);
            var entity = ValidationEntity(requestDto);

            #region Validation If
            if (!string.IsNullOrEmpty(requestDto.Nombre))
            {
                entity.Nombre = requestDto.Nombre;
            }

            if (!string.IsNullOrEmpty(requestDto.Apellido))
            {
                entity.Apellido = requestDto.Apellido;
            }

            if (requestDto.FechaNacimiento != default)
            {
                entity.FechaNacimiento = requestDto.FechaNacimiento;
            }

            if (requestDto.FechaRegistro != default)
            {
                entity.FechaRegistro = requestDto.FechaRegistro;
            }

            if (requestDto.NumeroTelefono != default)
            {
                entity.NumeroTelefono = requestDto.NumeroTelefono;
            }

            if (!string.IsNullOrEmpty(requestDto.CorreoElectronico))
            {
                entity.CorreoElectronico = requestDto.CorreoElectronico;
            }

            if (requestDto.TipoDocumentoId != default)
            {
                entity.TipoDocumentoId = requestDto.TipoDocumentoId;
            }

            if (!string.IsNullOrEmpty(requestDto.CodigoTipoDocumento))
            {
                entity.CodigoTipoDocumento = requestDto.CodigoTipoDocumento;
            }

            if (requestDto.Salario != default)
            {
                entity.Salario = requestDto.Salario;
            }

            if (!string.IsNullOrEmpty(requestDto.CodigoEmpleado))
            {
                entity.CodigoEmpleado = requestDto.CodigoEmpleado;
            }

            if (requestDto.AreaId != default)
            {
                entity.AreaId = requestDto.AreaId;
            }
            #endregion

            var listentity = _empleadoRepositorio
                             .GetAll <EmpleadoEntity>();

            ValidationEmpleadoDto(_mapper.Map <EmpleadoRequestDto>(entity), listentity);
            ValidationEmpleadoAndCliente(requestDto);
            ValidationParameterDB(_mapper.Map <EmpleadoRequestDto>(entity), listentity);

            return(_empleadoRepositorio.Update(entity));
        }
예제 #17
0
 public Task <EmpleadoDto> EmpleadoManagementGet(EmpleadoRequestDto requestDto)
 {
     return(_empleadoService.Get(requestDto));
 }