public MODResultado CrearFlujo(MODFlujo mod)
        {
            MODResultado resultado = new MODResultado();

            try
            {
                var data = FabricaDatos.CrearFlujoTrabajoDatos;
                return(data.Registrar(mod));
            }
            catch (Exception e)
            {
                Log.WriteLog(e, this.GetType().FullName + " - CrearFlujo",
                             String.Format(@"flujo:{0}", System.Text.Json.JsonSerializer.Serialize(mod)),
                             ErrorType.Error);
            }
            return(resultado);
        }
        public MODResultado Registrar(MODFlujo registro)
        {
            MODResultado resultado = new MODResultado();

            try
            {
                var data = FabricaDatos.CrearFlujoTrabajoDatos;
                registro.Tareas.ToList().ForEach(x =>
                {
                    if (x.IdReporte != 0)
                    {
                        x.Reporte = ConfiguracionNegocio.Reportes.FirstOrDefault(y => y.Id == x.IdReporte);
                    }
                    if (x.Proceso == EnumProceso.Obtener)
                    {
                        x.NombreTablaSIR = string.Format(@"TB_{0}_{1}_{2}", registro.Elemento.Replace(" ", "_").ToUpper(), registro.NombreEmpresa.Replace(" ", "_").ToUpper(), !String.IsNullOrEmpty(x.ConfiguracionBD.NombreTabla) ? x.ConfiguracionBD.NombreTabla.Replace(" ", "_").ToUpper() : x.ConfiguracionBD.Nombre.Replace(" ", "_").ToUpper());
                    }
                    else if (x.Proceso == EnumProceso.Registrar)
                    {
                        x.NombreTablaSIR = string.Format(@"TB_{0}_{1}_{2}", registro.Elemento.Replace(" ", "_").ToUpper(),
                                                         registro.NombreEmpresa.Replace(" ", "_").ToUpper(),
                                                         x.Reporte.Nombre.Replace(" ", "_").ToUpper()
                                                         );
                    }
                });
                resultado = data.Registrar(registro);
                if (resultado.esValido)
                {
                    ConfiguracionNegocio.RefrescarConfiguracion(EnumTipoConfiguracion.flujo);
                    /*********************auditoria*****************************/
                    IAuditoriaNegocio audit        = FabricaNegocio.CrearAuditoriaNegocio;
                    MODResultado      mODResultado = audit.CrearRastroAuditoria(EnumTipoAccionAuditoria.crear,
                                                                                registro.codigo_Externo.ToString(), "flujos", new MODFlujo(), registro, registro.Usuario, registro.Ip);
                    /**********************fin auditoria***********************/
                }
            }
            catch (Exception e)
            {
                Log.WriteLog(e, "SIR.Negocio.Concretos.FlujoDeTrabajo.FlujoTrabajoNegocio - Registrar",
                             JsonSerializer.Serialize(registro),
                             ErrorType.Error);
                resultado.Errores.Add(e.Message);
            }
            return(resultado);
        }
 public override void Configurar(MODFlujo flujo)
 {
 }
Exemple #4
0
        public MODResultado CrearFlujo([FromBody] MODFlujo mod)
        {
            var negocio = FabricaNegocio.CrearFlujoTrabajoNegocio;

            return(negocio.Registrar(mod));
        }
Exemple #5
0
 public abstract void Configurar(MODFlujo flujo);
