public ReturnType AddPurchaseProduct(PurchaseProduct puchaseProduct) { try { using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString())) { alading.AddToPurchaseProduct(puchaseProduct); if (alading.SaveChanges() == 1) { return(ReturnType.Success); } else { return(ReturnType.PropertyExisted); } } } catch (SqlException sex) { return(ReturnType.ConnFailed); } catch (Exception ex) { return(ReturnType.OthersError); } }
public List <PurchaseProduct> GeneratePurchaseProducts(int amount) { List <PurchaseProduct> purchaseProducts = new List <PurchaseProduct>(); for (int i = 0; i < amount; i++) { int l = R.Next(0, 3); for (int j = 0; j < l; j++) { PurchaseProduct purchaseProduct = new PurchaseProduct(); purchaseProduct.PurchaseId = i + 1; if (i == 0) { purchaseProduct.ProductId = R.Next(0, 31); } if (i == 1) { purchaseProduct.ProductId = R.Next(31, 61); } if (i == 2) { purchaseProduct.ProductId = R.Next(61, 101); } purchaseProducts.Add(purchaseProduct); } } return(purchaseProducts); }
public async Task <IActionResult> Edit(int id, [Bind("Id,OrderID,ProductID")] PurchaseProduct purchaseProduct) { if (id != purchaseProduct.Id) { return(Redirect("/error/PageNotFound")); } if (ModelState.IsValid) { try { _context.Update(purchaseProduct); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PurchaseProductExists(purchaseProduct.Id)) { return(Redirect("/error/PageNotFound")); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["OrderID"] = new SelectList(_context.Orders, "Id", "Id", purchaseProduct.OrderID); ViewData["ProductID"] = new SelectList(_context.Products, "ID", "Image", purchaseProduct.ProductID); return(View(purchaseProduct)); }
public List <PurchaseProduct> SupplierReport() { var response = context.PurchaseProduct .Include(x => x.Supplier) .ToList() .GroupBy(x => x.SupplierId); List <PurchaseProduct> supplier = new List <PurchaseProduct>(); foreach (var item in response) { string name = ""; decimal grandTotal = 0; decimal totalDues = 0; foreach (var iterate in item.ToList()) { name = iterate.Supplier.Name; grandTotal += iterate.GrandTotal; totalDues += iterate.Dues; } PurchaseProduct purchaseProduct = new PurchaseProduct() { UpdatedBy = name, GrandTotal = grandTotal, Dues = totalDues, }; supplier.Add(purchaseProduct); } return(supplier); }
public void btnAddProduct_Click(object sender, EventArgs e) { PurchaseProduct newprod = new PurchaseProduct(); newprod.id = Convert.ToInt64(Purchase_ProductID.Text); newprod.ShortDescription = Purchase_Product.Text; newprod.LongDescription = Purchase_Description2.Text; newprod.UM = Purchase_Um.Text; newprod.Qta = Convert.ToDouble(Purchase_Qta.Text); newprod.UnitPrice = StaticFunctions.FixDecimal(Purchase_Up.Text); newprod.Vat = (Purchase_Vat.Text.Length > 0) ? Convert.ToDecimal(Purchase_Vat.Text) : 0; newprod.ListPrice = StaticFunctions.FixDecimal(Purchase_Pl.Text); newprod.FinalPrice = StaticFunctions.FixDecimal(Purchase_Pf.Text); ArrayList np = new ArrayList(); if (Session["newBillProd"] != null) { np = (ArrayList)Session["newBillProd"]; } newprod.ObId = np.Count; np.Add(newprod); Session["newBillProd"] = np; RepeaterPurchaseProduct.DataSource = np; RepeaterPurchaseProduct.DataBind(); RepeaterPurchaseProduct.Visible = true; }
public ReturnType UpdatePurchaseProduct(PurchaseProduct purchaseProduct) { try { using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString())) { PurchaseProduct oldPurchaseProduct = alading.PurchaseProduct.FirstOrDefault(cc => cc.PurchaseProductCode == purchaseProduct.PurchaseProductCode); alading.Attach(oldPurchaseProduct); alading.ApplyPropertyChanges("PurchaseProduct", purchaseProduct); if (alading.SaveChanges() == 1) { return(ReturnType.Success); } else { return(ReturnType.Success); } } } catch (SqlException sex) { return(ReturnType.ConnFailed); } catch (System.Exception ex) { return(ReturnType.OthersError); } }
private void btnAddProduct_Click(object sender, EventArgs e) { PurchaseProduct newprod = new PurchaseProduct(); newprod.id = Convert.ToInt64(EstProductID.Text); newprod.ShortDescription = EstProduct.Text; newprod.LongDescription = EstDescription2.Text; newprod.UM = EstUm.Text; newprod.Qta = Convert.ToInt32(EstQta.Text); decimal chFrom = (1 / StaticFunctions.FixDecimal(EstChange.Text)); newprod.UnitPrice = Math.Round(StaticFunctions.FixDecimal(EstUp.Text) * chFrom, 2); newprod.Vat = (EstVat.Text.Length > 0) ? Convert.ToInt32(EstVat.Text) : 0; newprod.ListPrice = Math.Round(StaticFunctions.FixDecimal(EstPl.Text) * chFrom, 2); newprod.FinalPrice = Math.Round(StaticFunctions.FixDecimal(EstPf.Text) * chFrom, 2); newprod.Reduction = (EstReduc.Text.Length > 0) ? Convert.ToInt32(EstReduc.Text) : 0; ArrayList np = new ArrayList(); if (Session["newprod"] != null) { np = (ArrayList)Session["newprod"]; } newprod.ObId = np.Count; np.Add(newprod); Session["newprod"] = np; RepeaterEstProduct.DataSource = np; RepeaterEstProduct.DataBind(); RepeaterEstProduct.Visible = true; }
private void RepeaterEstProduct_ItemCommand(object source, RepeaterCommandEventArgs e) { switch (e.CommandName) { case "DelPurPro": Literal ObjectID = (Literal)e.Item.FindControl("ObjectID"); ArrayList np = new ArrayList(); np = (ArrayList)Session["newprod"]; np.RemoveAt(Convert.ToInt32(ObjectID.Text)); for (int i = 0; i < np.Count; i++) { PurchaseProduct newprod = (PurchaseProduct)np[i]; newprod.ObId = i; np[i] = newprod; } Session["newprod"] = np; RepeaterEstProduct.DataSource = np; RepeaterEstProduct.DataBind(); RepeaterEstProduct.Visible = true; break; } }
public ReturnType RemovePurchaseProduct(string purchaseProductCode) { try { using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString())) { /*List<PurchaseOrder> list = alading.PurchaseOrder.Where(p => p.PurchaseOrderID == purchaseorderID).ToList();*/ List <PurchaseProduct> list = alading.PurchaseProduct.Where(p => p.PurchaseProductCode == purchaseProductCode).ToList(); if (list.Count == 0) { return(ReturnType.NotExisted); } else { PurchaseProduct sy = list.First(); alading.DeleteObject(sy); alading.SaveChanges(); return(ReturnType.Success); } } } catch (SqlException sex) { return(ReturnType.ConnFailed); } catch (System.Exception ex) { return(ReturnType.OthersError); } }
public async Task <ActionResult> DeleteConfirmed(Guid id) { PurchaseProduct purchaseProduct = await db.PurchasesProducts.FindAsync(id); db.PurchasesProducts.Remove(purchaseProduct); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
private void RemoveAndRestoreProduct(ref ArrayList np, int iNdex) { np.RemoveAt(iNdex); for (int i = 0; i < np.Count; i++) { PurchaseProduct pProd = (PurchaseProduct)np[i]; pProd.ObId = i; np[i] = pProd; } }
public async Task <IActionResult> CancelProduct([FromBody] PurchaseProduct purchaseProduct) { var isProductCancelled = await customerService.CancelProductAsync(purchaseProduct); if (!isProductCancelled) { return(BadRequest(new { message = "Unable to cancel the Product, Please coordinate with FCT administrator" })); } return(Ok(isProductCancelled)); }
public ActionResult Index() { PurchaseProduct purchaseProduct = new PurchaseProduct(); ViewBag.Auth = "true"; ViewBag.UserName = Session["UserName"]; int userId = Convert.ToInt32(Session["UserId"]); ViewData["PurchasedProduct"] = purchaseProduct.ListAll(userId); return(View()); }
public async Task <IActionResult> Create([Bind("PurchaseProductID,ProductID")] PurchaseProduct purchaseProduct) { if (ModelState.IsValid) { _context.Add(purchaseProduct); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["ProductID"] = new SelectList(_context.Products, "ProductID", "ProductTitle", purchaseProduct.ProductID); return(View(purchaseProduct)); }
public void PurchaseProductCommand(object source, RepeaterCommandEventArgs e) { switch (e.CommandName) { case "DelPurPro": Literal ObjectID = (Literal)e.Item.FindControl("ObjectID"); ArrayList np = new ArrayList(); np = (ArrayList)Session["newBillProd"]; RemoveAndRestoreProduct(ref np, Convert.ToInt32(ObjectID.Text)); Session["newBillProd"] = np; RepeaterPurchaseProduct.DataSource = np; RepeaterPurchaseProduct.DataBind(); RepeaterPurchaseProduct.Visible = true; break; case "ModPurPro": ObjectID = (Literal)e.Item.FindControl("ObjectID"); np = new ArrayList(); np = (ArrayList)Session["newBillProd"]; PurchaseProduct pProd = (PurchaseProduct)np[Convert.ToInt32(ObjectID.Text)]; if (pProd.id == 0) { EstFreeProduct.Text = pProd.ShortDescription; EstFreeProduct.Text = pProd.LongDescription; EstFreeUm.Text = pProd.UM; EstFreeQta.Text = Convert.ToInt32(pProd.Qta).ToString(); EstFreeUp.Text = Convert.ToDecimal(pProd.UnitPrice).ToString(); EstFreeVat.Text = Convert.ToInt32(pProd.Vat).ToString(); EstFreePf.Text = Convert.ToDecimal(pProd.ListPrice).ToString(); EstFreePf.Text = Convert.ToDecimal(pProd.FinalPrice).ToString(); } else { Purchase_ProductID.Text = pProd.id.ToString(); Purchase_Product.Text = pProd.ShortDescription; Purchase_Description2.Text = pProd.LongDescription; Purchase_Um.Text = pProd.UM; Purchase_Qta.Text = pProd.Qta.ToString(); Purchase_Up.Text = pProd.UnitPrice.ToString(); Purchase_Vat.Text = pProd.Vat.ToString(); Purchase_Pl.Text = pProd.ListPrice.ToString(); Purchase_Pf.Text = pProd.FinalPrice.ToString(); } RemoveAndRestoreProduct(ref np, Convert.ToInt32(ObjectID.Text)); Session["newBillProd"] = np; RepeaterPurchaseProduct.DataSource = np; RepeaterPurchaseProduct.DataBind(); RepeaterPurchaseProduct.Visible = true; break; } }
public async Task <ActionResult> Edit([Bind(Include = "PurchaseProductID,ProductId,PurchaseId,Quantity,Price")] PurchaseProduct purchaseProduct) { if (ModelState.IsValid) { db.Entry(purchaseProduct).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } ViewBag.ProductId = new SelectList(db.Products, "ProductId", "Name", purchaseProduct.ProductId); ViewBag.PurchaseId = new SelectList(db.Purchases, "PurchaseID", "PurchaseID", purchaseProduct.PurchaseId); return(View(purchaseProduct)); }
public async Task <bool> CancelPurchaseOrderAsync(PurchaseProduct purchaseProduct) { var product = await this.purchaseRepository.GetAsync(p => p.ProductId == purchaseProduct.ProductId && p.UserId == purchaseProduct.UserId); if (product != null) { this.purchaseRepository.Delete(product); await this.unitOfWork.CommitAsync(); return(true); } return(false); }
public async Task <ActionResult> CreatePurchase([FromBody] PurchaseCreateDto purchase) { int id = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var logineduser = await _auth.VerifyUser(id); Purchase _newPurchase = new Purchase() { NumberCode = String.Format("{0:d9}", (DateTime.Now.Ticks / 10) % 1000000000), Customer = await _context.Customers.FirstOrDefaultAsync(s => s.Id == purchase.CustomerId), CustomsInclude = purchase.CustomsInclude, CustomsCost = purchase.CustomsCost, TransportInclude = purchase.TransportInclude, TransportCost = purchase.TransportCost, PaymentTerm = await _context.PaymentTerms.FirstOrDefaultAsync(s => s.Id == purchase.PaymentTermId), PaymentKind = await _context.PaymentKinds.FirstOrDefaultAsync(s => s.Id == purchase.PaymentKindId), PaymentPeriod = purchase.PaymentPeriod, PaymentLastDate = purchase.PaymentLastDate, DeliveryTerm = await _context.DeliveryTerms.FirstOrDefaultAsync(s => s.Id == purchase.DeliveryTermId), DeliveryPeriod = purchase.DeliveryPeriod, Company = logineduser.Company, ApprovedDate = DateTime.Now, ApprovedWorker = logineduser, OpenClose = true, Status = true }; _context.Purchases.Add(_newPurchase); await _context.SaveChangesAsync(); foreach (var item in purchase.PurchaseProductList) { PurchaseProduct purchaseProduct = new PurchaseProduct() { Purchase = _newPurchase, Product = await _context.Products.FirstOrDefaultAsync(s => s.Id == item.ProductId), Country = await _context.Country.FirstOrDefaultAsync(s => s.Id == item.CountryId), Quantity = item.Quantity, Price = item.Price, Discount = item.Discount, LastPrice = item.LastPrice, VAT = item.VAT, ComingQuantity = 0 }; _context.PurchaseProducts.Add(purchaseProduct); await _context.SaveChangesAsync(); } return(StatusCode(201)); }
private void Purchase() { if (!ValidateInputFields()) { RaiseNotification("Alert", "Please all the required fields"); return; } var transaction = new PurchaseTransaction(); var product = new PurchaseProduct(); try { product.ProductId = Convert.ToInt32(ProductId); product.PurchasePrice = Convert.ToDecimal(PurchasePrice); product.SellingPrice = Convert.ToDecimal(SellingPrice); product.Quantity = Convert.ToInt32(Quantity); transaction.ItemList.Add(product); transaction.PaymentList.Add(new PurchasePayment() { PaymentAmount = Convert.ToDecimal(Amount), Payment = new Payment() { PaidAmount = Convert.ToDecimal(Amount), PaymentDate = DateTime.Today, PaymentType = 1 } }); //To do //transaction.PurchaseTaxTotal = //Compute tax from SelectedTaxRate transaction.PurchaseTaxTotal = Convert.ToDecimal(1.00); transaction.SupplierId = SelectedSupplierId; transaction.PurchaseTxnTotal = Convert.ToDecimal(Amount); transaction.BillNumber = BillNumber; transaction.GSTIN = GSTIN; transaction.PurchaseDate = DateTime.Today; _purchaseTransaction.Complete(transaction); RaiseNotification("Success", string.Format("Successfully added the purchase of the product {0}", ProductName)); } catch (Exception ex) { log.Error(transaction, ex); RaiseNotification("Error", "Failed to add purchase."); } finally { ResetUI(); } }
public IActionResult Index(PurchaseProductVM purchaseProduct) { try { #region Pushing into Purchase Product PurchaseProduct purchase = new PurchaseProduct() { InvoiceNumber = purchaseProduct.InvoiceNumber, SupplierId = purchaseProduct.SupplierId, SubTotal = purchaseProduct.SubTotal, GrandTotal = purchaseProduct.GrandTotal, Discount = purchaseProduct.Discount, Dues = purchaseProduct.Dues, PaidAmount = purchaseProduct.PaidAmount, PaymentMode = purchaseProduct.PaymentMode, }; context.PurchaseProduct.Add(purchase); context.Save(); #endregion #region Pushing into Purchase Product Detail foreach (var item in purchaseProduct.PurchaseProductDetails) { PurchaseProductDetail purchaseProductDetail = new PurchaseProductDetail() { PurchaseProductId = purchase.Id, InvoiceNumber = item.InvoiceNumber, ProductId = item.ProductId, Quantity = item.Quantity, UnitPrice = item.UnitPrice, VatAndTaxId = item.VatAndTaxId, BasePrice = item.BasePrice, SellPrice = item.SellPrice, }; context.PurchaseProductDetail.Add(purchaseProductDetail); context.Save(); UpdateInventory(item.ProductId, item.Quantity, item.SellPrice); } #endregion return(Json(true)); } catch (Exception ex) { return(Json(ex.Message)); throw ex; } }
// GET: PurchaseProducts/Details/5 public async Task <ActionResult> Details(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PurchaseProduct purchaseProduct = await db.PurchasesProducts.FindAsync(id); if (purchaseProduct == null) { return(HttpNotFound()); } return(View(purchaseProduct)); }
public IActionResult Purchase(PurchaseViewModel purchaseViewModel) { var activeUser = _userManager.GetUserAsync(User).Result; var productList = new List <Product>(); var productIds = _cartService.Get(HttpContext.Session); foreach (var productId in productIds) { var product = _dbContext.Products.Include(prod => prod.PurchaseProducts).FirstOrDefault(prod => prod.Id == productId); if (product != null) { productList.Add(product); } } if (productList.Count != 0) { var purchase = new Purchase { User = activeUser, PurchaseProducts = new List <PurchaseProduct>(), DateTime = DateTime.Now }; _dbContext.Purchases.Add(purchase); foreach (var product in productList) { purchase.TotalCost += product.Price - product.Price * product.Discount / 100; var orderProduct = new PurchaseProduct() { Purchase = purchase, Product = product }; purchase.PurchaseProducts.Add(orderProduct); product.PurchaseProducts.Add(orderProduct); } _dbContext.SaveChanges(); _cartService.Clear(HttpContext.Session); return(View("Purchase")); } return(RedirectToAction("Index", "Home")); }
public async Task <ActionResult> Create([Bind(Include = "PurchaseProductID,ProductId,PurchaseId,Quantity,Price")] PurchaseProduct purchaseProduct) { if (ModelState.IsValid) { purchaseProduct.PurchaseProductId = Guid.NewGuid(); db.PurchasesProducts.Add(purchaseProduct); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } ViewBag.ProductId = new SelectList(db.Products, "ProductId", "Name", purchaseProduct.ProductId); ViewBag.PurchaseId = new SelectList(db.Purchases, "PurchaseID", "PurchaseID", purchaseProduct.PurchaseId); return(View(purchaseProduct)); }
public async Task <bool> PlacePurchaseOrderAsync(PurchaseProduct purchaseProduct) { var isIteamAlreadyPurchased = await this.purchaseRepository.ExistsAsync(p => p.ProductId == purchaseProduct.ProductId && p.UserId == purchaseProduct.UserId); if (!isIteamAlreadyPurchased) { this.purchaseRepository.Create(new Purchase { ProductId = purchaseProduct.ProductId, UserId = purchaseProduct.UserId }); await this.unitOfWork.CommitAsync(); return(true); } return(false); }
// GET: PurchaseProducts/Edit/5 public async Task <ActionResult> Edit(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PurchaseProduct purchaseProduct = await db.PurchasesProducts.FindAsync(id); if (purchaseProduct == null) { return(HttpNotFound()); } ViewBag.ProductId = new SelectList(db.Products, "ProductId", "Name", purchaseProduct.ProductId); ViewBag.PurchaseId = new SelectList(db.Purchases, "PurchaseID", "PurchaseID", purchaseProduct.PurchaseId); return(View(purchaseProduct)); }
private static PurchaseProduct GetProduct(long id, string sdesc, string ldesc, string um, double qta, decimal up, decimal vat, decimal lprice, decimal fprice, decimal cost, string prodcode, decimal reallprice) { PurchaseProduct newprod = new PurchaseProduct(); newprod.id = id; newprod.ShortDescription = sdesc; newprod.LongDescription = ldesc; newprod.UM = um; newprod.Qta = qta; newprod.UnitPrice = up; newprod.Vat = vat; newprod.ListPrice = lprice; newprod.FinalPrice = fprice; newprod.Cost = cost; newprod.ProductCode = prodcode; newprod.RealListPrice = reallprice; return(newprod); }
public IActionResult Purchase(PurchaseProduct purchase) { try { //Acá iría toda la logica de la compra del producto. //Como pago y envio de mail. //Logueo la compra. _logService.Create(new Log { UserId = purchase.User.Id, TimeStamp = DateTime.Now, Action = $"Compra del producto {purchase.Product.Id}" }); return(Ok("Producto comprado.")); } catch (Exception ex) { _logger.LogError(ex.Message); } return(NoContent()); }
public void PurchaseProductDatabound(Object sender, RepeaterItemEventArgs e) { switch (e.Item.ItemType) { case ListItemType.Item: case ListItemType.AlternatingItem: Label ShortDescription = (Label)e.Item.FindControl("ShortDescription"); Label UM = (Label)e.Item.FindControl("UM"); Label Qta = (Label)e.Item.FindControl("Qta"); Label UnitPrice = (Label)e.Item.FindControl("UnitPrice"); Label FinalPrice = (Label)e.Item.FindControl("FinalPrice"); Literal ObjectID = (Literal)e.Item.FindControl("ObjectID"); PurchaseProduct newprod = (PurchaseProduct)e.Item.DataItem; ShortDescription.Text = newprod.ShortDescription; UM.Text = newprod.UM.ToString(); Qta.Text = newprod.Qta.ToString(); UnitPrice.Text = newprod.UnitPrice.ToString("c"); FinalPrice.Text = newprod.FinalPrice.ToString("c"); ObjectID.Text = newprod.ObId.ToString(); break; } }
private void RepeaterEstProduct_ItemDataBound(object sender, RepeaterItemEventArgs e) { NumberFormatInfo nfi = new CultureInfo(UC.Culture, false).NumberFormat; switch (e.Item.ItemType) { case ListItemType.Item: case ListItemType.AlternatingItem: Literal ShortDescription = (Literal)e.Item.FindControl("ShortDescription"); Literal UM = (Literal)e.Item.FindControl("UM"); Literal Qta = (Literal)e.Item.FindControl("Qta"); Literal UnitPrice = (Literal)e.Item.FindControl("UnitPrice"); Literal Vat = (Literal)e.Item.FindControl("Vat"); Literal Reduction = (Literal)e.Item.FindControl("Reduction"); Literal FinalPrice = (Literal)e.Item.FindControl("FinalPrice"); Literal ObjectID = (Literal)e.Item.FindControl("ObjectID"); PurchaseProduct purchaseProduct = (PurchaseProduct)e.Item.DataItem; ShortDescription.Text = purchaseProduct.ShortDescription; UM.Text = purchaseProduct.UM.ToString(); Qta.Text = purchaseProduct.Qta.ToString(); Vat.Text = purchaseProduct.Vat.ToString(); Reduction.Text = purchaseProduct.Reduction.ToString(); string sy = EstCurrency.SelectedValue.Split('|')[2]; decimal chTo = StaticFunctions.FixDecimal(EstChange.Text); UnitPrice.Text = sy + " " + Math.Round((purchaseProduct.UnitPrice * chTo), 2).ToString("N", nfi); FinalPrice.Text = sy + " " + Math.Round((purchaseProduct.FinalPrice * chTo), 2).ToString("N", nfi); this.TotalQuotePrice += (purchaseProduct.FinalPrice * chTo); ObjectID.Text = purchaseProduct.ObId.ToString(); break; case ListItemType.Footer: Literal TotalQuote = (Literal)e.Item.FindControl("TotalQuote"); sy = EstCurrency.SelectedValue.Split('|')[2]; TotalQuote.Text = sy + " " + Math.Round(TotalQuotePrice, 2).ToString("N", nfi); break; } }
public async Task CreatePurchaseByUserId(User user, string address) { var products = await this.cartService.GetAllProductsForCurrentUser(user); var currentPurchase = new Purchase { DeliveryAddress = address, PurchaseDate = DateTime.UtcNow, User = user, UserId = user.Id, TotalPrice = products.Sum(p => p.TotalPrice) }; await this.context.Purchases.AddAsync(currentPurchase); await this.context.SaveChangesAsync(); foreach (var product in products) { var curentProduct = await this.context.Products.FirstOrDefaultAsync(p => p.Id == product.Id); curentProduct.Quantity -= product.PurchasedQuantity; curentProduct.PurchaseCount += product.PurchasedQuantity; await this.cartService.RemoveProductFromUserCart(product.Id, user); var purchaseProduct = new PurchaseProduct { ProductId = product.Id, Quantity = product.PurchasedQuantity, PurchaseId = currentPurchase.Id, }; await this.context.PurchaseProducts.AddAsync(purchaseProduct); await this.context.SaveChangesAsync(); } }
public ActionResult Create(TransactionModel tm, int? ProductID, int? CustomerID) { if (ModelState.IsValid) { PurchaseProduct pp = new PurchaseProduct(); Transaction t = new Transaction(); //t.Customer = tm.Customer; t.CustomerID = tm.CustomerID; t.Number = tm.Number; //t.Product = tm.Product; t.ProductID = tm.ProductID; t.TimeStamp = tm.TimeStamp; t.TransactionID = tm.TransactionID; t.IsPaid = tm.IsPaid; t.Expense = tm.Number * db.Products.Find(t.ProductID).CNYPrice.Value; t.Price = db.Products.Find(t.ProductID).Price; t.CNYPrice = db.Products.Find(t.ProductID).CNYPrice.Value; t.CNYSellPrice = db.Products.Find(t.ProductID).CNYSellPrice.Value; t.Income = Convert.ToDecimal(tm.TransactionSellAmount.Substring(1)); t.Benefit = t.Income - t.Expense; t.Weight = tm.Weight; t.TransPortPrice = Convert.ToDecimal(tm.TransportCharge.Substring(1)); if (t.IsPaid) t.PaidDateTime = tm.PaidDateTime; //t.User = tm.User; t.UserID = tm.UserID; pp.CustomerID = tm.CustomerID; pp.ProductID = tm.ProductID; pp.ProviderID = db.Products.Find(tm.ProductID).ProviderID; pp.TimeStamp = DateTime.Now; if (ProductID.HasValue) { t.ProductID = ProductID.Value; } if (CustomerID.HasValue) t.CustomerID = CustomerID.Value; if (Session["LoginUser"] != null) { t.UserID = ((User)Session["LoginUser"]).UserID; pp.UserID = t.UserID; } db.PurchaseProducts.Add(pp); db.Transactions.Add(t); db.SaveChanges(); return RedirectToAction("Index"); } else { ViewBag.Products = new SelectList(db.Products.OrderByDescending(x => x.ProductName), "ProductID", "ProductName", tm.ProductID); ViewBag.Customers = new SelectList(db.Customers.OrderByDescending(x => x.Name), "CustomerID", "Name", tm.CustomerID); return View(tm); } }
public void FillDB() { using (MngPaycheckContext db = new MngPaycheckContext()) { //WORK WITH PRODUCT Product prod = new Product() { Name = "Asus", Characteristicks = "Super laptop", Cost = 1012, Description = "It`s a super" }; Product prod2 = new Product() { Name = "Acer", Characteristicks = "Super laptop", Cost = 2016, Description = "It`s a super" }; ProductType prodType = new ProductType() { Name = "Laptop", }; ProductParametrValue productParametrValue = new ProductParametrValue(prod, "5 gb"); ProductParametr productParametr = new ProductParametr() { Name = "Ram", ProductType = prodType, ProductParametrValue = productParametrValue }; prod.ProductType = prodType; db.Products.Add(prod); db.ProductTypes.Add(prodType); db.ProductParametrs.Add(productParametr); db.ProductParametrValues.Add(productParametrValue); db.SaveChanges(); /////////WORK WITH PURCHASES ///////Create one purchase and added two products in this purchase /// /// /// /// //Create Buyer and add to Buyer purchase Buyer buyer = new Buyer() { Name = "Andrew", Login = "******", Password = "******", }; db.Buyers.Add(buyer); db.SaveChanges(); Purchase purchase = new Purchase() { Favorite = false, PurchaseAdress = "123123213", PurchaseDate = DateTime.Now, SumPurchase = 100213, PaymentType = new PaymentType() { Name = "Cash"}, Buyer = buyer }; PurchaseProduct purchaseProduct = new PurchaseProduct() { Cost = prod.Cost, Units = 12, Product = prod, Purchase = purchase }; PurchaseProduct purchaseProduct2 = new PurchaseProduct() { Cost = prod2.Cost, Product = prod2, Purchase = purchase }; db.PurchaseProducts.Add(purchaseProduct); db.PurchaseProducts.Add(purchaseProduct2); db.SaveChanges(); ////////////////////// PaymentType paytype = new PaymentType() { Name = "Creditka" }; purchase.PaymentType = paytype; db.PaymentTypes.Add(paytype); db.SaveChanges(); foreach (var item in db.Buyers.Select(a=>a.Purchases).ToList()) { foreach (var it in item.Select(a=>a.Favorite)) { Console.WriteLine(it.ToString()); } } //LogicsType<Purchase> payType = new LogicsType<Purchase>(new PaymentTypeStrategy()); //foreach (var item in payType.Execute(paytype))//получаю список всех елементов, у которых тип == paytype //{ // Console.WriteLine(item.PurchaseAdress); //} //Console.WriteLine("!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); //LogicsType<Product> productType = new LogicsType<Product>(new ProductTypeStrategy()); //foreach (var item in productType.Execute(prodType)) //{ // Console.WriteLine(item.Name); //} } Console.WriteLine("OK!"); }