public ActionResult CrearVariable(string reclamoId, string itemId)
        {
            var model = new VariableDeItemDto {
                ReclamoId = reclamoId, ItemDeReclamoId = itemId
            };

            ViewBag.Variables = _context.Variables.ToList();

            ViewBag.Condiciones = new List <Condiciones>
            {
                new Condiciones {
                    Text = "==", Value = "=="
                },
                new Condiciones {
                    Text = "<", Value = "<"
                },
                new Condiciones {
                    Text = ">", Value = ">"
                },
                new Condiciones {
                    Text = "<=", Value = "<="
                },
                new Condiciones {
                    Text = ">=", Value = ">="
                },
                new Condiciones {
                    Text = "!=", Value = "!="
                },
            };
            return(PartialView("_VariableForm", model));
        }
        public JsonResult ObtenerVariablesDeItem(string reclamoId, string itemId)
        {
            try
            {
                var variables = (from r in _context.VariablesDeItem
                                 .Include(x => x.Variable)
                                 where r.ReclamoId == reclamoId && r.ItemDeReclamoId == itemId
                                 select new VariableDeItemDto
                {
                    VariableDeItemId = r.VariableDeItemId,
                    ReclamoId = r.ReclamoId,
                    ItemDeReclamoId = r.ItemDeReclamoId,
                    VariableCodigo = r.VariableCodigo,
                    VariableNombre = r.Variable.VariableNombre,
                    CondicionLogica = r.CondicionLogica,
                    ValorAEvaluar = r.ValorAEvaluar,
                    Accion = 1,
                    Mensaje = "se cargaron correctament los datos!"
                }).ToList();
                if (variables.Count == 0)
                {
                    var tmp = new VariableDeItemDto {
                        Accion = 0, Mensaje = "No se encontraron registros!"
                    };
                    variables.Add(tmp);
                }

                return(Json(variables, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                List <VariableDeItemDto> list = new List <VariableDeItemDto>();
                VariableDeItemDto        obj  = new VariableDeItemDto()
                {
                    Accion = 0, Mensaje = ex.Message.ToString()
                };
                list.Add(obj);
                return(Json(list, JsonRequestBehavior.AllowGet));
            }
        }
        public JsonResult GuardarVariablesDeItem(VariableDeItemDto variable)
        {
            var varEnDb = _context.VariablesDeItem
                          .SingleOrDefault(x => x.VariableDeItemId == variable.VariableDeItemId);

            try
            {
                if (!ModelState.IsValid)
                {
                    variable.Accion  = 0;
                    variable.Mensaje = "los datos enviados no son correctos, verifiquelos e intente de nuevo";
                    return(Json(variable, JsonRequestBehavior.AllowGet));
                }

                if (varEnDb == null)
                {
                    _context.VariablesDeItem.Add(Mapper.Map <VariableDeItemDto, VariableDeItem>(variable));
                }
                else
                {
                    varEnDb.VariableCodigo  = variable.VariableCodigo;
                    varEnDb.CondicionLogica = variable.CondicionLogica;
                    varEnDb.ValorAEvaluar   = variable.ValorAEvaluar;
                    varEnDb.VariableNombre  = variable.VariableNombre;
                }

                variable.Accion  = 1;
                variable.Mensaje = "los datos se guardaron exitosamente!";
                _context.SaveChanges();

                return(Json(variable, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                variable.Accion  = 0;
                variable.Mensaje = ex.Message.ToString();
                return(Json(variable, JsonRequestBehavior.AllowGet));
            }
        }