Exemple #6
0
 public override void Configurar(MODFlujo flujo)
 {
     this._flujo = flujo;
 }
        public MODResultado Registrar(MODFlujo registro)
        {
            MODResultado resultado = new MODResultado();

            using (var conn = (SqlConnection)ObtenerConexionPrincipal())
            {
                var _reporte = conn.Query("StpFlujoTrabajo", new
                {
                    accion = 1
                }, commandType: System.Data.CommandType.StoredProcedure).FirstOrDefault();

                if (_reporte.IdFlujo == 0)
                {
                    Log.WriteLog(new Exception(_reporte.Error), "SIR.Datos.Concretos.FlujoDeTrabajo - Registrar",
                                 String.Format(@"registro:{0}", System.Text.Json.JsonSerializer.Serialize(registro)),
                                 ErrorType.Error);
                    resultado.Errores.Add("COMUNES.ERRORSERVICIO");
                }
                else
                {
                    List <MODCampos> _tablaTareas = ObtenerCampos <MODFlujo>();
                    var tbFlujos = new List <MODFlujo>();
                    tbFlujos.Add(registro);
                    var _tabla = ConvertirATabla(tbFlujos);
                    InsertarBloque(conn, "##TempFlujos", _tablaTareas, _tabla);

                    _tablaTareas = ObtenerCampos <MODFlujoPrerequisito>();
                    _tabla       = ConvertirATabla(registro.Prerequisitos);
                    InsertarBloque(conn, "##TempFlujosPrerequisito", _tablaTareas, _tabla);

                    _tablaTareas = ObtenerCampos <MODTarea>();
                    var tbTareas = tbFlujos.SelectMany(y => y.Tareas).ToList();

                    tbTareas.ForEach(x =>
                    {
                        if (!String.IsNullOrEmpty(x.ConsultaFinal))
                        {
                            x.ConsultaFinal = Criptografia.Incriptar(x.ConsultaFinal);
                        }
                    });

                    GenerarTablasFlujo(tbTareas, conn);
                    GenerarTablasAudFlujo(tbTareas, conn);
                    _tabla = ConvertirATabla(tbTareas);
                    InsertarBloque(conn, "##TempTareas", _tablaTareas, _tabla);

                    _tablaTareas = ObtenerCampos <MODHomologacion>();
                    var tbHomologaciones = tbTareas.SelectMany(x => x.Homologaciones).ToList();
                    _tabla = ConvertirATabla(tbHomologaciones);
                    InsertarBloque(conn, "##TempHomologaciones", _tablaTareas, _tabla);

                    _tablaTareas = ObtenerCampos <MODCondiciones>();
                    _tabla       = ConvertirATabla(tbHomologaciones.SelectMany(y => y.Condiciones).ToList());
                    InsertarBloque(conn, "##TempCondiciones", _tablaTareas, _tabla);

                    _tablaTareas = ObtenerCampos <MODOrigenDatos>();
                    var tbOrigenDatos = new List <MODOrigenDatos>();
                    foreach (var _ODtarea in tbTareas)
                    {
                        if (_ODtarea.ConfiguracionBD != null && !string.IsNullOrEmpty(_ODtarea.ConfiguracionBD.Nombre))
                        {
                            _ODtarea.ConfiguracionBD.UsuarioBD = Criptografia.Incriptar(_ODtarea.ConfiguracionBD.UsuarioBD);
                            _ODtarea.ConfiguracionBD.ClaveBD   = Criptografia.Incriptar(_ODtarea.ConfiguracionBD.ClaveBD);
                            _ODtarea.ConfiguracionBD.Servidor  = Criptografia.Incriptar(_ODtarea.ConfiguracionBD.Servidor);
                            _ODtarea.ConfiguracionBD.Sid       = Criptografia.Incriptar(_ODtarea.ConfiguracionBD.Sid);
                            _ODtarea.ConfiguracionBD.consulta  = Criptografia.Incriptar(_ODtarea.ConfiguracionBD.consulta);
                            tbOrigenDatos.Add(_ODtarea.ConfiguracionBD);
                        }
                    }
                    _tabla = ConvertirATabla(tbOrigenDatos);
                    InsertarBloque(conn, "##TempOrigenDeDatos", _tablaTareas, _tabla);



                    _reporte = conn.Query("StpFlujoTrabajo", new
                    {
                        accion = 2
                    }, commandType: System.Data.CommandType.StoredProcedure).FirstOrDefault();

                    if (_reporte.IdFlujo == 0)
                    {
                        Log.WriteLog(new Exception(_reporte.Error), "SIR.Datos.Concretos.FlujoDeTrabajo - Registrar",
                                     String.Format(@"registro:{0}", System.Text.Json.JsonSerializer.Serialize(registro)),
                                     ErrorType.Error);
                        resultado.Errores.Add("COMUNES.ERRORSERVICIO");
                    }

                    conn.Close();
                }
            }
            return(resultado);
        }
