public ActionResult PendingShipping(int?page, string id, string sccess, string bllno) { PendingShipping pendingShipping = new PendingShipping(); List <PendingShipping> pendingShippingList = new List <PendingShipping>(); using (EasyBillingEntities db = new EasyBillingEntities()) { List <Placed_Order> placed_Order = db.Placed_Orders.Where(z => z.Orderplaced == false).Distinct().ToList(); if (id != null) { Placed_Order plcdorder = db.Placed_Orders.Where(z => z.Token_number == id).Distinct().FirstOrDefault(); if (plcdorder.Orderplaced == false) { plcdorder.Orderplaced = true; plcdorder.Approve_Date = DateTime.Now.Date; db.SaveChanges(); Billing_Master billing = new Billing_Master(); Billing_Detail billing_Detail = new Billing_Detail(); Stockout stockout = new Stockout(); Products_For_Sale products_For_Sale = db.Products_For_Sales.Where(z => z.Token_Number == plcdorder.Item_token).FirstOrDefault(); //===============bill master entry=========================// billing.Customer_Token_number = plcdorder.Customer_token; billing.Total_tax = (products_For_Sale.Amout_after_tax - products_For_Sale.Selling_Price) * plcdorder.Pieces; billing.Rate_including_tax = (products_For_Sale.Amout_after_tax) * plcdorder.Pieces; billing.Total_discount = decimal.Parse("0.00") * plcdorder.Pieces; billing.Total_amount = products_For_Sale.Total * plcdorder.Pieces; if (plcdorder.Ispaid == true) { billing.Payment_Statement = "*** Paid by Paypal ***"; } else { billing.Payment_Statement = "*** Pay on delivery ***"; } //===============bill details entry=========================// billing_Detail.Product_Token = plcdorder.Item_token; billing_Detail.Pieces = products_For_Sale.Pieces * plcdorder.Pieces; billing_Detail.Tax = (products_For_Sale.Amout_after_tax - products_For_Sale.Selling_Price) * plcdorder.Pieces; billing_Detail.Discount = decimal.Parse("0.00"); billing_Detail.Sub_Total = products_For_Sale.Total * plcdorder.Pieces; //===============stockout entry=========================// stockout.Product_Token = plcdorder.Item_token; stockout.Pieces = products_For_Sale.Pieces * plcdorder.Pieces; stockout.CGST = (products_For_Sale.Selling_Price * plcdorder.Pieces) + ((products_For_Sale.CGST * plcdorder.Pieces) / 100); stockout.SGST = (products_For_Sale.Selling_Price * plcdorder.Pieces) + ((products_For_Sale.SGST * plcdorder.Pieces) / 100); stockout.Sub_Total = products_For_Sale.Total * plcdorder.Pieces; //===========================================================// billing.Billing_Details.Add(billing_Detail); billing.Stockouts.Add(stockout); using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://localhost:8087/api/Billing/PostShippingBill"); //HTTP POST var postTask = client.PostAsJsonAsync("http://localhost:8087/api/Billing/PostShippingBill", billing); postTask.Wait(); var result = postTask.Result; if (result.IsSuccessStatusCode) { var nmbr = result.Content.ReadAsStringAsync() .Result .Replace("\\", "") .Trim(new char[1] { '"' }); ViewBag.billno = nmbr; ViewBag.success = "Successfully approved"; } else { ViewBag.error = "Something went wrong. Please try again."; } } } else { ViewBag.error = "Already approved"; } } placed_Order = db.Placed_Orders.Where(z => z.Orderplaced == false).Distinct().ToList(); foreach (var plcdordrpending in placed_Order) { pendingShipping.token = plcdordrpending.Token_number; if (plcdordrpending.IsUser == true) { pendingShipping.Customer_name = db.Users.Where(z => z.Token_number == plcdordrpending.Customer_token).Select(z => z.Name).Distinct().FirstOrDefault(); } else { pendingShipping.Customer_name = db.Customers.Where(z => z.Token_number == plcdordrpending.Customer_token).Select(z => z.Customer_Name).Distinct().FirstOrDefault(); } pendingShipping.tyreName = db.Products_For_Sales.Where(z => z.Token_Number == plcdordrpending.Item_token).Select(z => z.Product_name).Distinct().FirstOrDefault(); pendingShipping.Total_Piece = plcdordrpending.Pieces; pendingShipping.Total_Price = (db.Products_For_Sales.Where(z => z.Token_Number == plcdordrpending.Item_token).Select(z => z.Total).Distinct().FirstOrDefault()) * plcdordrpending.Pieces; pendingShipping.Applied_Date = plcdordrpending.Order_Date; pendingShipping.Isuser = plcdordrpending.IsUser; if (plcdordrpending.Ispaid == true) { pendingShipping.paymentstatement = "Paid by Paypal"; } else { pendingShipping.paymentstatement = "Pay on delivery"; } pendingShippingList.Add(pendingShipping); pendingShipping = new PendingShipping(); } } if (ViewBag.error != null) { return(RedirectToAction("PendingShipping", new { sccess = ViewBag.error })); } else if (ViewBag.success != null) { return(RedirectToAction("PendingShipping", new { sccess = ViewBag.success, bllno = ViewBag.billno, id = "" })); } else { ViewBag.success = sccess; ViewBag.billno = bllno; ViewBag.error = sccess; return(View(pendingShippingList.ToPagedList(page ?? 1, 5))); } }
public ActionResult PlaceOrderSuccess(string v, string pymth, string usr) { if (pymth.ToUpper() == "PAYPAL") { ViewBag.payment = "Pay with paypal"; } else { ViewBag.payment = "Pay on delivery"; } Customer_shipping_address customer_Shipping_Address = new Customer_shipping_address(); Placed_Order placed_Order = new Placed_Order(); if (v != null && v != "") { using (EasyBillingEntities db = new EasyBillingEntities()) { if (v.ToLower() != "crt") { ViewBag.item = db.Products_For_Sales.Where(z => z.Token_Number == v).Distinct().FirstOrDefault(); ViewBag.tkn = v; } string customerToken = null; if (usr == "1") { customerToken = db.Users.Where(z => z.Email == User.Identity.Name).Select(z => z.Token_number).Distinct().FirstOrDefault(); } else { customerToken = db.Customers.Where(z => z.Email == User.Identity.Name).Select(z => z.Token_number).Distinct().FirstOrDefault(); } if (v.ToLower() == "crt") { ViewBag.tkn = null; List <cartlist> cartlists = new List <cartlist>(); var itmcrt = db.Temp_placedorder.Where(z => z.Customer_token == customerToken).Distinct().ToList(); foreach (var eachitm in itmcrt) { cartlist cartlist = new cartlist(); var lst = db.Products_For_Sales.Where(z => z.Token_Number == eachitm.Item_token).Select(z => z.Total).Distinct().FirstOrDefault(); cartlist.Price = lst; cartlists.Add(cartlist); } var total = decimal.Parse("0.00"); foreach (var crtlsts in cartlists) { total = total + crtlsts.Price; } ViewBag.itemcart = total; } bool chktkn = db.Customer_shipping_addresses.Where(z => z.Customer_token_number == customerToken).Any(); if (chktkn != false) { if (v.ToLower() != "crt") { placed_Order.Token_number = Guid.NewGuid().ToString(); placed_Order.Item_token = v; placed_Order.Orderplaced = false; placed_Order.Pieces = 1; placed_Order.Customer_token = customerToken; if (usr == "1") { placed_Order.IsUser = true; } else { placed_Order.IsUser = false; } placed_Order.Order_Date = DateTime.Now.Date; placed_Order.Approve_Date = DateTime.Parse("12/12/12"); if (pymth.ToUpper() == "PAYPAL") { placed_Order.Ispaid = true; } else { placed_Order.Ispaid = false; } db.Placed_Orders.Add(placed_Order); Stock stock = db.Stocks.Where(z => z.Product_Token == v).Distinct().FirstOrDefault(); Products_For_Sale products_For_Sale = db.Products_For_Sales.Where(z => z.Token_Number == v).Distinct().FirstOrDefault(); stock.Pieces = stock.Pieces - products_For_Sale.Pieces; if (stock.Pieces < 0) { return(RedirectToAction("PlaceOrder", new { error = "Stock cannot be negetive. Please check." })); } else { db.SaveChanges(); } } else { var tmlchk = db.Temp_placedorder.Where(z => z.Customer_token == customerToken).Distinct().ToList(); if (tmlchk.Count() > 0) { foreach (var eachtmpdata in tmlchk) { placed_Order.Token_number = Guid.NewGuid().ToString(); placed_Order.Item_token = eachtmpdata.Item_token; placed_Order.Orderplaced = false; placed_Order.Pieces = (int)eachtmpdata.Pieces; placed_Order.Customer_token = customerToken; if (usr == "1") { placed_Order.IsUser = true; } else { placed_Order.IsUser = false; } placed_Order.Order_Date = DateTime.Now.Date; placed_Order.Approve_Date = DateTime.Parse("12/12/12"); if (pymth.ToUpper() == "PAYPAL") { placed_Order.Ispaid = true; } else { placed_Order.Ispaid = false; } db.Placed_Orders.Add(placed_Order); Stock stock = db.Stocks.Where(z => z.Product_Token == eachtmpdata.Item_token).Distinct().FirstOrDefault(); Products_For_Sale products_For_Sale = db.Products_For_Sales.Where(z => z.Token_Number == eachtmpdata.Item_token).Distinct().FirstOrDefault(); stock.Pieces = stock.Pieces - (products_For_Sale.Pieces * ((int)eachtmpdata.Pieces)); if (stock.Pieces < 0) { return(RedirectToAction("PlaceOrder", new { error = "Stock cannot be negetive. Please check." })); } else { db.SaveChanges(); } } } db.Temp_placedorder.RemoveRange(tmlchk); db.SaveChanges(); } customer_Shipping_Address = db.Customer_shipping_addresses.Where(z => z.Customer_token_number == customerToken).Distinct().FirstOrDefault(); } } } if (customer_Shipping_Address != null) { return(View(customer_Shipping_Address)); } else { return(View()); } }