Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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);
        }