예제 #1
0
        /// <summary>
        /// Realiza la busqueda de variables
        /// </summary>
        /// <param name="filtro"></param>
        /// <returns>Lista de variables</returns>
        public ProcessResult <List <VariableResponse> > BuscarVariable(VariableRequest filtro)
        {
            ProcessResult <List <VariableResponse> > resultado = new ProcessResult <List <VariableResponse> >();

            try
            {
                Guid?codigoVariable  = (filtro.CodigoVariable != null && filtro.CodigoVariable != "") ? new Guid(filtro.CodigoVariable) : (Guid?)null;
                Guid?codigoPlantilla = (filtro.CodigoPlantilla != null && filtro.CodigoPlantilla != "") ? new Guid(filtro.CodigoPlantilla) : (Guid?)null;

                if (filtro.IndicadorGlobalSelect == "0")
                {
                    filtro.IndicadorGlobal = false;
                }
                else if (filtro.IndicadorGlobalSelect == "1")
                {
                    filtro.IndicadorGlobal = true;
                }
                else
                {
                    filtro.IndicadorGlobal = null;
                }

                List <VariableLogic> listado = variableLogicRepository.BuscarVariable(
                    codigoVariable,
                    filtro.Identificador,
                    filtro.Nombre,
                    filtro.CodigoTipo,
                    filtro.IndicadorGlobal,
                    codigoPlantilla,
                    filtro.IndicadorVariableSistema
                    );

                var tipoVariable = ListarTipoVariable().Result;

                var plantilla = plantillaService.BuscarPlantilla(new PlantillaRequest()
                {
                }).Result;

                resultado.Result = new List <VariableResponse>();

                foreach (var registro in listado)
                {
                    resultado.Result.Add(VariableAdapter.ObtenerVariable(registro, plantilla, tipoVariable));
                }
            }
            catch (Exception e)
            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <VariableService>(e);
            }
            return(resultado);
        }
예제 #2
0
        /// <summary>
        /// Realiza la adaptación de los campos del request al entity de variable
        /// </summary>
        /// <param name="variableRequest">Request de Variable</param>
        /// <returns>Entity de Variable</returns>
        public static VariableEntity ObtenerVariableEntityDesdeVariableRequest(VariableRequest variableRequest)
        {
            var variableEntity = new VariableEntity();

            variableEntity.CodigoVariable           = variableRequest.CodigoVariable != null ? new Guid(variableRequest.CodigoVariable) : Guid.NewGuid();
            variableEntity.CodigoPlantilla          = !Convert.ToBoolean(variableRequest.IndicadorGlobal) ? (variableRequest.CodigoPlantilla != null ? new Guid(variableRequest.CodigoPlantilla) : Guid.Empty) : (Guid?)null;
            variableEntity.Identificador            = variableRequest.Identificador;
            variableEntity.Nombre                   = variableRequest.Nombre;
            variableEntity.CodigoTipo               = variableRequest.CodigoTipo;
            variableEntity.IndicadorGlobal          = Convert.ToBoolean(variableRequest.IndicadorGlobal);
            variableEntity.IndicadorVariableSistema = Convert.ToBoolean(variableRequest.IndicadorVariableSistema);
            variableEntity.Descripcion              = variableRequest.Descripcion;

            return(variableEntity);
        }
예제 #3
0
        public ProcessResult <object> ReactivarVariable(VariableRequest data)
        {
            ProcessResult <object> resultado = new ProcessResult <object>();

            resultado.Result = "-1";
            try
            {
                variableEntityRepository.Reactivar(data.CodigoVariable);
                resultado.Result = variableEntityRepository.GuardarCambios();
            }
            catch (Exception e)
            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <VariableService>(e.Message);
            }
            return(resultado);
        }
예제 #4
0
        public ProcessResult <VariableResponse> RegistrarVariable(VariableRequest data)
        {
            ProcessResult <VariableResponse> resultado = new ProcessResult <VariableResponse>();

            resultado.Result = new VariableResponse();
            try
            {
                using (TransactionScope ts = new TransactionScope())
                {
                    VariableEntity variableSincronizar = variableEntityRepository.GetById(data.CodigoVariable);
                    VariableEntity variableGeneral     = Mapper.Map <VariableRequest, VariableEntity>(data);

                    if (variableSincronizar != null)
                    {
                        Mapper.Map <VariableEntity, VariableEntity>(variableGeneral, variableSincronizar);
                        variableEntityRepository.Editar(variableSincronizar);
                        resultado.Result.CodigoVariable      = data.CodigoVariable;
                        resultado.Result.NombreVariable      = data.NombreVariable;
                        resultado.Result.NombreSiglaVariable = data.NombreSiglaVariable;
                        resultado.Result.DescripcionVariable = data.DescripcionVariable;
                        resultado.Result.CodigoTipoVariable  = data.CodigoTipoVariable;
                    }
                    else
                    {
                        variableEntityRepository.Insertar(variableGeneral);
                        bool registroExitoso = resultado.IsSuccess;
                        if (!registroExitoso)
                        {
                            resultado.IsSuccess = false;
                            resultado.Exception = new ApplicationLayerException <VariableService>(MensajesSistemaResource.EtiquetaError);
                        }
                        resultado.Result.CodigoVariable = variableGeneral.CodigoVariable;
                    }

                    variableEntityRepository.GuardarCambios();
                    ts.Complete();
                }
            }
            catch (Exception ex)
            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <VariableService>(ex.Message);
            }
            return(resultado);
        }
