예제 #1
0
        public ActionResult GetProduct(string id)
        {
            AsiriContext ctx = new AsiriContext();

            ctx.Configuration.ProxyCreationEnabled = false;
            PROt02_producto model = ctx.PROt02_producto.Find(int.Parse(id));

            //PROt02_producto model = new ProductoBL().GetProduct(int.Parse(id));
            return(Json(model, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
 public ActionResult Edit([Bind(Include = "idProducto,codProducto,codBarra,nombreProductoGenerico,nombreProductoComercial,descProducto,obsvProducto,activo,fecRegistro,fecModificacion,fecEliminacion,idUsuario,idUsuarioModificar,idUsuarioEliminar,idCategoria,idMoneda")] PROt02_producto model)
 {
     if (ModelState.IsValid)
     {
         model.idMoneda = Coin.coin.idMoneda;
         new ProductoBL().Edit(model);
         return(RedirectToAction("Index"));
     }
     ViewBag.idCategoria = new SelectList(db.PROt01_categoria, "idCategoria", "nombreCategoria", model.idCategoria);
     return(View(model));
 }
예제 #3
0
        public void ChangeStatus(PROt02_producto model)
        {
            try
            {
                using (AsiriContext ctx = new AsiriContext())
                {
                    //Condicional para inverir el estado
                    if (model.activo)
                    {
                        //Evalúa si es true, se ser así se guardará como eliminación lógica
                        model.idUsuarioEliminar = "34";
                        model.fecEliminacion    = DateTime.Today;
                        model.activo            = false;
                    }
                    else
                    {
                        //Si el estado fue false se activará y se tomará como una modificación
                        model.idUsuarioModificar = "34";
                        model.fecModificacion    = DateTime.Today;
                        model.activo             = true;
                    }
                    // */*/*/*/   deshabilitado por el momento
                    //ctx.Entry(model).State = EntityState.Modified;
                    //ctx.SaveChanges();
                    int x = model.activo?1:0;
                    // por el momento solo un update ya que genera conflictos, hay que corregir luego
                    ctx.Database.ExecuteSqlCommand($"UPDATE PROt02_producto SET activo = {x} WHERE idProducto = '{model.idProducto}'");
                }
            }
            catch (DbEntityValidationException ex)
            {
                StringBuilder st = new StringBuilder();
                foreach (var eve in ex.EntityValidationErrors)
                {
                    st.AppendLine($"Entidad: \"{eve.Entry.Entity.GetType().Name}\" Estado: \"{eve.Entry.State}\" se tienen los siguientes errores de validación:");
                    foreach (var ve in eve.ValidationErrors)
                    {
                        st.AppendLine($"- Propiedad: \"{ve.PropertyName}\", Error: \"{ve.ErrorMessage}\"");
                    }
                }


                Logger log = LogManager.GetLogger("fileLogger");
                log.Error(ex, st.ToString());
            }
        }
예제 #4
0
        public void Edit(PROt02_producto model)
        {
            using (AsiriContext ctx = new AsiriContext())
            {
                try
                {
                    //Añadir usuario que modifica
                    /******************FALTA UNIR CON LO EL USURIO RE ROLES******************/
                    model.idUsuarioModificar = "34";

                    //Añadir fecha en la que se está editando
                    model.fecModificacion  = DateTime.Today;
                    ctx.Entry(model).State = EntityState.Modified;
                    ctx.SaveChanges();
                }
                catch (Exception ex)
                {
                    Logger log = LogManager.GetLogger("fileLogger");
                    log.Error(ex, "Error al editar el producto");
                }
            }
        }
예제 #5
0
 public void Add(PROt02_producto model)
 {
     using (AsiriContext ctx = new AsiriContext())
     {
         try
         {
             //Añadir la fecha en la que se está registrando el producto
             model.fecRegistro = DateTime.Today;
             //registrar id del usuario que registró el producto
             /***********************************************/
             model.idUsuario = "34";
             //Por defecto al registrarse está activo el producto
             model.activo = true;
             ctx.PROt02_producto.Add(model);
             ctx.SaveChanges();
         }
         catch (Exception ex)
         {
             Logger log = LogManager.GetLogger("fileLogger");
             log.Error(ex, "Error al agregar producto");
         }
     }
 }
예제 #6
0
 public void ChangeStatus(PROt02_producto model)
 {
     new ProductoDA().ChangeStatus(model);
 }
예제 #7
0
 public void Edit(PROt02_producto model)
 {
     new ProductoDA().Edit(model);
 }
예제 #8
0
 public void Add(PROt02_producto model)
 {
     new ProductoDA().Add(model);
 }