public JsonResult ObtenerItemsDeReclamo(string id)
        {
            try
            {
                var items = (from r in _context.ItemsDeReclamo
                             where r.ReclamoId == id
                             select new ItemDeReclamoDto
                {
                    ReclamoId = r.ReclamoId,
                    ItemDeReclamoId = r.ItemDeReclamoId,
                    ItemDeReclamoDescripcion = r.ItemDeReclamoDescripcion,
                    Accion = 1,
                    Mensaje = "se cargaron correctament los datos!"
                }).ToList();
                if (items.Count == 0)
                {
                    var tmp = new ItemDeReclamoDto {
                        Accion = 0, Mensaje = "No se encontraron registros!"
                    };
                    items.Add(tmp);
                }

                return(Json(items, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                List <ItemDeReclamoDto> list = new List <ItemDeReclamoDto>();
                ItemDeReclamoDto        obj  = new ItemDeReclamoDto()
                {
                    Accion = 0, Mensaje = ex.Message.ToString()
                };
                list.Add(obj);
                return(Json(list, JsonRequestBehavior.AllowGet));
            }
        }
        public ActionResult CrearItem(string reclamoId)
        {
            ViewBag.Tipos     = _context.ItemsDeConfiguracion.Where(x => x.ConfigID == "TANLD");
            ViewBag.Segmentos = _context.ItemsDeConfiguracion.Where(x => x.ConfigID == "SEGM");
            var model = new ItemDeReclamoDto {
                ReclamoId = reclamoId
            };

            return(PartialView("_ItemForm", model));
        }
        public JsonResult GuardarItemsDeReclamo(ItemDeReclamoDto item)
        {
            var itemEnDb = _context.ItemsDeReclamo
                           .SingleOrDefault(x => x.ReclamoId == item.ReclamoId &&
                                            x.ItemDeReclamoId == item.ItemDeReclamoId);

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

                if (itemEnDb == null)
                {
                    _context.ItemsDeReclamo.Add(Mapper.Map <ItemDeReclamoDto, ItemDeReclamo>(item));
                }
                else
                {
                    itemEnDb.ItemDeReclamoDescripcion = item.ItemDeReclamoDescripcion;
                }

                _context.SaveChanges();

                item.Accion  = 1;
                item.Mensaje = "datos guardados exitosamente!";
                return(Json(item, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                item.Accion  = 0;
                item.Mensaje = ex.Message.ToString();
                return(Json(item, JsonRequestBehavior.AllowGet));
            }
        }