public ActionResult AddIngredientCorrection([Bind(Include = "Id,Ingredient_Id,MovementType_Id,Warehouse_Id,Quantity,Remark,IsActive,CreatedBy,CreatedDate,ChangedBy,ChangedDate")] IngredientMovement ingredientMovement)
        {
            if (ModelState.IsValid)
            {
                //INGREDIENTMOVEMENT ELKÉSZÍTÉSE
                var identity = (ClaimsIdentity)User.Identity;
                var sid      = identity.Claims.Where(c => c.Type == ClaimTypes.Sid).Select(c => c.Value).SingleOrDefault();
                ingredientMovement.CreatedDate = DateTime.Now;
                ingredientMovement.CreatedBy   = Convert.ToInt32(sid);
                db.IngredientMovements.Add(ingredientMovement);



                //CURRENTINGREDIENTSTOCK MÓDOSÍTÁSA
                var ingredienttoupdate         = db.CurrentIngredientStocks.First(i => i.Ingredient_Id == ingredientMovement.Ingredient_Id);
                var originalingredientquantity = db.CurrentIngredientStocks.First(i => i.Ingredient_Id == ingredientMovement.Ingredient_Id).Quantity;
                ingredienttoupdate.Quantity        = originalingredientquantity + ingredientMovement.Quantity;
                ingredienttoupdate.ChangedDate     = DateTime.Now;
                ingredienttoupdate.ChangedBy       = Convert.ToInt32(sid);
                db.Entry(ingredienttoupdate).State = EntityState.Modified;


                if (db.SaveChanges() > 0)
                {
                    TempData["Operation"] = "success";
                }
                else
                {
                    TempData["Operation"] = "danger";
                }
                return(RedirectToAction("AddIngredientCorrection", "StockOperations"));
            }

            ViewBag.MovementType_Id = new SelectList(db.MovementTypes.Where(i => i.MovementKey == "correction"), "Id", "Name");
            var existingIngredient = new List <Ingredient>();

            foreach (var ai in db.Ingredients)
            {
                if (db.CurrentIngredientStocks.Any(x => x.Ingredient_Id == ai.Id))
                {
                    ai.Name = string.Format("{0} - {1} kg", ai.Name, string.Format("{0:0.##}", db.CurrentIngredientStocks.First(x => x.Ingredient_Id == ai.Id).Quantity));
                    existingIngredient.Add(ai);
                }
                ;
            }
            ViewBag.Ingredient_Id = new SelectList(existingIngredient, "Id", "Name");

            ViewBag.Warehouse_Id = new SelectList(db.Warehouses, "Id", "Name");
            return(View(ingredientMovement));
        }
