Пример #1
0
        private void EstablecerEstados(TipoDocumentoFlujo flujo, bool seEvalua, bool seTomaConocimiento)
        {
            ServicioParametricas servParametrica = new ServicioParametricas();
            EstadoDocumento      _estado         = null;
            EstadoDocumento      _estadoPadre    = null;

            int estado_Ingresado        = servParametrica.ParametroObtener("ESTADO_DOC_INGRESADO").ConvertirInt();
            int estado_EnEvaluacion     = servParametrica.ParametroObtener("ESTADO_DOC_EN_EVALUACION").ConvertirInt();
            int estado_Aprobado         = servParametrica.ParametroObtener("ESTADO_DOC_APROBADO").ConvertirInt();
            int estado_PedidoCambio     = servParametrica.ParametroObtener("ESTADO_DOC_PEDIDO_CAMBIO").ConvertirInt();
            int estado_TomaConocimiento = servParametrica.ParametroObtener("ESTADO_DOC_TOMA_CONOCIMIENTO").ConvertirInt();

            _estado      = servParametrica.EstadoDocumentoObtener(estado_Ingresado);
            _estadoPadre = null;
            flujo.AgregarEstado(_estado, _estadoPadre, false);

            _estado      = servParametrica.EstadoDocumentoObtener(estado_EnEvaluacion);
            _estadoPadre = servParametrica.EstadoDocumentoObtener(estado_Ingresado);
            flujo.AgregarEstado(_estado, _estadoPadre, false);

            if (seEvalua)
            {
                _estado      = servParametrica.EstadoDocumentoObtener(estado_Aprobado);
                _estadoPadre = servParametrica.EstadoDocumentoObtener(estado_EnEvaluacion);
                flujo.AgregarEstado(_estado, _estadoPadre, true);

                _estado      = servParametrica.EstadoDocumentoObtener(estado_PedidoCambio);
                _estadoPadre = servParametrica.EstadoDocumentoObtener(estado_EnEvaluacion);
                flujo.AgregarEstado(_estado, _estadoPadre, true);
            }
            else if (seTomaConocimiento)
            {
                _estado      = servParametrica.EstadoDocumentoObtener(estado_TomaConocimiento);
                _estadoPadre = servParametrica.EstadoDocumentoObtener(estado_EnEvaluacion);
                flujo.AgregarEstado(_estado, _estadoPadre, true);
            }
        }
Пример #2
0
        private string AgregarEstado(string idTipoDocumento, string idFlujo, string idEstado, string idEstadoPadre, string final)
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            try
            {
                ServicioDocumentos   servicio        = new ServicioDocumentos();
                ServicioParametricas servParametrica = new ServicioParametricas();
                TipoDocumento        tipoDocumento   = servicio.TipoDocumentoObtener(int.Parse(idTipoDocumento));
                TipoDocumentoFlujo   flujo           = tipoDocumento.ObtenerFlujo(int.Parse(idFlujo));

                if (flujo == null)
                {
                    return(serializer.Serialize(new { result = "Error", message = "No existe ítem, refresque la pantalla" }));
                }

                EstadoDocumento estado = servParametrica.EstadoDocumentoObtener(int.Parse(idEstado));

                EstadoDocumento estadoPadre    = null;
                int             _idEstadoPadre = -1;
                if (int.TryParse(idEstadoPadre, out _idEstadoPadre))
                {
                    estadoPadre = servParametrica.EstadoDocumentoObtener(int.Parse(idEstadoPadre));
                }

                bool estadoFinal = (string.IsNullOrEmpty(final)) ? false : bool.Parse(final);
                flujo.AgregarEstado(estado, estadoPadre, estadoFinal);

                servicio.TipoDocumentoGrabar(tipoDocumento);
                tipoDocumento = servicio.TipoDocumentoObtener(int.Parse(idTipoDocumento));
                flujo         = tipoDocumento.ObtenerFlujo(int.Parse(idFlujo));

                return(flujo.SerializaToJson());
            }
            catch (Exception ex)
            {
                return(serializer.Serialize(new { result = "Error", message = ex.Message }));
            }
        }