Beispiel #1
0
        public JsonResult GuardarEdit(producto model, int[] patologias_selec = null, int[] categorias_selec = null)
        {
            var respuesta = new ResponseModel
            {
                Respuesta      = true,
                Redirect       = "/Productos/Index/",
                Error          = "",
                ErrorAdicional = "",
                ErrorEntidad   = ""
            };

            if (patologias_selec == null)
            {
                ModelState.AddModelError("patologia", "Debe seleccionar por lo menos una patologia");
                respuesta.Respuesta = false;
                respuesta.Error     = "Debe seleccionar por lo menos una patologia";
            }

            if (categorias_selec == null)
            {
                ModelState.AddModelError("categoria", "Debe seleccionar por lo menos una categoria");
                respuesta.Respuesta      = false;
                respuesta.ErrorAdicional = "Debe seleccionar por lo menos una categoria";
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var obtener = new producto();
                    obtener = db.producto.Where(x => x.id_producto == model.id_producto).SingleOrDefault();

                    obtener.nombre_producto      = model.nombre_producto;
                    obtener.descripcion_producto = model.descripcion_producto;
                    obtener.codigo_producto      = model.codigo_producto;
                    obtener.contiene             = model.contiene;
                    obtener.precio_venta         = model.precio_venta;
                    obtener.undxcajas            = model.undxcajas;

                    obtener.id_generico     = model.id_generico;
                    obtener.id_laboratorio  = model.id_laboratorio;
                    obtener.id_presentacion = model.id_presentacion;
                    obtener.id_umedida      = model.id_umedida;

                    //db.Entry(model).State = EntityState.Modified;
                    //Eliminar antiguas patologias y categorias
                    var obtenerCat = db.producto_categoria.Where(x => x.id_producto == model.id_producto).ToList();
                    var obtenerPat = db.producto_patologia.Where(x => x.id_producto == model.id_producto).ToList();
                    for (int i = 0; i < obtenerCat.Count; i++)
                    {
                        producto_categoria categoria_P = db.producto_categoria.Find(obtenerCat[i].id_productocategoria);
                        db.producto_categoria.Remove(categoria_P);
                    }
                    for (int i = 0; i < obtenerPat.Count; i++)
                    {
                        producto_patologia patologia_P = db.producto_patologia.Find(obtenerPat[i].id_productopatologia);
                        db.producto_patologia.Remove(patologia_P);
                    }
                    ///////Agregar las nuevas patologias y categorias
                    foreach (var p in patologias_selec)
                    {
                        var pat = new producto_patologia {
                            id_patologia = p, id_producto = model.id_producto
                        };
                        db.producto_patologia.Add(pat);
                    }
                    foreach (var c in categorias_selec)
                    {
                        var cat = new producto_categoria {
                            id_categoria = c, id_producto = model.id_producto
                        };
                        db.producto_categoria.Add(cat);
                    }
                    db.SaveChanges();
                }
                catch (Exception)
                {
                    VerificacionDuplicado verif = new VerificacionDuplicado();
                    bool rptacodigo;
                    rptacodigo = verif.VerificarProductoCodigoEdit(model.codigo_producto, model.id_producto);
                    if (rptacodigo)
                    {
                        ModelState.AddModelError("codigo_producto", "Ya existe un producto con este codigo, agruegue uno diferente");
                        respuesta.ErrorEntidad = "Ya existe un producto con este codigo" + model.codigo_producto + ", agruegue uno diferente";
                    }
                    else
                    {
                        ModelState.AddModelError("errorProducto", "Hubo un error al guardar");
                        respuesta.ErrorEntidad = "Ocurrio un error al Actualizar";
                    }
                    respuesta.Respuesta = false;
                    //throw;
                }
            }
            else
            {
                respuesta.Respuesta = false;
            }


            return(Json(respuesta));
        }
Beispiel #2
0
        public JsonResult Guardar(producto model, int[] patologias_selec = null, int[] categorias_selec = null)
        {
            var respuesta = new ResponseModel
            {
                Respuesta      = true,
                Redirect       = "/Productos/Index/",
                Error          = "",
                ErrorAdicional = "",
                ErrorEntidad   = ""
            };

            if (patologias_selec != null)
            {
                //foreach (var c in patologias_selec)
                //    model.producto_patologia.Add(new producto_patologia { id = c });
            }
            else
            {
                ModelState.AddModelError("patologia", "Debe seleccionar por lo menos una patologia");
                respuesta.Respuesta = false;
                respuesta.Error     = "Debe seleccionar por lo menos una patologia";
            }
            if (categorias_selec != null)
            {
            }
            else
            {
                ModelState.AddModelError("categoria", "Debe seleccionar por lo menos una categoria");
                respuesta.Respuesta      = false;
                respuesta.ErrorAdicional = "Debe seleccionar por lo menos una categoria";
            }

            if (ModelState.IsValid)
            {
                try
                {
                    model.estado = true;
                    model.stock  = 0;
                    db.producto.Add(model);
                    foreach (var p in patologias_selec)
                    {
                        var pat = new producto_patologia {
                            id_patologia = p
                        };
                        db.producto_patologia.Add(pat);
                    }
                    foreach (var c in categorias_selec)
                    {
                        var cat = new producto_categoria {
                            id_categoria = c
                        };
                        db.producto_categoria.Add(cat);
                    }
                    db.SaveChanges();
                }
                catch (Exception)
                {
                    VerificacionDuplicado verif = new VerificacionDuplicado();
                    bool rptacodigo;
                    rptacodigo          = verif.VerificarProductoCodigo(model.codigo_producto);
                    respuesta.Respuesta = false;
                    if (rptacodigo)
                    {
                        ModelState.AddModelError("codigo_producto", "Ya existe un producto con este codigo, agruegue uno diferente");
                        respuesta.ErrorEntidad = "Ya existe un producto con este codigo" + model.codigo_producto + ", agruegue uno diferente";
                    }
                    else
                    {
                        ModelState.AddModelError("errorProducto", "Hubo un error al guardar");
                    }
                }
            }

            return(Json(respuesta));
        }