Пример #2
0
 public ActionResult Edit([Bind(Include = "Id,Email,Name,Role,IsActive,CreatedBy,CreatedDate,ChangedBy,ChangedDate")] SystemUser systemUser)
 {
     if (ModelState.IsValid)
     {
         systemUser.ChangedDate     = DateTime.Now;
         db.Entry(systemUser).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CreatedBy = new SelectList(db.SystemUsers, "Id", "Email", systemUser.CreatedBy);
     ViewBag.ChangedBy = new SelectList(db.SystemUsers, "Id", "Email", systemUser.ChangedBy);
     return(View(systemUser));
 }
 public ActionResult Edit([Bind(Include = "Id,Name,Remark,IsActive,CreatedBy,CreatedDate,ChangedBy,ChangedDate")] Warehouse warehouse)
 {
     if (ModelState.IsValid)
     {
         warehouse.ChangedDate     = DateTime.Now;
         db.Entry(warehouse).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CreatedBy = new SelectList(db.SystemUsers, "Id", "Email", warehouse.CreatedBy);
     ViewBag.ChangedBy = new SelectList(db.SystemUsers, "Id", "Email", warehouse.ChangedBy);
     return(View(warehouse));
 }
 public ActionResult Edit([Bind(Include = "Id,Warehouse_Id,Ingredient_Id,Quantity,Remark,IsActive,CreatedBy,CreatedDate,ChangedBy,ChangedDate")] CurrentIngredientStock currentIngredientStock)
 {
     if (ModelState.IsValid)
     {
         db.Entry(currentIngredientStock).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Ingredient_Id = new SelectList(db.Ingredients, "Id", "Name", currentIngredientStock.Ingredient_Id);
     ViewBag.CreatedBy     = new SelectList(db.SystemUsers, "Id", "Email", currentIngredientStock.CreatedBy);
     ViewBag.ChangedBy     = new SelectList(db.SystemUsers, "Id", "Email", currentIngredientStock.ChangedBy);
     ViewBag.Warehouse_Id  = new SelectList(db.Warehouses, "Id", "Name", currentIngredientStock.Warehouse_Id);
     return(View(currentIngredientStock));
 }
Пример #5
0
 public ActionResult Edit([Bind(Include = "Id,Recipe_Id,Ingredient_Id,Ammount,Remark,IsActive,CreatedBy,CreatedDate,ChangedBy,ChangedDate")] RecipeIngredient recipeIngredient)
 {
     if (ModelState.IsValid)
     {
         recipeIngredient.ChangedDate     = DateTime.Now;
         db.Entry(recipeIngredient).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Ingredient_Id = new SelectList(db.Ingredients, "Id", "Name", recipeIngredient.Ingredient_Id);
     ViewBag.Recipe_Id     = new SelectList(db.Recipes, "Id", "Name", recipeIngredient.Recipe_Id);
     ViewBag.CreatedBy     = new SelectList(db.SystemUsers, "Id", "Email", recipeIngredient.CreatedBy);
     ViewBag.ChangedBy     = new SelectList(db.SystemUsers, "Id", "Email", recipeIngredient.ChangedBy);
     return(View(recipeIngredient));
 }
Пример #6
0
 public ActionResult Edit([Bind(Include = "Id,Production_Id,Ingredient_Id,MovementType_Id,Warehouse_Id,Quantity,Remark,IsActive,CreatedBy,CreatedDate,ChangedBy,ChangedDate")] IngredientMovement ingredientMovement)
 {
     if (ModelState.IsValid)
     {
         db.Entry(ingredientMovement).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Ingredient_Id   = new SelectList(db.Ingredients, "Id", "Name", ingredientMovement.Ingredient_Id);
     ViewBag.MovementType_Id = new SelectList(db.MovementTypes, "Id", "Name", ingredientMovement.MovementType_Id);
     ViewBag.Production_Id   = new SelectList(db.Productions, "Id", "Remark", ingredientMovement.Production_Id);
     ViewBag.CreatedBy       = new SelectList(db.SystemUsers, "Id", "Email", ingredientMovement.CreatedBy);
     ViewBag.ChangedBy       = new SelectList(db.SystemUsers, "Id", "Email", ingredientMovement.ChangedBy);
     ViewBag.Warehouse_Id    = new SelectList(db.Warehouses, "Id", "Name", ingredientMovement.Warehouse_Id);
     return(View(ingredientMovement));
 }
Пример #7
0
 public ActionResult Edit([Bind(Include = "Id,Name,IsSupplier,ZipCode,City,StreetAddress,ContactPerson1,Telephone1,ContactPerson2,Telephone2,Remark,IsActive,CreatedBy,CreatedDate,ChangedBy,ChangedDate")] Customer customer)
 {
     if (ModelState.IsValid)
     {
         customer.ChangedDate = DateTime.Now;
         var identity = (ClaimsIdentity)User.Identity;
         var sid      = identity.Claims.Where(c => c.Type == ClaimTypes.Sid).Select(c => c.Value).SingleOrDefault();
         customer.ChangedBy       = Convert.ToInt32(sid);
         db.Entry(customer).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CreatedBy = new SelectList(db.SystemUsers, "Id", "Email", customer.CreatedBy);
     ViewBag.ChangedBy = new SelectList(db.SystemUsers, "Id", "Email", customer.ChangedBy);
     return(View(customer));
 }
Пример #8
0
        public ActionResult AddReceipt([Bind(Include = "Id,deliveryNoteItem,Customer_Id,DeliveryNote_Number,DeliveryNote_Remark,DeliveryNote_Date,MovementType_Id,Remark,IsActive,CreatedBy,CreatedDate,ChangedBy,ChangedDate")] InventoryOperationViewModel inventoryReceipt)
        {
            if (ModelState.IsValid)
            {
                var identity           = (ClaimsIdentity)User.Identity;
                var sid                = identity.Claims.Where(c => c.Type == ClaimTypes.Sid).Select(c => c.Value).SingleOrDefault();
                var deliveryNoteCreted = false;

                for (int x = 0; x < inventoryReceipt.deliveryNoteItem.Count; x++)
                {
                    //INGREDIENTMOVEMENT ELKÉSZÍTÉSE
                    var currentIndex              = x;
                    var currentIngredientId       = inventoryReceipt.deliveryNoteItem[x].Ingredient_Id;
                    var currentIngredientQuantity = inventoryReceipt.deliveryNoteItem[currentIndex].Quantity;
                    var ingredientMovement        = new IngredientMovement
                    {
                        Ingredient_Id   = inventoryReceipt.deliveryNoteItem[currentIndex].Ingredient_Id,
                        MovementType_Id = inventoryReceipt.MovementType_Id,
                        Warehouse_Id    = inventoryReceipt.deliveryNoteItem[currentIndex].Warehouse_Id,
                        Quantity        = inventoryReceipt.deliveryNoteItem[currentIndex].Quantity,
                        Remark          = inventoryReceipt.Remark,
                        IsActive        = true,
                        CreatedDate     = DateTime.Now,
                        CreatedBy       = Convert.ToInt32(sid)
                    };
                    db.IngredientMovements.Add(ingredientMovement);


                    //CURRENTINGREDIENTSTOCK MÓDOSÍTÁSA
                    var ingredientexists = db.CurrentIngredientStocks.Where(i => i.Ingredient_Id == currentIngredientId);
                    //HA NINCS AZ ALAPANYAGBÓL, HOZZÁADJUK
                    if (!ingredientexists.Any())
                    {
                        db.CurrentIngredientStocks.Add(new CurrentIngredientStock
                        {
                            CreatedDate   = DateTime.Now,
                            CreatedBy     = Convert.ToInt32(sid),
                            IsActive      = true,
                            Warehouse_Id  = inventoryReceipt.deliveryNoteItem[currentIndex].Warehouse_Id,
                            Ingredient_Id = inventoryReceipt.deliveryNoteItem[currentIndex].Ingredient_Id,
                            Quantity      = inventoryReceipt.deliveryNoteItem[currentIndex].Quantity
                        });
                    }
                    //HA VAN AZ ALAPANYAGBÓL, UPDATE
                    else
                    {
                        var ingredienttoupdate         = db.CurrentIngredientStocks.First(i => i.Ingredient_Id == currentIngredientId);
                        var originalingredientquantity = db.CurrentIngredientStocks.First(i => i.Ingredient_Id == currentIngredientId).Quantity;
                        ingredienttoupdate.Quantity        = originalingredientquantity + currentIngredientQuantity;
                        ingredienttoupdate.ChangedDate     = DateTime.Now;
                        ingredienttoupdate.ChangedBy       = Convert.ToInt32(sid);
                        db.Entry(ingredienttoupdate).State = EntityState.Modified;
                    }

                    //SZÁLLÍTÓLEVÉL HOZZÁADÁSA
                    var existingDeliveryNoteId = 0;
                    if (deliveryNoteCreted == false)
                    {
                        var deliveryNote = new DeliveryNote
                        {
                            Customer_Id      = inventoryReceipt.Customer_Id,
                            Type             = "receipt",
                            Number           = inventoryReceipt.DeliveryNote_Number,
                            Remark           = inventoryReceipt.DeliveryNote_Remark,
                            IsActive         = true,
                            CreatedDate      = DateTime.Now,
                            CreatedBy        = Convert.ToInt32(sid),
                            DeliveryNoteDate = inventoryReceipt.DeliveryNote_Date
                        };
                        db.DeliveryNotes.Add(deliveryNote);
                        deliveryNoteCreted     = true;
                        existingDeliveryNoteId = deliveryNote.Id;
                        //SZÁLLÍTÓLEVÉL TÉTELEK HOZZÁADÁSA
                        var deliveryNoteItem = new DeliveryNoteItem
                        {
                            DeliveryNote       = deliveryNote,
                            IngredientMovement = ingredientMovement
                        };
                        db.DeliveryNoteItems.Add(deliveryNoteItem);
                    }
                    else
                    {
                        //SZÁLLÍTÓLEVÉL TÉTELEK HOZZÁADÁSA
                        var deliveryNoteItem = new DeliveryNoteItem
                        {
                            DeliveryNote_Id    = existingDeliveryNoteId,
                            IngredientMovement = ingredientMovement
                        };
                        db.DeliveryNoteItems.Add(deliveryNoteItem);
                    }
                }

                if (db.SaveChanges() > 0)
                {
                    TempData["Operation"] = "success";
                }
                else
                {
                    TempData["Operation"] = "danger";
                }
                return(RedirectToAction("Index", "CurrentIngredientStocks"));
            }
            ViewBag.MovementType_Id = new SelectList(db.MovementTypes.Where(i => i.MovementKey == "receipt"), "Id", "Name");
            ViewBag.Ingredient_Id   = new SelectList(db.Ingredients, "Id", "Name");
            ViewBag.Warehouse_Id    = new SelectList(db.Warehouses, "Id", "Name");
            ViewBag.Customer_Id     = new SelectList(db.Customers.Where(i => i.IsSupplier == true).OrderBy(i => i.Name), "Id", "Name");
            return(View(inventoryReceipt));
        }
        public ActionResult Create([Bind(Include = "Id,Recipe_Id,Customer_Id,Destination_Warehouse_Id,ProductionDate,Quantity,Remark,IsActive,CreatedBy,CreatedDate,ChangedBy,ChangedDate")] Production production)
        {
            if (ModelState.IsValid)
            {
                // ELLENŐRIZZÜK, HOGY MINDEN ALAPANYAGBÓL VAN-E ELEGENDŐ

                foreach (var ri in db.RecipeIngredients.Where(i => i.Recipe_Id == production.Recipe_Id))
                {
                    if (db.CurrentIngredientStocks.Any(e => e.Ingredient_Id == ri.Ingredient_Id) && production.Quantity * ri.Ammount <=
                        db.CurrentIngredientStocks.First(e => e.Ingredient_Id == ri.Ingredient_Id).Quantity)
                    {
                        continue;
                    }
                    TempData["Operation"]        = "danger";
                    TempData["OperationMessage"] = string.Format("Nem áll rendelkezésre elegendő a szükséges mennyiség ({0} kg) a következő alapanyagból: {1}", (production.Quantity * ri.Ammount), ri.Ingredient.Name);
                    return(RedirectToAction("Index"));
                }



                // PRODUCTION HOZZÁADÁSA
                // INGREDIENTMOVEMENT - CSAK GYÁRTÁS
                var identity = (ClaimsIdentity)User.Identity;
                var sid      = identity.Claims.Where(c => c.Type == ClaimTypes.Sid).Select(c => c.Value).SingleOrDefault();
                production.CreatedDate = DateTime.Now;
                production.CreatedBy   = Convert.ToInt32(sid);
                db.Productions.Add(production);

                //INGREDIENTMOVEMENT TÖLTÉSE
                var movement = db.MovementTypes.FirstOrDefault(i => i.MovementKey == "production");
                var loss     = db.MovementTypes.FirstOrDefault(i => i.MovementKey == "loss");
                foreach (var ri in db.RecipeIngredients.Where(i => i.Recipe_Id == production.Recipe_Id))
                {
                    db.IngredientMovements.Add(new IngredientMovement()
                    {
                        CreatedDate  = DateTime.Now,
                        CreatedBy    = Convert.ToInt32(sid),
                        Ingredient   = ri.Ingredient,
                        Production   = production,
                        MovementType = movement,
                        Warehouse_Id = production.Destination_Warehouse_Id,
                        Quantity     = production.Quantity * (-1 * ri.Ammount),
                        IsActive     = true
                    });
                    db.IngredientMovements.Add(new IngredientMovement()
                    {
                        CreatedDate  = DateTime.Now,
                        CreatedBy    = Convert.ToInt32(sid),
                        Ingredient   = ri.Ingredient,
                        Production   = production,
                        MovementType = loss,
                        Warehouse_Id = production.Destination_Warehouse_Id,
                        Quantity     = production.Quantity * (-1 * ri.Ammount) * (decimal)0.006,
                        IsActive     = true
                    });
                }

                // CURRENTPRODUCTSTOCK TÖLTÉSE
                var finalproductexists = db.CurrentProductStocks.Where(i => i.Recipe_Id == production.Recipe_Id);

                if (!finalproductexists.Any())
                {
                    //HA NINCS RAKTÁRBAN ILYEN TERMÉK, AKKOR ÚJAT HOZ LÉTRE
                    db.CurrentProductStocks.Add(new CurrentProductStock()
                    {
                        CreatedDate  = DateTime.Now,
                        CreatedBy    = Convert.ToInt32(sid),
                        IsActive     = true,
                        Warehouse_Id = production.Destination_Warehouse_Id,
                        Recipe_Id    = production.Recipe_Id,
                        Quantity     = production.Quantity
                    });
                }

                else
                {
                    //HA VAN RAKTÁRBAN ILYEN TERMÉK, AKKOR UPDATEEL
                    var finalproduct     = db.CurrentProductStocks.First(i => i.Recipe_Id == production.Recipe_Id);
                    var originalquantity = db.CurrentProductStocks.First(i => i.Recipe_Id == production.Recipe_Id).Quantity;
                    finalproduct.Quantity        = originalquantity + production.Quantity;
                    finalproduct.ChangedDate     = DateTime.Now;
                    finalproduct.ChangedBy       = Convert.ToInt32(sid);
                    db.Entry(finalproduct).State = EntityState.Modified;
                }

                // CURRENTINGREDIENTSTOCK TÖLTÉSE - GYÁRTÁS + VESZTESÉG EGYBEN
                foreach (var ri in db.RecipeIngredients.Where(i => i.Recipe_Id == production.Recipe_Id))
                {
                    var ingredienttoupdate         = db.CurrentIngredientStocks.First(i => i.Ingredient_Id == ri.Ingredient_Id);
                    var originalingredientquantity = db.CurrentIngredientStocks.First(i => i.Ingredient_Id == ri.Ingredient_Id).Quantity;
                    ingredienttoupdate.Quantity        = originalingredientquantity - (production.Quantity * ri.Ammount) - (production.Quantity * ri.Ammount * (decimal)0.006);
                    ingredienttoupdate.ChangedDate     = DateTime.Now;
                    ingredienttoupdate.ChangedBy       = Convert.ToInt32(sid);
                    db.Entry(ingredienttoupdate).State = EntityState.Modified;
                }


                if (db.SaveChanges() > 0)
                {
                    TempData["Operation"] = "success";
                }
                else
                {
                    TempData["Operation"] = "danger";
                }
                return(RedirectToAction("Index"));
            }

            ViewBag.Customer_Id = new SelectList(db.Customers, "Id", "Name", production.Customer_Id);
            var existingRecipe = new List <Recipe>();

            foreach (var ai in db.Recipes)
            {
                if (db.RecipeIngredients.Any(x => x.Recipe_Id == ai.Id))
                {
                    existingRecipe.Add(ai);
                }
                ;
            }
            ViewBag.Recipe_Id = new SelectList(existingRecipe, "Id", "Name");
            ViewBag.CreatedBy = new SelectList(db.SystemUsers, "Id", "Email", production.CreatedBy);
            ViewBag.ChangedBy = new SelectList(db.SystemUsers, "Id", "Email", production.ChangedBy);
            ViewBag.Destination_Warehouse_Id = new SelectList(db.Warehouses, "Id", "Name", production.Destination_Warehouse_Id);
            return(View(production));
        }