コード例 #1
0
        /// <summary>
        /// Permite obtener una Observacion Planeada Entity
        /// </summary>
        /// <param name="CodigoExpediente"></param>
        /// <returns>Entidad Observacion Planeada Response</returns>
        public ProcessResult <IndicadorResponse> ObtenerIndicador(IndicadorRequest data)
        {
            ProcessResult <IndicadorResponse> resultado = new ProcessResult <IndicadorResponse>();

            resultado.Result = new IndicadorResponse();
            try
            {
                if (data.CodigoIndicador.HasValue)
                {
                    IndicadorEntity IndicadorEntity = indicadorEntityRepository.GetById(data.CodigoIndicador);
                    if (IndicadorEntity != null)
                    {
                        ResponsableEntity responsableEntity = responsableEntityRepository.GetById(IndicadorEntity.CodigoResponsable);

                        resultado.Result = Mapper.Map <IndicadorEntity, IndicadorResponse>(IndicadorEntity);
                        resultado.Result.NombreCompletoResponsable = responsableEntity.Nombres + " " + responsableEntity.ApellidoPaterno + " " + responsableEntity.ApellidoMaterno;

                        resultado.Result.FechaInicioVigenciaString = resultado.Result.FechaInicioVigencia.Value.ToShortDateString();
                        resultado.Result.FechaFinVigenciaString    = resultado.Result.FechaFinVigencia.Value.ToShortDateString();
                    }
                }
            }
            catch (Exception ex)
            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <IndicadorService>(ex.Message);
            }
            return(resultado);
        }
コード例 #2
0
        public ProcessResult <IndicadorResponse> RegistrarIndicador(IndicadorRequest data)
        {
            ProcessResult <IndicadorResponse> resultado = new ProcessResult <IndicadorResponse>();

            resultado.Result = new IndicadorResponse();
            try
            {
                using (TransactionScope ts = new TransactionScope())
                {
                    IndicadorEntity indicadorSincronizar = indicadorEntityRepository.GetById(data.CodigoIndicador);
                    IndicadorEntity indicadorGeneral     = Mapper.Map <IndicadorRequest, IndicadorEntity>(data);

                    if (indicadorSincronizar != null)
                    {
                        if (data.CodigoFormula != null)
                        {
                            indicadorSincronizar.CodigoFormula = data.CodigoFormula;
                        }

                        if (indicadorSincronizar.CodigoFormula != null)
                        {
                            indicadorGeneral.CodigoFormula = indicadorSincronizar.CodigoFormula;
                        }

                        Mapper.Map <IndicadorEntity, IndicadorEntity>(indicadorSincronizar, indicadorGeneral);
                        indicadorEntityRepository.Editar(indicadorSincronizar);
                        resultado.Result.CodigoIndicador = data.CodigoIndicador;
                    }
                    else
                    {
                        indicadorEntityRepository.Insertar(indicadorGeneral);
                        bool registroExitoso = resultado.IsSuccess;
                        if (!registroExitoso)
                        {
                            resultado.IsSuccess = false;
                            resultado.Exception = new ApplicationLayerException <IndicadorService>(MensajesSistemaResource.EtiquetaError);
                        }
                    }
                    resultado.Result.CodigoIndicador = indicadorGeneral.CodigoIndicador;

                    if (data.ListaIndicadorAmbito != null && data.ListaIndicadorAmbito.Count > 0)
                    {
                        this.EliminarIndicadorAmbito(indicadorGeneral);
                        this.GuardarIndicadorAmbito(data.ListaIndicadorAmbito, indicadorGeneral);
                    }

                    indicadorEntityRepository.GuardarCambios();
                    ts.Complete();
                }
            }
            catch (Exception ex)
            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <IndicadorService>(ex.Message);
            }
            return(resultado);
        }
コード例 #3
0
        public ProcessResult <object> ReactivarIndicador(IndicadorRequest data)
        {
            ProcessResult <object> resultado = new ProcessResult <object>();

            resultado.Result = "-1";
            try
            {
                indicadorEntityRepository.Reactivar(data.CodigoIndicador);
                resultado.Result = indicadorEntityRepository.GuardarCambios();
            }
            catch (Exception e)
            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <IndicadorService>(e.Message);
            }
            return(resultado);
        }
コード例 #4
0
        public ProcessResult <object> EliminarIndicador(IndicadorRequest filtro)
        {
            ProcessResult <object> resultado = new ProcessResult <object>();

            resultado.Result = string.Empty;
            try
            {
                IndicadorEntity oIndicadorEntity = indicadorEntityRepository.GetById(filtro.CodigoIndicador);

                if (oIndicadorEntity != null)
                {
                    indicadorEntityRepository.Eliminar(oIndicadorEntity.CodigoIndicador);
                    resultado.IsSuccess = true;
                    indicadorEntityRepository.GuardarCambios();
                }
            }
            catch (Exception ex)
            {
                resultado.Exception = new ApplicationLayerException <IndicadorService>(ex.Message);
            }
            return(resultado);
        }