Exemple #8
0
        public IDictionary <string, object> CrearParametros(MODOrigenDatos configuracion, MODFlujo flujo)
        {
            Dictionary <string, object> resultado = new Dictionary <string, object>();
            var _historico = new MODFlujoHistorico {
                Periodo = FijarPeriodoPorPeriodicidad(flujo.Periodo, flujo.Periodicidad, flujo.DatoPeriodo), Periodicidad = flujo.Periodicidad
            };

            if (configuracion != null)
            {
                switch (flujo.Periodicidad)
                {
                case EnumPeriodicidad.diario:
                    if (configuracion == null || configuracion.TipoOrigen == Comun.Enumeradores.EnumBaseDatosOrigen.SqlServer)
                    {
                        resultado.Add("periodo", _historico.StrPeriodo);
                    }
                    else
                    {
                        resultado.Add("periodo", _historico.StrPeriodoOracle);
                    }
                    break;

                case EnumPeriodicidad.mensual:
                case EnumPeriodicidad.trimestral:
                    if (configuracion.TipoOrigen == Comun.Enumeradores.EnumBaseDatosOrigen.SqlServer && configuracion.Sid == "SIR2")
                    {
                        resultado.Add("periodo", _historico.StrPeriodo);
                    }
                    else
                    {
                        resultado.Add("periodo", _historico.StrPeriodoOracle);
                    }
                    break;

                case EnumPeriodicidad.semestral:
                    break;

                case EnumPeriodicidad.anual:
                    var fechaInicio = new DateTime(Convert.ToInt32(_historico.StrPeriodo), 1, 1, 0, 0, 0);
                    var fechaFinal  = new DateTime(Convert.ToInt32(_historico.StrPeriodo), 12, 31, 23, 59, 59);
                    resultado.Add("fecha_ini", fechaInicio.ToString("yyyyMMdd HH:mm:ss"));
                    resultado.Add("fecha_fin", fechaFinal.ToString("yyyyMMdd HH:mm:ss"));
                    break;

                default:
                    break;
                }
            }
            else
            {
                resultado.Add("periodo", _historico.StrPeriodo);
            }

            return(resultado);
        }
Exemple #9
0
        public List <IDictionary <string, object> > RegistrarCamposControl(List <IDictionary <string, object> > registros, MODFlujo _flujo, int idTarea)
        {
            var _flujohistorico = FabricaDatos.CrearFlujoTrabajoDatos;
            var _historico      = new MODFlujoHistorico
            {
                IdEmpresa          = _flujo.IdEmpresa,
                IdServicio         = _flujo.IdServicio,
                IdElemento         = _flujo.IdElemento,
                TipoFlujo          = _flujo.Tipo,
                IdTarea            = idTarea,
                FlujoFechaCreacion = DateTime.Now,
                TareaFechaCreacion = DateTime.Now,
                IdFlujo            = _flujo.Id,
                Periodicidad       = _flujo.Periodicidad,
                Periodo            = FijarPeriodoPorPeriodicidad(_flujo.Periodo, _flujo.Periodicidad, _flujo.DatoPeriodo)
            };
            var _conteo = _flujohistorico.Historico(ref _historico, Comun.Enumeradores.EnumAccionBaseDatos.Consulta_1);

            foreach (var x in registros)
            {
                if (!x.ContainsKey("IDFLUJO_SIR"))
                {
                    x.Add("IDFLUJO_SIR", _flujo.Id);
                }
                if (!x.ContainsKey("VERSION_SIR"))
                {
                    x.Add("VERSION_SIR", _conteo.DatosAdicionales["Version"]);
                }
                if (!x.ContainsKey("IDCAUSA_SIR"))
                {
                    x.Add("IDCAUSA_SIR", 0);
                }
                if (!x.ContainsKey("DESCRIPCION_SIR"))
                {
                    x.Add("DESCRIPCION_SIR", "");
                }
                if (!x.ContainsKey("PERIODO_SIR"))
                {
                    x.Add("PERIODO_SIR", _historico.StrPeriodo);
                }
                if (!x.ContainsKey("CONFIRMACION_SIR"))
                {
                    x.Add("CONFIRMACION_SIR", 0);
                }
            }
            ;
            return(registros);
        }