public ActionResult CreateZestaw(DodajProduktView dodaj) { DateTime localdate = DateTime.Now; Product product = new Product(); Product product1 = new Product(); Product product2 = new Product(); Product product3 = new Product(); Product product4 = new Product(); Product product5 = new Product(); PW przychodwewmetrzny = new PW(); RW rozchodwewnetrzny = new RW(); Set zestaw = new Set(); Login uzytkwonik = repository2.Logins .FirstOrDefault(p => p.LoginID == (int)Session["userID"]); if (dodaj.zestaw.Name == null || dodaj.zestaw.ProduktName1 == null) { TempData["message"] = string.Format("Błąd danych. Spróbuj ponownie {0} ", dodaj.zestaw.Name); return(RedirectToAction("Zestaw")); } product.Category = "Zestaw"; product.Description = "Zestaw produktów:"; product.Name = dodaj.zestaw.Name; product.Price = 0; product.Total = dodaj.product.Total; product.Warehouse1 = dodaj.product.Total; product.Warehouse2 = 0; rozchodwewnetrzny.DataWystawienia = localdate; rozchodwewnetrzny.Miesiac = localdate.Month; rozchodwewnetrzny.Rok = localdate.Year; rozchodwewnetrzny.Wystawiajacy = uzytkwonik.Name; rozchodwewnetrzny.CenaCalkowita = 0; przychodwewmetrzny.DataWystawienia = localdate; przychodwewmetrzny.Magazyn = "Magazyn 1"; przychodwewmetrzny.Miesiac = localdate.Month; przychodwewmetrzny.Rok = localdate.Year; przychodwewmetrzny.Wystawiajacy = uzytkwonik.Name; przychodwewmetrzny.Produkt = dodaj.zestaw.Name; przychodwewmetrzny.Ilosc = dodaj.product.Total; przychodwewmetrzny.CenaCalkowita = 0; zestaw.Name = dodaj.zestaw.Name; zestaw.ProduktName1 = dodaj.zestaw.ProduktName1; zestaw.ProduktName2 = dodaj.zestaw.ProduktName2; zestaw.ProduktName3 = dodaj.zestaw.ProduktName3; zestaw.ProduktName4 = dodaj.zestaw.ProduktName4; zestaw.ProduktName5 = dodaj.zestaw.ProduktName5; product1 = repository.Products .FirstOrDefault(p => p.Name == dodaj.zestaw.ProduktName1); product2 = repository.Products .FirstOrDefault(p => p.Name == dodaj.zestaw.ProduktName2); product3 = repository.Products .FirstOrDefault(p => p.Name == dodaj.zestaw.ProduktName3); product4 = repository.Products .FirstOrDefault(p => p.Name == dodaj.zestaw.ProduktName4); product5 = repository.Products .FirstOrDefault(p => p.Name == dodaj.zestaw.ProduktName5); if (product1.Total < dodaj.product.Total) { TempData["message"] = string.Format("Nie wystarczająco produktów na magazynie {0} ", dodaj.zestaw.ProduktName1); return(RedirectToAction("Zestaw")); } else { var z = dodaj.product.Total; product1.Total -= dodaj.product.Total; if (product1.Warehouse1 < z) { z -= product1.Warehouse1; product1.Warehouse1 = 0; product1.Warehouse2 -= z; } else { product1.Warehouse1 -= z; } rozchodwewnetrzny.CenaCalkowita += product1.Price * dodaj.product.Total; rozchodwewnetrzny.Produkty += product1.Name + "\t" + product1.Price + "\n"; product.Description += product1.Name + ","; } if (product2 != null) { if (product2.Total < dodaj.product.Total) { TempData["message"] = string.Format("Nie wystarczająco produktów na magazynie {0} ", dodaj.zestaw.ProduktName2); return(RedirectToAction("Zestaw")); } else { var z = dodaj.product.Total; product2.Total -= dodaj.product.Total; if (product2.Warehouse1 < z) { z -= product1.Warehouse1; product2.Warehouse1 = 0; product2.Warehouse2 -= z; } else { product2.Warehouse1 -= z; } rozchodwewnetrzny.CenaCalkowita += product2.Price * dodaj.product.Total; rozchodwewnetrzny.Produkty += product2.Name + "\t" + product2.Price + "\n"; product.Description += product2.Name + ","; } } if (product3 != null) { if (product3.Total < dodaj.product.Total) { TempData["message"] = string.Format("Nie wystarczająco produktów na magazynie {0} ", dodaj.zestaw.ProduktName3); return(RedirectToAction("Zestaw")); } else { var z = dodaj.product.Total; product3.Total -= dodaj.product.Total; if (product3.Warehouse1 < z) { z -= product1.Warehouse1; product3.Warehouse1 = 0; product3.Warehouse2 -= z; } else { product3.Warehouse1 -= z; } rozchodwewnetrzny.CenaCalkowita += product3.Price * dodaj.product.Total; rozchodwewnetrzny.Produkty += product3.Name + "\t" + product3.Price + "\n"; product.Description += product3.Name + ","; } } if (product4 != null) { if (product4.Total < dodaj.product.Total) { TempData["message"] = string.Format("Nie wystarczająco produktów na magazynie {0} ", dodaj.zestaw.ProduktName4); return(RedirectToAction("Zestaw")); } else { var z = dodaj.product.Total; product4.Total -= dodaj.product.Total; if (product4.Warehouse1 < z) { z -= product1.Warehouse1; product4.Warehouse1 = 0; product4.Warehouse2 -= z; } else { product4.Warehouse1 -= z; } rozchodwewnetrzny.CenaCalkowita += product4.Price * dodaj.product.Total; rozchodwewnetrzny.Produkty += product4.Name + "\t" + product4.Price + "\n"; product.Description += product4.Name + ","; } } if (product5 != null) { if (product5.Total < dodaj.product.Total) { TempData["message"] = string.Format("Nie wystarczająco produktów na magazynie {0} ", dodaj.zestaw.ProduktName5); return(RedirectToAction("Zestaw")); } else { var z = dodaj.product.Total; product5.Total -= dodaj.product.Total; if (product5.Warehouse1 < z) { z -= product1.Warehouse1; product5.Warehouse1 = 0; product5.Warehouse2 -= z; } else { product5.Warehouse1 -= z; } rozchodwewnetrzny.CenaCalkowita += product5.Price * dodaj.product.Total; rozchodwewnetrzny.Produkty += product5.Name + "\t" + product5.Price + "\n"; product.Description += product5.Name + ","; } } przychodwewmetrzny.CenaCalkowita = rozchodwewnetrzny.CenaCalkowita; product.Price = rozchodwewnetrzny.CenaCalkowita / dodaj.product.Total; zestaw.Cena = product.Price; repository.SaveProduct(product); repository.SaveProduct(product1); repository.SaveProduct(product2); repository.SaveProduct(product3); repository.SaveProduct(product4); repository.SaveProduct(product5); zestaw.ProductID = product.ProductID; repository8.SavePW(przychodwewmetrzny); repository10.SaveRW(rozchodwewnetrzny); repository6.SaveSet(zestaw); TempData["message"] = string.Format("Zapisano {0} ", dodaj.product.Name); return(RedirectToAction("Zestaw")); }