示例#1
0
        public ActionResult DeleteConfirmed(int id)
        {
            TBL_DETALLE_LOTE tBL_DETALLE_LOTE = db.TBL_DETALLE_LOTE.Find(id);

            db.TBL_DETALLE_LOTE.Remove(tBL_DETALLE_LOTE);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#2
0
        public ActionResult Create([Bind(Include = "DESCRIPCION,COSTO_PRODUCCION,FECHA_PRODUC")] TBL_LOTE_PRODUCCION tBL_LOTE_PRODUCCION)
        {
            //ID_LOTE,FECHA_REGISTRO,ABIERTO,ID_USU
            Utilerias.UtileriaComun aux = new Utilerias.UtileriaComun();
            tBL_LOTE_PRODUCCION.ID_LOTE = aux.GeneraIdProduccion();
            if (tBL_LOTE_PRODUCCION.ID_LOTE.Length == 8)
            {
                tBL_LOTE_PRODUCCION.FECHA_REGISTRO = DateTime.Now;
                tBL_LOTE_PRODUCCION.ABIERTO        = true;
                tBL_LOTE_PRODUCCION.ID_USER_ASP    = HttpContext.User.Identity.Name;
                tBL_LOTE_PRODUCCION.CANCELADO      = false;
                var idProducto = db.TBL_PRESENTACIONES_PRODUCT.Where(x => x.DESCRIPCION.Equals(tBL_LOTE_PRODUCCION.DESCRIPCION)).Select(x => x.ID_PRODUCTO).ToList();
                tBL_LOTE_PRODUCCION.ID_PRODUC = idProducto[0];

                if (tBL_LOTE_PRODUCCION.COSTO_PRODUCCION == null)
                {
                    tBL_LOTE_PRODUCCION.COSTO_PRODUCCION = 0;
                }

                DetalleLoteController dlote        = new DetalleLoteController();
                TBL_DETALLE_LOTE      modelDetalle = new TBL_DETALLE_LOTE();
                modelDetalle.ID_LOTE     = tBL_LOTE_PRODUCCION.ID_LOTE;
                modelDetalle.ID_USER_ASP = HttpContext.User.Identity.Name;
                modelDetalle.CANTIDAD    = 0;
                modelDetalle.DISPONIBLE  = true;

                if (ModelState.IsValid)
                {
                    db.TBL_LOTE_PRODUCCION.Add(tBL_LOTE_PRODUCCION);
                    db.SaveChanges();
                    if (dlote.Create2(modelDetalle))
                    {
                        ViewBag.Confirma = "<div class=\"alert alert-success\"><button type=\"button\" class=\"close\" data-dismiss=\"alert\">&times;</button><strong>" + tBL_LOTE_PRODUCCION.ID_LOTE + " generado exitosamente.</strong> </div>";
                        return(RedirectToAction("Index"));
                    }
                    else
                    if (DeleteConfirmed2(tBL_LOTE_PRODUCCION.ID_LOTE))
                    {
                        ViewBag.Confirma = "<div class=\"alert alert-danger\"><button type=\"button\" class=\"close\" data-dismiss=\"alert\">&times;</button><strong>Error al crear nuevo LOTE, favor de intentarlo de nuevo.</strong> </div>";
                        return(RedirectToAction("Index"));
                    }
                }
            }
            else
            {
                ViewBag.ID_PRODUC = new SelectList(db.TBL_PRODUCTOS, "ID_PRODUCTO", "DESCRIPCION", tBL_LOTE_PRODUCCION.ID_PRODUC);
                return(View(tBL_LOTE_PRODUCCION));
            }

            ViewBag.ID_PRODUC = new SelectList(db.TBL_PRODUCTOS, "ID_PRODUCTO", "DESCRIPCION", tBL_LOTE_PRODUCCION.ID_PRODUC);
            return(View(tBL_LOTE_PRODUCCION));
        }
示例#3
0
        public ActionResult Edit([Bind(Include = "ID_DETALLE,CANTIDAD")] TBL_DETALLE_LOTE tBL_DETALLE_LOTE)
        {
            var original = db.TBL_DETALLE_LOTE.AsNoTracking().Where(x => x.ID_DETALLE == tBL_DETALLE_LOTE.ID_DETALLE).ToList();

            if (original.Count > 0)
            {
                tBL_DETALLE_LOTE.ID_LOTE        = original[0].ID_LOTE;
                tBL_DETALLE_LOTE.FECHA_REGISTRO = DateTime.Now;
                tBL_DETALLE_LOTE.DISPONIBLE     = false;
                tBL_DETALLE_LOTE.VEDIDOS        = original[0].VEDIDOS;
                tBL_DETALLE_LOTE.ID_USER_ASP    = HttpContext.User.Identity.Name;
                //tBL_DETALLE_LOTE.TBL_LOTE_PRODUCCION = original[0].TBL_LOTE_PRODUCCION;

                if (ModelState.IsValid)
                {
                    db.Entry(tBL_DETALLE_LOTE).State = EntityState.Modified;
                    //se general carga la entrada de mercancia en la tabla STOCK
                    var    idProducto    = (db.TBL_LOTE_PRODUCCION.AsNoTracking().Where(x => x.ID_LOTE == tBL_DETALLE_LOTE.ID_LOTE).Select(x => x.ID_PRODUC).ToList());
                    int    idAlmacen     = 2;
                    string produc        = idProducto[0];
                    var    originalStock = (db.TBL_STOCK.Where(x => x.ID_PRODUC.Equals(produc)).Where(x => x.ID_ALMAC == idAlmacen)).ToList();

                    if (originalStock.Count == 0)
                    {
                        TBL_STOCK nuevoStock = new TBL_STOCK()
                        {
                            ID_PRODUC = produc, ID_ALMAC = idAlmacen, STOCK = tBL_DETALLE_LOTE.CANTIDAD, PEDIDO = 0, COMPROMETIDO = 0, ULTIMA_FECHA_ACTUALIZACION = DateTime.Now
                        };
                        db.TBL_STOCK.Add(nuevoStock);
                        db.SaveChanges();
                    }
                    else if (originalStock.Count == 1)
                    {
                        originalStock[0].STOCK += tBL_DETALLE_LOTE.CANTIDAD;
                        //db.Entry(originalStock[0]).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                    else
                    {
                        TempData["Mensaje"] = "<div class=\"alert alert-danger\"><button type=\"button\" class=\"close\" data-dismiss=\"alert\">&times;</button><strong>No se pudo generar STOCK, favor de intentarlo de nuevo..</strong> </div>";
                        return(RedirectToAction("Index", "Lote"));
                    }

                    TempData["Mensaje"] = "<div class=\"alert alert-success\"><button type=\"button\" class=\"close\" data-dismiss=\"alert\">&times;</button><strong>STOCK del LOTE generado exitosamente.</strong> </div>";
                    return(RedirectToAction("Index", "Lote"));
                }
                TempData["Mensaje"] = "<div class=\"alert alert-danger\"><button type=\"button\" class=\"close\" data-dismiss=\"alert\">&times;</button><strong>No se pudo generar STOCK, favor de intentarlo de nuevo.</strong> </div>";
                return(RedirectToAction("Index", "Lote"));
            }
            return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
        }
示例#4
0
        public bool Create2([Bind(Include = "CANTIDAD,ID_LOTE,ID_USER_ASP")] TBL_DETALLE_LOTE tBL_DETALLE_LOTE)
        {
            tBL_DETALLE_LOTE.VEDIDOS        = 0;
            tBL_DETALLE_LOTE.FECHA_REGISTRO = DateTime.Now;
            tBL_DETALLE_LOTE.DISPONIBLE     = true;

            if (ModelState.IsValid)
            {
                db.TBL_DETALLE_LOTE.Add(tBL_DETALLE_LOTE);
                db.SaveChanges();
                return(true);
            }
            return(false);
        }
示例#5
0
        //Todo stock generado desde un lote, sera cargado al almacen "MOLIDOS ALMACEN" con un ID_ALMACEN=2
        //public bool generaStock(string ID_PRODUC, float STOCK, int ID_ALMAC)
        //{
        //    var original = db.TBL_STOCK.Where(x => x.ID_PRODUC.Equals(ID_PRODUC)).Where(x => x.ID_ALMAC == 2).ToList();

        //    if (original.Count == 0)
        //    {
        //        //db.TBL_STOCK.Add();
        //        db.SaveChanges();
        //        return true;
        //    }
        //    else if (original.Count == 1)
        //    {
        //        original[0].STOCK = original[0].STOCK += tBL_STOCK.STOCK;
        //        original[0].ULTIMA_FECHA_ACTUALIZACION = DateTime.Now;
        //        db.SaveChanges();
        //        return true;
        //    }
        //    return false;
        //}

        // GET: DetalleLote/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TBL_DETALLE_LOTE tBL_DETALLE_LOTE = db.TBL_DETALLE_LOTE.Find(id);

            if (tBL_DETALLE_LOTE == null)
            {
                return(HttpNotFound());
            }
            return(View(tBL_DETALLE_LOTE));
        }
示例#6
0
        public ActionResult Create([Bind(Include = "CANTIDAD,ID_LOTE")] TBL_DETALLE_LOTE tBL_DETALLE_LOTE)
        {
            tBL_DETALLE_LOTE.VEDIDOS        = 0;
            tBL_DETALLE_LOTE.FECHA_REGISTRO = DateTime.Now;
            tBL_DETALLE_LOTE.ID_USER_ASP    = HttpContext.User.Identity.Name;
            tBL_DETALLE_LOTE.DISPONIBLE     = true;

            if (ModelState.IsValid)
            {
                db.TBL_DETALLE_LOTE.Add(tBL_DETALLE_LOTE);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.ID_LOTE = new SelectList(db.TBL_LOTE_PRODUCCION, "ID_LOTE", "ID_PRODUC", tBL_DETALLE_LOTE.ID_LOTE);
            return(View(tBL_DETALLE_LOTE));
        }
示例#7
0
        // GET: DetalleLote/Details/5
        public ActionResult Details(int?id2, string producto, string idLote)
        {
            if (id2 == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TBL_DETALLE_LOTE tBL_DETALLE_LOTE = db.TBL_DETALLE_LOTE.Find(id2);

            if (tBL_DETALLE_LOTE == null)
            {
                return(HttpNotFound());
            }

            ViewBag.Lote     = idLote;
            ViewBag.Prodcuto = producto;
            return(View(tBL_DETALLE_LOTE));
        }
示例#8
0
 // GET: DetalleLote/Edit/5
 public ActionResult Edit(string id2, string idL)
 {
     try
     {
         if (idL == null)
         {
             return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
         }
         int idDet = db.TBL_DETALLE_LOTE.Where(x => x.ID_LOTE.Equals(idL)).Select(x => x.ID_DETALLE).ToList()[0];
         TBL_DETALLE_LOTE tBL_DETALLE_LOTE = db.TBL_DETALLE_LOTE.Find(idDet);
         if (tBL_DETALLE_LOTE == null)
         {
             return(HttpNotFound());
         }
         ViewBag.Lote     = idL;
         ViewBag.Producto = db.TBL_LOTE_PRODUCCION.Where(x => x.ID_LOTE.Equals(idL)).Select(x => x.DESCRIPCION).ToList()[0];
         ViewBag.ID_LOTE  = new SelectList(db.TBL_LOTE_PRODUCCION, "ID_LOTE", "ID_PRODUC", tBL_DETALLE_LOTE.ID_LOTE);
         return(View(tBL_DETALLE_LOTE));
     }
     catch (Exception)
     {
         return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
     }
 }