/// <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); }
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); }
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); }
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); }
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); }
/// <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)); }
/// <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); }
/// <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)); }
/// <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)); }