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) { }
public MODResultado CrearFlujo([FromBody] MODFlujo mod) { var negocio = FabricaNegocio.CrearFlujoTrabajoNegocio; return(negocio.Registrar(mod)); }
public abstract void Configurar(MODFlujo flujo);
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); }
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); }
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); }