コード例 #5
0
        public ProcessResult <FormulaResponse> RegistrarFormula(FormulaRequest data)
        {
            ProcessResult <FormulaResponse> resultado = new ProcessResult <FormulaResponse>();

            resultado.Result = new FormulaResponse();
            try
            {
                using (TransactionScope ts = new TransactionScope())
                {
                    FormulaEntity FormulaSincronizar = FormulaEntityRepository.GetById(data.CodigoFormula);
                    FormulaEntity FormulaGeneral     = Mapper.Map <FormulaRequest, FormulaEntity>(data);

                    if (FormulaSincronizar != null)
                    {
                        Mapper.Map <FormulaEntity, FormulaEntity>(FormulaGeneral, FormulaSincronizar);
                        FormulaSincronizar.EstadoRegistro = DatosConstantes.EstadoRegistro.Activo;
                        FormulaEntityRepository.Editar(FormulaSincronizar);
                        resultado.Result.CodigoFormula      = data.CodigoFormula;
                        resultado.Result.NombreFormula      = data.NombreFormula;
                        resultado.Result.DescripcionFormula = data.NombreFormula;
                        resultado.Result.EstadoRegistro     = DatosConstantes.EstadoRegistro.Activo;
                    }
                    else
                    {
                        FormulaEntityRepository.Insertar(FormulaGeneral);
                        bool registroExitoso = resultado.IsSuccess;
                        if (!registroExitoso)
                        {
                            resultado.IsSuccess = false;
                            resultado.Exception = new ApplicationLayerException <FormulaService>(MensajesSistemaResource.EtiquetaError);
                        }
                        resultado.Result.CodigoFormula = FormulaGeneral.CodigoFormula;
                    }

                    FormulaEntityRepository.GuardarCambios();

                    //BUSCA INDICADOR
                    IndicadorRequest IndReq = new IndicadorRequest();
                    IndReq.CodigoIndicador = data.CodigoIndicador;
                    IndReq.CodigoIdioma    = data.CodigoIdioma;
                    var res = indicadorService.ObtenerIndicador(IndReq);

                    //ACTUALIZA EL CÓDIGO DE FORMULA EN EL INDICADOR Y LO ACTUALIZA
                    IndReq.CodigoFormula = resultado.Result.CodigoFormula;
                    var response = indicadorService.RegistrarIndicador(IndReq);

                    //posterior a ello registrar la formula detalle: (codigo desarrollado abajo)

                    List <BandejaVariableRequest> lstVariables = new List <BandejaVariableRequest>();

                    String pattern = @"\[([^\[\]]+)\]";

                    foreach (Match m in Regex.Matches(data.NombreFormula, pattern))
                    {
                        lstVariables.Add(new BandejaVariableRequest()
                        {
                            NombreVariable = m.Groups[1].Value, CodigoIdioma = data.CodigoIdioma
                        });
                    }

                    for (int i = 0; i < lstVariables.Count; i++)
                    {
                        lstVariables[i].CodigoVariable = variableService.BuscarVariable(lstVariables[i]).Result[0].CodigoVariable;
                    }

                    FormulaDetalleRequest objFormulaDetalle = new FormulaDetalleRequest();

                    for (int i = 0; i < lstVariables.Count; i++)
                    {
                        objFormulaDetalle.CodigoFormula    = resultado.Result.CodigoFormula;
                        objFormulaDetalle.CodigoVariable   = lstVariables[i].CodigoVariable;
                        objFormulaDetalle.DescripcionValor = "Valor" + (i + 1);

                        var results = formulaDetalleService.RegistrarFormulaDetalle(objFormulaDetalle);
                    }
                    ts.Complete();
                }
            }
            catch (Exception ex)
            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <FormulaService>(ex.Message);
            }
            return(resultado);
        }
コード例 #6
0
        /// <summary>
        /// Permite registrar o actualizar Indicadores
        /// </summary>
        /// <param name="data">Datos a registrar</param>
        /// <returns>Indicador con el resultado de la operación</returns>
        public JsonResult RegistrarIndicador(IndicadorRequest data)
        {
            var response = indicadorService.RegistrarIndicador(data);

            return(Json(response));
        }
