/// <summary>
        /// Permite registrar o actualizar Inspección Contratista
        /// </summary>
        /// <param name="data">Datos a registrar</param>
        /// <returns>Indicador con el resultado de la operación</returns>
        public JsonResult RegistrarFormulaDetalle(FormulaDetalleRequest data)
        {
            data.CodigoIdioma = obtenerCodigoIdioma();
            var response = formulaDetalleService.RegistrarFormulaDetalle(data);

            return(Json(response));
        }
Esempio n. 2
0
        public ProcessResult <object> EliminarFormulaDetalle(FormulaDetalleRequest data)
        {
            ProcessResult <object> resultado = new ProcessResult <object>();

            resultado.Result = "-1";
            try
            {
                FormulaDetalleEntityRepository.Eliminar(data.CodigoFormulaDetalle);
                resultado.Result = FormulaDetalleEntityRepository.GuardarCambios();
            }
            catch (Exception e)
            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <FormulaDetalleService>(e.Message);
            }
            return(resultado);
        }
Esempio n. 3
0
        public ProcessResult <FormulaDetalleResponse> RegistrarFormulaDetalle(FormulaDetalleRequest data)
        {
            ProcessResult <FormulaDetalleResponse> resultado = new ProcessResult <FormulaDetalleResponse>();

            resultado.Result = new FormulaDetalleResponse();
            try
            {
                using (TransactionScope ts = new TransactionScope())
                {
                    FormulaDetalleEntity FormulaDetalleSincronizar = FormulaDetalleEntityRepository.GetById(data.CodigoFormulaDetalle);
                    FormulaDetalleEntity FormulaDetalleGeneral     = Mapper.Map <FormulaDetalleRequest, FormulaDetalleEntity>(data);

                    if (FormulaDetalleSincronizar != null)
                    {
                        Mapper.Map <FormulaDetalleEntity, FormulaDetalleEntity>(FormulaDetalleGeneral, FormulaDetalleSincronizar);
                        FormulaDetalleEntityRepository.Editar(FormulaDetalleSincronizar);
                        resultado.Result.CodigoFormulaDetalle = data.CodigoFormulaDetalle;
                        resultado.Result.CodigoFormula        = data.CodigoFormula;
                    }
                    else
                    {
                        FormulaDetalleEntityRepository.Insertar(FormulaDetalleGeneral);
                        bool registroExitoso = resultado.IsSuccess;
                        if (!registroExitoso)
                        {
                            resultado.IsSuccess = false;
                            resultado.Exception = new ApplicationLayerException <FormulaDetalleService>(MensajesSistemaResource.EtiquetaError);
                        }
                        resultado.Result.CodigoFormulaDetalle = FormulaDetalleGeneral.CodigoFormulaDetalle;
                        resultado.Result.CodigoFormula        = FormulaDetalleGeneral.CodigoFormula;
                    }

                    FormulaDetalleEntityRepository.GuardarCambios();
                    ts.Complete();
                }
            }
            catch (Exception ex)
            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <FormulaDetalleService>(ex.Message);
            }
            return(resultado);
        }
Esempio n. 4
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);
        }
        /// <summary>
        /// Permite registrar o actualizar Inspección Contratista
        /// </summary>
        /// <param name="data">Datos a registrar</param>
        /// <returns>Indicador con el resultado de la operación</returns>
        public JsonResult EliminarFormulaDetalle(FormulaDetalleRequest data)
        {
            var response = formulaDetalleService.EliminarFormulaDetalle(data);

            return(Json(response));
        }