/// <summary> /// Registrar TrabajadorUnidadOperativa /// </summary> /// <param name="data">Trabajador Response</param> /// <returns>Indicador con el resultado de la operación</returns> public ProcessResult <TrabajadorRequest> RegistrarTrabajadorUnidadOperativa(TrabajadorRequest data) { ProcessResult <TrabajadorRequest> resultado = new ProcessResult <TrabajadorRequest>(); try { if (string.IsNullOrEmpty(data.CodigoUnidadOperativaMatriz)) { resultado.IsSuccess = false; resultado.Exception = new ApplicationLayerException <TrabajadorService>(MensajesSistema.UnidadOperativaMatrizObligatorio); return(resultado); } var entidadEditar = trabajadorEntityRepository.GetById(data.CodigoTrabajador.Value); entidadEditar.CodigoUnidadOperativaMatriz = new Guid(data.CodigoUnidadOperativaMatriz); entidadEditar.IndicadorTodaUnidadOperativa = data.IndicadorTodaUnidadOperativa; trabajadorEntityRepository.Editar(entidadEditar); if (!data.IndicadorTodaUnidadOperativa) { var trabajadorUnidadOperativa = trabajadorLogicRepository.ListarTrabajadorUnidadOperativa(data.trabajadorUnidadOperativaRequest.CodigoUnidadOperativaMatriz, data.CodigoTrabajador.Value).Where(p => p.CodigoUnidadOperativa == data.trabajadorUnidadOperativaRequest.CodigoUnidadOperativa).FirstOrDefault(); TrabajadorUnidadOperativaEntity entidadTrabajadorUnidadOperativa = TrabajadorAdapter.ObtenerTrabajadorUnidadOperativaEntity(data.trabajadorUnidadOperativaRequest); if (trabajadorUnidadOperativa == null) { trabajadorUnidadOperativaEntityRepository.Insertar(entidadTrabajadorUnidadOperativa); } else { entidadTrabajadorUnidadOperativa.CodigoUnidadOperativaMatriz = entidadTrabajadorUnidadOperativa.CodigoUnidadOperativaMatriz; entidadTrabajadorUnidadOperativa.CodigoTrabajadorUnidadOperativa = trabajadorUnidadOperativa.CodigoTrabajadorUnidadOperativa; entidadTrabajadorUnidadOperativa.EstadoRegistro = DatosConstantes.EstadoRegistro.Activo; entidadTrabajadorUnidadOperativa.FechaCreacion = trabajadorUnidadOperativa.FechaCreacion; trabajadorUnidadOperativaEntityRepository.Editar(entidadTrabajadorUnidadOperativa); } trabajadorUnidadOperativaEntityRepository.GuardarCambios(); } trabajadorEntityRepository.GuardarCambios(); resultado.Result = data; } catch (Exception e) { resultado.IsSuccess = false; resultado.Exception = new ApplicationLayerException <TrabajadorService>(e); } return(resultado); }
/// <summary> /// Obtiene una entidad de tipo trabajador /// </summary> /// <param name="data">Data</param> /// <returns>Entity de Trabajador</returns> public static TrabajadorUnidadOperativaEntity ObtenerTrabajadorUnidadOperativaEntity(TrabajadorUnidadOperativaRequest data) { var trabajadorUnidadOperativaEntity = new TrabajadorUnidadOperativaEntity(); if (data.CodigoTrabajadorUnidadOperativa != null) { trabajadorUnidadOperativaEntity.CodigoTrabajadorUnidadOperativa = data.CodigoTrabajadorUnidadOperativa; } else { trabajadorUnidadOperativaEntity.CodigoTrabajadorUnidadOperativa = Guid.NewGuid(); } trabajadorUnidadOperativaEntity.CodigoUnidadOperativaMatriz = data.CodigoUnidadOperativaMatriz.Value; trabajadorUnidadOperativaEntity.CodigoTrabajador = data.CodigoTrabajador; trabajadorUnidadOperativaEntity.CodigoUnidadOperativa = data.CodigoUnidadOperativa; trabajadorUnidadOperativaEntity.EstadoRegistro = data.EstadoRegistro; return(trabajadorUnidadOperativaEntity); }