コード例 #7
0
        /// <summary>
        /// Permite obtener una Indicador Gestion
        /// </summary>
        public ProcessResult <List <IndicadorAmbitoResponse> > ObtenerIndicadorAmbito(IndicadorRequest data)
        {
            ProcessResult <List <IndicadorAmbitoResponse> > resultado = new ProcessResult <List <IndicadorAmbitoResponse> >();

            resultado.Result = new List <IndicadorAmbitoResponse>();
            try
            {
                if (data.CodigoIndicador.HasValue)
                {
                    List <IndicadorAmbitoEntity> lstIndicadorAmbito = indicadorAmbitoEntityRepository.GetFiltered(x => x.CodigoIndicador == data.CodigoIndicador && x.EstadoRegistro == DatosConstantes.EstadoRegistro.Activo).ToList();
                    Mapper.Map <List <IndicadorAmbitoEntity>, List <IndicadorAmbitoResponse> >(lstIndicadorAmbito, resultado.Result);
                }
            }
            catch (Exception ex)
            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <IndicadorService>(ex.Message);
            }
            return(resultado);
        }
コード例 #8
0
        /// <summary>
        /// Bandeja de Indicadores
        /// </summary>
        /// <param name="filtro"></param>
        /// <returns></returns>
        public ActionResult Index(IndicadorRequest filtro)
        {
            IngresoIndicadorModel modelo = new IngresoIndicadorModel();

            filtro.CodigoIdioma = obtenerCodigoIdioma();

            if (filtro.CodigoIndicador.HasValue)
            {
                modelo.Indicador = indicadorService.ObtenerIndicador(new IndicadorRequest()
                {
                    CodigoIndicador = filtro.CodigoIndicador
                }).Result;

                BandejaIndicadorRequest indReq = new BandejaIndicadorRequest();
                indReq.CodigoIndicador = filtro.CodigoIndicador;
                indReq.CodigoIdioma    = filtro.CodigoIdioma;

                var Formula = indicadorService.BuscarIndicador(indReq);

                modelo.Indicador.NombreFormula = Formula.Result[0].NombreFormula;

                modelo.ListaIndicadorAmbito = indicadorService.ObtenerIndicadorAmbito(new IndicadorRequest()
                {
                    CodigoIndicador = filtro.CodigoIndicador
                }).Result;
            }

            modelo.ListaPeriodicidad.Add(new SelectListItem {
                Value = string.Empty, Text = GenericoResource.EtiquetaSeleccionar
            });
            modelo.ListaPeriodicidad.AddRange(parametroValorService.BuscarValorPorSeccionParametro(new ParametroValorRequest()
            {
                CodigoIdentificador = DatosConstantes.ParametrosGenerales.Periodicidad,
                CodigoEmpresa       = DatosConstantes.Empresa.CodigoElectroPeru,
                CodigoSistema       = DatosConstantes.Sistema.CodigoSGI,
                IndicadorEmpresa    = true,
                CodigoIdioma        = filtro.CodigoIdioma
            }).Result.Select(x => new SelectListItem()
            {
                Value    = x.CodigoValorString,
                Text     = x.Valor,
                Selected = false
            }));

            modelo.ListaUnidadMedida.Add(new SelectListItem {
                Value = string.Empty, Text = GenericoResource.EtiquetaSeleccionar
            });
            modelo.ListaUnidadMedida.AddRange(parametroValorService.BuscarValorPorSeccionParametro(new ParametroValorRequest()
            {
                CodigoIdentificador = DatosConstantes.ParametrosGenerales.UnidadDeMedida,
                CodigoEmpresa       = DatosConstantes.Empresa.CodigoElectroPeru,
                CodigoSistema       = DatosConstantes.Sistema.CodigoSGI,
                IndicadorEmpresa    = true,
                CodigoIdioma        = filtro.CodigoIdioma
            }).Result.Select(x => new SelectListItem()
            {
                Value    = x.CodigoValorString,
                Text     = x.Valor,
                Selected = false
            }));

            modelo.ListaIndicadorAmbitoTodos.AddRange(parametroValorService.BuscarValorPorSeccionParametro(new ParametroValorRequest()
            {
                CodigoIdentificador = DatosConstantes.ParametrosGenerales.ListaIndicadorAmbito,
                CodigoEmpresa       = DatosConstantes.Empresa.CodigoElectroPeru,
                CodigoSistema       = DatosConstantes.Sistema.CodigoSGI,
                IndicadorEmpresa    = true,
                CodigoIdioma        = filtro.CodigoIdioma
            }).Result.Select(x => new SelectListItem()
            {
                Value    = x.CodigoValorString,
                Text     = x.Valor,
                Selected = false
            }));

            //modelo.ListaIndicadorAmbitoTodos.AddRange(ObtenerValoresParametroMultiple(DatosConstantes.ParametrosGenerales.ListaIndicadorAmbito, string.Empty));

            modelo.ListaArea.Add(new SelectListItem {
                Value = string.Empty, Text = GenericoResource.EtiquetaTodos
            });
            modelo.ListaArea.AddRange(areaService.BuscarAreaGrilla(new AreaRequest()
            {
                CodigoIdioma   = filtro.CodigoIdioma,
                EstadoRegistro = DatosConstantes.EstadoRegistro.Activo,
            }).Result.Select(x => new SelectListItem()
            {
                Value    = x.CodigoArea.ToString(),
                Text     = x.NombreArea,
                Selected = false
            }));

            modelo.ListaTipoIndicador.Add(new SelectListItem {
                Value = string.Empty, Text = GenericoResource.EtiquetaTodos
            });
            modelo.ListaTipoIndicador.AddRange(parametroValorService.BuscarValorPorSeccionParametro(new ParametroValorRequest()
            {
                CodigoIdentificador = DatosConstantes.ParametrosGenerales.TipoIndicador,
                CodigoEmpresa       = DatosConstantes.Empresa.CodigoElectroPeru,
                CodigoSistema       = DatosConstantes.Sistema.CodigoSGI,
                IndicadorEmpresa    = true,
                CodigoIdioma        = filtro.CodigoIdioma
            }).Result.Select(x => new SelectListItem()
            {
                Value    = x.CodigoValorString,
                Text     = x.Valor,
                Selected = false
            }));

            /* Listas para Mostrar el Sub Tipo de la Periodicidad*/
            modelo.ListaSemana.Add(new SelectListItem()
            {
                Value = string.Empty, Text = GenericoResource.EtiquetaSeleccionar, Selected = true
            });
            modelo.ListaSemana.AddRange(parametroValorService.BuscarValorPorSeccionParametro(new ParametroValorRequest()
            {
                CodigoIdentificador = DatosConstantes.ParametrosGenerales.Semana,
                CodigoEmpresa       = DatosConstantes.Empresa.CodigoElectroPeru,
                CodigoSistema       = DatosConstantes.Sistema.CodigoSGI,
                IndicadorEmpresa    = true,
                CodigoIdioma        = filtro.CodigoIdioma
            }).Result.Select(x => new SelectListItem()
            {
                Value    = x.CodigoValorString,
                Text     = x.Valor,
                Selected = false
            }));

            modelo.ListaMes.Add(new SelectListItem()
            {
                Value = string.Empty, Text = GenericoResource.EtiquetaSeleccionar, Selected = true
            });
            modelo.ListaMes.AddRange(parametroValorService.BuscarValorPorSeccionParametro(new ParametroValorRequest()
            {
                CodigoIdentificador = DatosConstantes.ParametrosGenerales.Mes,
                CodigoEmpresa       = DatosConstantes.Empresa.CodigoElectroPeru,
                CodigoSistema       = DatosConstantes.Sistema.CodigoSGI,
                IndicadorEmpresa    = true,
                CodigoIdioma        = filtro.CodigoIdioma
            }).Result.Select(x => new SelectListItem()
            {
                Value    = x.CodigoValorString,
                Text     = x.Valor,
                Selected = false
            }));

            modelo.ListaTrimestre.Add(new SelectListItem()
            {
                Value = string.Empty, Text = GenericoResource.EtiquetaSeleccionar, Selected = true
            });
            modelo.ListaTrimestre.AddRange(parametroValorService.BuscarValorPorSeccionParametro(new ParametroValorRequest()
            {
                CodigoIdentificador = DatosConstantes.ParametrosGenerales.Trimestre,
                CodigoEmpresa       = DatosConstantes.Empresa.CodigoElectroPeru,
                CodigoSistema       = DatosConstantes.Sistema.CodigoSGI,
                IndicadorEmpresa    = true,
                CodigoIdioma        = filtro.CodigoIdioma
            }).Result.Select(x => new SelectListItem()
            {
                Value    = x.CodigoValorString,
                Text     = x.Valor,
                Selected = false
            }));

            modelo.ListaSemestre.Add(new SelectListItem()
            {
                Value = string.Empty, Text = GenericoResource.EtiquetaSeleccionar, Selected = true
            });
            modelo.ListaSemestre.AddRange(parametroValorService.BuscarValorPorSeccionParametro(new ParametroValorRequest()
            {
                CodigoIdentificador = DatosConstantes.ParametrosGenerales.Semestre,
                CodigoEmpresa       = DatosConstantes.Empresa.CodigoElectroPeru,
                CodigoSistema       = DatosConstantes.Sistema.CodigoSGI,
                IndicadorEmpresa    = true,
                CodigoIdioma        = filtro.CodigoIdioma
            }).Result.Select(x => new SelectListItem()
            {
                Value    = x.CodigoValorString,
                Text     = x.Valor,
                Selected = false
            }));

            return(View(modelo));
        }
コード例 #9
0
        /// <summary>
        /// Permite anular una Inspección
        /// </summary>
        /// <param name="">Entidad Observacion Planeada</param>
        /// <returns>valor booleano con el resultado de la operacion</returns>
        public JsonResult EliminarIndicador(IndicadorRequest data)
        {
            var response = indicadorService.EliminarIndicador(data);

            return(Json(response));
        }