Esempio n. 1
0
        public ActionResult Create(AlertaViewModel modelView)
        {
            int pagina_id = 541;//ID EN BASE DE DATOS

            try
            {
                WARNINGP            warningP     = modelView.alerta;
                List <WARNINGPT>    warningts    = modelView.alertaMensajes;
                List <WARNING_COND> warningconds = modelView.alertaCondiciones;

                warningP.ID          = warningP.ID.Replace(" ", "_");
                warningP.ACCION      = "focusout";
                warningP.CAMPOVAL_ID = warningP.CAMPO_ID;

                if (!ValidarAlertaExistente(warningP, warningconds))
                {
                    throw new Exception();
                }
                //Guardar Alerta
                db.WARNINGPs.Add(warningP);
                //Guardar Mensajes de la Alerta
                warningts.ForEach(x =>
                {
                    x.TAB_ID     = warningP.TAB_ID;
                    x.WARNING_ID = warningP.ID;
                    db.WARNINGPTs.Add(x);
                });
                //Guardar Condiciones de la Alerta
                warningconds.ForEach(x =>
                {
                    if (x.CONDICION_ID != null && x.VALOR_COMP != null)
                    {
                        x.TAB_ID     = warningP.TAB_ID;
                        x.WARNING_ID = warningP.ID;
                        x.ACTIVO     = true;
                        db.WARNING_COND.Add(x);
                    }
                });
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                ObtenerConfPage(pagina_id);
                CargarSelectList(ref modelView, new string[] { CMB_SOCIEDADES, CMB_TIPOSSOLICITUD, CMB_TABS, CMB_TIPOS, CMB_CAMPOS }, modelView.alerta.TAB_ID);
                return(View(modelView));
            }
        }
Esempio n. 2
0
        public ICollection <AlertaViewModel> BuscarAlerta(AlertaViewModel alertaViewModel)
        {
            var lista = new List <AlertaViewModel>();

            if (alertaViewModel == null)
            {
                return(lista);
            }
            var produto = _mapper.Map <IList <AlertaViewModel> >(_alertaService.BuscarAlerta(alertaViewModel.Descricao, alertaViewModel.CondicaoDeAlerta, alertaViewModel.StatusAlerta));

            if (produto != null)
            {
                lista.AddRange(produto);
            }
            return(lista);
        }