예제 #5
0
        /// <summary>
        /// Permite obtener una Observacion Planeada Entity
        /// </summary>
        /// <param name="CodigoExpediente"></param>
        /// <returns>Entidad Observacion Planeada Response</returns>
        public ProcessResult <VariableResponse> ObtenerVariable(VariableRequest data)
        {
            ProcessResult <VariableResponse> resultado = new ProcessResult <VariableResponse>();

            resultado.Result = new VariableResponse();
            try
            {
                if (data.CodigoVariable.HasValue)
                {
                    VariableEntity VariableEntity = variableEntityRepository.GetById(data.CodigoVariable);
                    if (VariableEntity != null)
                    {
                        resultado.Result = Mapper.Map <VariableEntity, VariableResponse>(VariableEntity);
                    }
                }
            }
            catch (Exception ex)
            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <VariableService>(ex.Message);
            }
            return(resultado);
        }
예제 #6
0
        /// <summary>
        /// Registrar Variable
        /// </summary>
        /// <param name="filtro">Variable a registrar</param>
        /// <returns>Indicador de conformidad
        /// 0: Registro satisfactorio
        /// 2: Identificador repetido
        /// 3: Nombre repetido
        /// -1: Ocurrio un Error Inesperado</returns>
        public ProcessResult <string> RegistrarVariable(VariableRequest filtro)
        {
            ProcessResult <string> resultado = new ProcessResult <string>();

            resultado.Result = "0";
            try
            {
                var listaVariable = BuscarVariable(new VariableRequest()
                {
                }).Result;

                //Validar si el Idetificador de la variable es repetido
                if (listaVariable.Any(itemAny => (filtro.CodigoVariable == null || new Guid(filtro.CodigoVariable) != itemAny.CodigoVariable) &&
                                      (filtro.IndicadorGlobal == true || itemAny.CodigoPlantilla == new Guid(filtro.CodigoPlantilla)) &&
                                      itemAny.Identificador == filtro.Identificador))
                {
                    resultado.Result    = "2";
                    resultado.IsSuccess = false;
                    return(resultado);
                }

                //Validar si el Nombre de la variable es repetido
                if (listaVariable.Any(itemAny => (filtro.CodigoVariable == null || new Guid(filtro.CodigoVariable) != itemAny.CodigoVariable) &&
                                      (filtro.IndicadorGlobal == true || itemAny.CodigoPlantilla == new Guid(filtro.CodigoPlantilla)) &&
                                      itemAny.Nombre == filtro.Nombre))
                {
                    resultado.Result    = "3";
                    resultado.IsSuccess = false;
                    return(resultado);
                }

                var entidad = VariableAdapter.ObtenerVariableEntityDesdeVariableRequest(filtro);


                if (filtro.CodigoVariable == null)
                {
                    variableEntityRepository.Insertar(entidad);

                    variableEntityRepository.GuardarCambios();
                    //Agregar una columna por default si es tabla
                    if (entidad.CodigoTipo == DatosConstantes.TipoVariable.Tabla)
                    {
                        var campo = new VariableCampoEntity();
                        campo.CodigoVariableCampo = Guid.NewGuid();
                        campo.CodigoVariable      = entidad.CodigoVariable;
                        campo.Nombre           = "Título";
                        campo.Orden            = 1;
                        campo.Tamanio          = 100;
                        campo.TipoAlineamiento = "center";
                        variableCampoEntityRepository.Insertar(campo);
                        variableCampoEntityRepository.GuardarCambios();
                    }
                }
                else
                {
                    var varibleActual = variableEntityRepository.GetById(entidad.CodigoVariable);
                    varibleActual.CodigoPlantilla          = entidad.CodigoPlantilla;
                    varibleActual.CodigoTipo               = entidad.CodigoTipo;
                    varibleActual.Identificador            = entidad.Identificador;
                    varibleActual.Nombre                   = entidad.Nombre;
                    varibleActual.IndicadorGlobal          = entidad.IndicadorGlobal;
                    varibleActual.Descripcion              = entidad.Descripcion;
                    varibleActual.IndicadorVariableSistema = entidad.IndicadorVariableSistema;
                    variableEntityRepository.Editar(varibleActual);

                    variableEntityRepository.GuardarCambios();
                }

                resultado.IsSuccess = true;
            }
            catch (Exception e)
            {
                resultado.Result    = "-1";
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <VariableService>(e);
            }

            return(resultado);
        }
예제 #7
0
        /// <summary>
        /// Bandeja de Variablees
        /// </summary>
        /// <param name="filtro"></param>
        /// <returns></returns>
        public ActionResult Index(VariableRequest filtro)
        {
            IngresoVariableModel modelo = new IngresoVariableModel();

            filtro.CodigoIdioma = obtenerCodigoIdioma();

            if (filtro.CodigoVariable.HasValue)
            {
                modelo.Variable = variableService.ObtenerVariable(new VariableRequest()
                {
                    CodigoVariable = filtro.CodigoVariable
                }).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.ListaTipoVariable.Add(new SelectListItem {
                Value = string.Empty, Text = GenericoResource.EtiquetaSeleccionar
            });
            modelo.ListaTipoVariable.AddRange(parametroValorService.BuscarValorPorSeccionParametro(new ParametroValorRequest()
            {
                CodigoIdentificador = DatosConstantes.ParametrosGenerales.TipoVariable,
                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.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
            }));

            return(View(modelo));
        }
예제 #8
0
        public JsonResult ReactivarVariable(VariableRequest data)
        {
            var response = variableService.ReactivarVariable(data);

            return(Json(response));
        }
예제 #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 EliminarVariable(VariableRequest data)
        {
            var response = variableService.EliminarVariable(data);

            return(Json(response));
        }