Esempio n. 3
0
 // GET: DatosCandidatos/Create
 public IActionResult Create(int?alerta)
 {
     if (alerta.HasValue && alerta.Value == 1)
     {
         var alertaViewModel = new AlertaViewModel
         {
             TipoAlerta = "primary",
             Titulo     = "¡Completa tus datos!",
             Mensaje    = "Por favor completa tus datos para continuar."
         };
         ViewData["Alerta"] = alertaViewModel;
     }
     ViewData["Paises"]  = new SelectList(_context.Paises, "Id", "Nombre");
     ViewData["Generos"] = new SelectList(_context.Generos, "Id", "Nombre");
     return(View());
 }
 public ActionResult Create(AlertaViewModel alertaViewModel)
 {
     if (!ModelState.IsValid)
     {
         return(View(alertaViewModel));
     }
     _alertaAppService.Adicionar(alertaViewModel);
     if (Notifications.HasNotifications())
     {
         ValidarErrosDominio();
         return(View(alertaViewModel));
     }
     TempData["AlertMessage"] = new List <string>()
     {
         "Alerta cadastrado com sucesso!"
     };
     TempData["Mensagem"] = "Sucesso";
     return(RedirectToAction("Estoque", "Home"));
 }
        // GET: Alertas
        public ActionResult Index()
        {
            int pagina_id = 540;//ID EN BASE DE DATOS

            FnCommon.ObtenerConfPage(db, pagina_id, User.Identity.Name, this.ControllerContext.Controller);

            string          spras_id  = ViewBag.spras_id;
            AlertaViewModel modelView = new AlertaViewModel
            {
                alertas           = db.WARNINGPs.ToList(),
                alertaMensajes    = db.WARNINGPTs.Where(x => x.SPRAS_ID == spras_id).ToList(),
                alertaCondiciones = db.WARNING_COND.Where(x => x.ACTIVO).ToList(),
                tabCampos         = db.TAB_CAMPO
                                    .Join(db.TEXTOes, tc => tc.CAMPO_ID, te => te.CAMPO_ID, (ta, te) => te)
                                    .Where(x => x.SPRAS_ID == spras_id && x.PAGINA_ID == 202).ToList()
            };

            CargarSelectList(ref modelView, new string[] { CMB_TABS, CMB_CONDVALORES });
            return(View(modelView));
        }
        public ActionResult RetornarBusca(AlertaViewModel alertaViewModel)
        {
            var lista = _alertaAppService.BuscarAlerta(alertaViewModel);

            return(PartialView("_ListaDeAlertas", lista));
        }
        public ActionResult Create(AlertaViewModel modelView)
        {
            int pagina_id = 541;//ID EN BASE DE DATOS

            try
            {
                WARNINGP warningpAux = modelView.alerta;
                bool     reverso     = (warningpAux.TSOL_ID == "REV");
                string   id_padre    = "";
                string   tipo_padre  = "";
                string   spras_id    = FnCommon.ObtenerSprasId(db, User.Identity.Name);
                if (!reverso && warningpAux.TSOL_ID.Contains("|"))
                {
                    id_padre   = warningpAux.TSOL_ID.Split('|')[0];
                    tipo_padre = warningpAux.TSOL_ID.Split('|')[1];
                }
                List <SelectTreeItem> tiposSolicitudesT = tiposSolicitudesDao.ObtenerItemsTSOLT(id_padre, tipo_padre, spras_id, reverso);
                List <WARNINGP>       warningpListAux   = new List <WARNINGP>();
                bool valido = true;
                foreach (string sociedad_id in modelView.sociedadesSelected)
                {
                    foreach (SelectTreeItem tsolt in tiposSolicitudesT)
                    {
                        WARNINGP warningP = new WARNINGP
                        {
                            ID          = warningpAux.ID.Replace(" ", "_") + "_" + sociedad_id + "_" + tsolt.value,
                            DESCR       = warningpAux.DESCR,
                            SOCIEDAD_ID = sociedad_id,
                            TIPO        = warningpAux.TIPO,
                            TSOL_ID     = tsolt.value,
                            CAMPOVAL_ID = warningpAux.CAMPO_ID,
                            PAGINA_ID   = warningpAux.PAGINA_ID,
                            CAMPO_ID    = warningpAux.CAMPO_ID,
                            ACCION      = "focusout",
                            TAB_ID      = warningpAux.TAB_ID
                        };
                        warningpListAux.Add(warningP);
                        if (!ValidarAlertaExistente(warningP) || !ValidarCondExistente(warningP, modelView.alertaCondiciones))
                        {
                            valido = false;
                        }
                    }
                }
                if (!valido)
                {
                    throw (new Exception());
                }
                List <WARNING_COND> warningconds = modelView.alertaCondiciones;
                List <WARNINGPT>    warningts    = modelView.alertaMensajes;
                foreach (WARNINGP warningP in warningpListAux)
                {
                    //Guardar Alerta
                    db.WARNINGPs.Add(warningP);

                    //Guardar Mensajes
                    warningts.ForEach(x =>
                    {
                        x.TAB_ID     = warningP.TAB_ID;
                        x.WARNING_ID = warningP.ID;
                        db.WARNINGPTs.Add(new WARNINGPT {
                            SPRAS_ID   = x.SPRAS_ID,
                            TAB_ID     = warningP.TAB_ID,
                            WARNING_ID = warningP.ID,
                            TXT100     = x.TXT100
                        });
                    });

                    //Guardar Condiciones
                    warningconds.ForEach(x =>
                    {
                        if (x.CONDICION_ID != null && x.VALOR_COMP != null)
                        {
                            db.WARNING_COND.Add(new WARNING_COND {
                                TAB_ID       = warningP.TAB_ID,
                                WARNING_ID   = warningP.ID,
                                POS          = x.POS,
                                ANDOR        = x.ANDOR,
                                ORAND        = x.ORAND,
                                CONDICION_ID = x.CONDICION_ID,
                                ACTIVO       = true,
                                VALOR_COMP   = (x.VALOR_COMP == "v"?"": x.VALOR_COMP)
                            });
                        }
                    });
                    db.SaveChanges();
                }

                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                Log.ErrorLogApp(e, "Alertas", "Create");
                FnCommon.ObtenerConfPage(db, pagina_id, User.Identity.Name, this.ControllerContext.Controller);
                CargarSelectList(ref modelView, new string[] {
                    CMB_SOCIEDADES,
                    CMBTREE_TIPOSSOLICITUD,
                    CMB_TABS,
                    CMB_TIPOS,
                    CMB_CAMPOS,
                    CMB_CONDCAMPOS,
                    CMB_CONDVALORES
                },
                                 modelView.alerta.TAB_ID,
                                 true,
                                 modelView.alertaCondiciones[0].CONDICION_ID,
                                 modelView.alertaCondiciones[1].CONDICION_ID);
                return(View(modelView));
            }
        }
        void CargarSelectList(ref AlertaViewModel modelView, string[] combos, string tab_id = null, bool?activo = null, int?cond_id = null, int?cond_id1 = null)
        {
            string spras_id = FnCommon.ObtenerSprasId(db, User.Identity.Name);

            for (int i = 0; i < combos.Length; i++)
            {
                string[] combosSplit = combos[i].Split(',');
                string   combo       = combosSplit[0];
                string   id          = combosSplit.Length > 1 ? combosSplit[1] : null;
                int?     idAux       = null;
                switch (combo)
                {
                case CMB_SOCIEDADES:
                    modelView.sociedades = sociedadesDao.ComboSociedades(TATConstantes.ACCION_LISTA_SOCIEDADES, id);
                    break;

                case CMBTREE_TIPOSSOLICITUD:
                    modelView.treeTiposSolicitud = tiposSolicitudesDao.TreePadresTiposSolicitudes(spras_id);
                    break;

                case CMB_TIPOSSOLICITUD:
                    modelView.cmbTiposSolicitud = tiposSolicitudesDao.ComboTiposSolicitudes(spras_id, id);
                    break;

                case CMB_TABS:
                    modelView.tabs = tabsDao.ComboTabs(spras_id, activo, id);
                    break;

                case CMB_CAMPOS:
                    modelView.campos = camposDao.ComboCamposPorTabId(spras_id, tab_id, activo, id);
                    break;

                case CMB_TIPOS:
                    int    pagina_id = 540; //ID EN BASE DE DATOS
                    string error     = FnCommon.ObtenerTextoMnj(db, pagina_id, "lbl_error", User.Identity.Name);
                    string alerta    = FnCommon.ObtenerTextoMnj(db, pagina_id, "lbl_alerta", User.Identity.Name);
                    modelView.tipos = new List <SelectListItem> {
                        new SelectListItem {
                            Value = "A", Text = "A - " + alerta
                        },
                        new SelectListItem {
                            Value = "E", Text = "E - " + error
                        }
                    };
                    break;

                case CMB_CONDCAMPOS:
                    idAux = (id == null ? null : (int?)int.Parse(id));
                    modelView.condCampos = db.CONDICIONs
                                           .Where(x => x.ACTIVO == true && (x.COND == "=" || x.COND == "!=" || x.COND == ">" || x.COND == "<"))
                                           .Join(db.CONDICIONTs, c => c.ID, ct => ct.CONDICION_ID, (c, ct) => ct)
                                           .Where(x => x.SPRAS_ID == spras_id && (x.CONDICION_ID == idAux || idAux == null))
                                           .Select(x => new SelectListItem
                    {
                        Value = x.CONDICION_ID.ToString(),
                        Text  = x.TXT050
                    }).ToList();
                    modelView.condCampos1 = modelView.condCampos
                                            .Select(x => new SelectListItem
                    {
                        Value = x.Value,
                        Text  = x.Text
                    }).ToList();
                    break;

                case CMB_CONDVALORES:
                    idAux = (id == null ? null : (int?)int.Parse(id));
                    List <SelectListItem> condValoresAux = db.CONDICIONs
                                                           .Where(x => x.ACTIVO == true && (x.COND == "e" || x.COND == "dec" || x.COND == "0" || x.COND == "n" || x.COND == "c" || x.COND == ""))
                                                           .Join(db.CONDICIONTs, c => c.ID, ct => ct.CONDICION_ID, (c, ct) => ct)
                                                           .Where(x => x.SPRAS_ID == spras_id && (x.CONDICION_ID == idAux || idAux == null))
                                                           .Select(x => new SelectListItem
                    {
                        Value = (x.CONDICION.COND == "" ? "v" : x.CONDICION.COND),
                        Text  = x.TXT050
                    }).ToList();

                    modelView.condValores = ObtenerCondValores(condValoresAux, cond_id);

                    if (cond_id1 != null)
                    {
                        modelView.condValores1 = ObtenerCondValores(condValoresAux, cond_id1);
                    }

                    break;

                default:
                    break;
                }
            }
        }
        public ActionResult Edit(AlertaViewModel modelView)
        {
            int  pagina_id    = 542;//ID EN BASE DE DATOS
            bool esAlertaGral = false;

            try
            {
                WARNINGP            warningP     = modelView.alerta;
                List <WARNINGPT>    warningts    = modelView.alertaMensajes;
                List <WARNING_COND> warningconds = modelView.alertaCondiciones;

                esAlertaGral = (modelView.alerta.SOCIEDAD_ID == null || modelView.alerta.TSOL_ID == null || modelView.alerta.ID == WARNING_ID_EX);
                if (!esAlertaGral && !ValidarCondExistente(warningP, warningconds))
                {
                    throw(new Exception());
                }
                //Guardar Alerta
                db.Entry(warningP).State = EntityState.Modified;

                //Guardar Mensajes
                warningts.ForEach(x =>
                {
                    if (x.TAB_ID == null && x.WARNING_ID == null)
                    {
                        x.TAB_ID     = warningP.TAB_ID;
                        x.WARNING_ID = warningP.ID;
                        db.WARNINGPTs.Add(x);
                    }
                    else
                    {
                        db.Entry(x).State = EntityState.Modified;
                    }
                });
                if (!esAlertaGral)
                {
                    // Eliminar Condiciones
                    db.WARNING_COND.RemoveRange(db.WARNING_COND.Where(x => x.WARNING_ID == warningP.ID && x.TAB_ID == warningP.TAB_ID));
                    db.SaveChanges();
                    //Guardar  Condiciones
                    warningconds.ForEach(x =>
                    {
                        if (x.VALOR_COMP == "v")
                        {
                            x.VALOR_COMP = "";
                        }
                        if (x.CONDICION_ID != null && x.VALOR_COMP != null)
                        {
                            x.TAB_ID     = warningP.TAB_ID;
                            x.WARNING_ID = warningP.ID;
                            x.ACTIVO     = true;
                            db.WARNING_COND.Add(x);
                        }
                    });
                }
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            catch (Exception)
            {
                FnCommon.ObtenerConfPage(db, pagina_id, User.Identity.Name, this.ControllerContext.Controller);
                CargarSelectList(ref modelView, new string[] {
                    CMB_TIPOS,
                    CMB_SOCIEDADES + "," + modelView.alerta.SOCIEDAD_ID,
                    CMB_TIPOSSOLICITUD + "," + modelView.alerta.TSOL_ID,
                    CMB_TABS + "," + modelView.alerta.TAB_ID,
                    CMB_CAMPOS + "," + modelView.alerta.CAMPO_ID,
                    CMB_CONDCAMPOS, CMB_CONDVALORES
                },
                                 modelView.alerta.TAB_ID,
                                 (esAlertaGral ? null : (bool?)true),
                                 (esAlertaGral ? null : modelView.alertaCondiciones[0].CONDICION_ID),
                                 (esAlertaGral ? null : modelView.alertaCondiciones[1].CONDICION_ID));
                return(View(modelView));
            }
        }
Esempio n. 10
0
        void CargarSelectList(ref AlertaViewModel modelView, string[] combos, string tab_id = null)
        {
            USUARIO user     = ObtenerUsuario();
            string  spras_id = user.SPRAS_ID;

            for (int i = 0; i < combos.Length; i++)
            {
                string[] combosSplit = combos[i].Split(',');
                string   combo       = combosSplit[0];
                string   id          = combosSplit.Length > 1 ? combosSplit[1] : null;
                int?     idAux       = null;
                switch (combo)
                {
                case CMB_SOCIEDADES:
                    modelView.sociedades = db.SOCIEDADs
                                           .Where(x => x.BUKRS == id || id == null)
                                           .Select(x => new SelectListItem
                    {
                        Value = x.BUKRS,
                        Text  = x.BUKRS
                    }).ToList();
                    break;

                case CMB_TIPOSSOLICITUD:
                    modelView.tiposSolicitud = db.TSOLs
                                               .Join(db.TSOLTs, s => s.ID, st => st.TSOL_ID, (s, st) => st)
                                               .Where(x => x.SPRAS_ID == spras_id && (x.TSOL_ID == id || id == null))
                                               .Select(x => new SelectListItem
                    {
                        Value = x.TSOL_ID,
                        Text  = (x.TSOL_ID + "-" + x.TXT50)
                    }).ToList();
                    break;

                case CMB_TABS:
                    modelView.tabs = db.TABs
                                     .Join(db.TEXTOes, ta => ta.ID, te => te.CAMPO_ID, (ta, te) => te)
                                     .Where(x => x.SPRAS_ID == spras_id && x.PAGINA_ID == 202 && (x.CAMPO_ID == id || id == null))
                                     .Select(x => new SelectListItem
                    {
                        Value = x.CAMPO_ID,
                        Text  = x.TEXTOS
                    }).ToList();
                    break;

                case CMB_CAMPOS:
                    modelView.campos = db.TAB_CAMPO
                                       .Where(x => x.TAB_ID == tab_id)
                                       .Join(db.TEXTOes, tc => tc.CAMPO_ID, te => te.CAMPO_ID, (ta, te) => te)
                                       .Where(x => x.SPRAS_ID == spras_id && x.PAGINA_ID == 202 && (x.CAMPO_ID == id || id == null))
                                       .Select(x => new SelectListItem
                    {
                        Value = x.CAMPO_ID,
                        Text  = x.TEXTOS
                    }).ToList();
                    break;

                case CMB_TIPOS:
                    int    pagina_id = 540; //ID EN BASE DE DATOS
                    string error     = ObtenerTextoMnj(pagina_id, "lbl_error");
                    string alerta    = ObtenerTextoMnj(pagina_id, "lbl_alerta");
                    modelView.tipos = new List <SelectListItem> {
                        new SelectListItem {
                            Value = "A", Text = "A - " + alerta
                        },
                        new SelectListItem {
                            Value = "E", Text = "E - " + error
                        }
                    };
                    break;

                case CMB_CONDCAMPOS:
                    idAux = (id == null ? null : (int?)int.Parse(id));
                    modelView.condCampos = db.CONDICIONs
                                           .Where(x => x.ACTIVO == true && (x.COND == "=" || x.COND == "!=" || x.COND == ">" || x.COND == "<"))
                                           .Join(db.CONDICIONTs, c => c.ID, ct => ct.CONDICION_ID, (c, ct) => ct)
                                           .Where(x => x.SPRAS_ID == spras_id && (x.CONDICION_ID == idAux || idAux == null))
                                           .Select(x => new SelectListItem
                    {
                        Value = x.CONDICION_ID.ToString(),
                        Text  = x.TXT050
                    }).ToList();
                    modelView.condCampos1 = modelView.condCampos;
                    break;

                case CMB_CONDVALORES:
                    idAux = (id == null ? null : (int?)int.Parse(id));
                    modelView.condValores = db.CONDICIONs
                                            .Where(x => x.ACTIVO == true && (x.COND == "e" || x.COND == "dec" || x.COND == "0" || x.COND == "n" || x.COND == "c" || x.COND == ""))
                                            .Join(db.CONDICIONTs, c => c.ID, ct => ct.CONDICION_ID, (c, ct) => ct)
                                            .Where(x => x.SPRAS_ID == spras_id && (x.CONDICION_ID == idAux || idAux == null))
                                            .Select(x => new SelectListItem
                    {
                        Value = x.CONDICION.COND,
                        Text  = x.TXT050
                    }).ToList();
                    modelView.condValores1 = modelView.condValores;
                    break;

                default:
                    break;
                }
            }
        }