public ActionResult AdminDetails(int ProductID) { myHandler = new BusinessLogicHandler(); gadget = new Technology(); gadget = myHandler.GetTechnologyDetails(ProductID); return View(gadget); }
public async Task<ActionResult> Edit() { if (User.Identity.IsAuthenticated) { ApplicationDbContext mycontext = new ApplicationDbContext(); UserStore<ApplicationUser> myStore = new UserStore<ApplicationUser>(mycontext); ApplicationUserManager mgr = new ApplicationUserManager(myStore); var user = await mgr.FindByNameAsync(User.Identity.Name); WishlistActions grantMyWish = new WishlistActions(); CartActions cart = new CartActions(); ProductViewModel bridge = new ProductViewModel(); List<Book> bookList = new List<Book>(); List<Technology> deviceList = new List<Technology>(); myHandler = new BusinessLogicHandler(); bridge.allWishlistItems = new List<WishlistItem>(); bridge.allWishlistItems = grantMyWish.GetWishlistItems(user.Wishlists.WishlistID); if(bridge.allWishlistItems != null) { bridge.allBook = new List<Book>(); foreach(var item in bridge.allWishlistItems) { if(myHandler.CheckProductType(item.ProductID)) { Book myBook = new Book(); myBook = myHandler.GetBook(item.ProductID); bookList.Add(myBook); } else { Technology myDevice = new Technology(); myDevice = myHandler.GetTechnologyDetails(item.ProductID); deviceList.Add(myDevice); } } //bridge.allBook = myHandler.GetBooks(); bridge.allTechnology = new List<Technology>(); //bridge.allTechnology = myHandler.GetTechnology(); bridge.allBook = bookList; bridge.allTechnology = deviceList; } Session["wishlistTotal"] = grantMyWish.GetWishlistTotal(user.Wishlists.WishlistID); Session["cartTotal"] = cart.GetTotalAsync(user.Carts.CartID); return View(bridge); } else return RedirectToAction("Login", "Account", null); }
public ActionResult Details(int OrderNumber) { #region Prep Utilities myHandler = new BusinessLogicHandler(); OrderLineModel model = new OrderLineModel(); #endregion #region Get Order Details model.OrderLineDetails = myHandler.GetOrderItemsList(OrderNumber); model.OrderDetails = myHandler.GetOrder(OrderNumber); model.SupplierDetails = myHandler.GetSupplier(model.OrderDetails.SupplierID); #endregion #region Get Order Total model.totally = 0; foreach(var item in model.OrderLineDetails) { if(myHandler.CheckProductType(item.ProductID)) { Book myBook = new Book(); myBook = myHandler.GetBook(item.ProductID); model.totally += (myBook.SellingPrice*item.Quantity); } else { Technology device = new Technology(); device = myHandler.GetTechnologyDetails(item.ProductID); model.totally += (device.SellingPrice * item.Quantity); } } #endregion return PartialView(model); }
public ActionResult Restore(int ProductID) { { AddNewTechViewModel model = new AddNewTechViewModel(); model.techs = new Technology(); myHandler = new BusinessLogicHandler(); gadget = myHandler.GetTechnologyDetails(ProductID); model.techs = gadget; return View(model); } }
public ActionResult Edit(int ProductID) { AddNewTechViewModel model = new AddNewTechViewModel(); myHandler = new BusinessLogicHandler(); gadget = new Technology(); gadget = myHandler.GetTechnologyDetails(ProductID); model.techs = new Technology(); model.techs = gadget; SupplierHandler supHandler = new SupplierHandler(); /*TEMP LIST*/ //List<Supplier> nameList = new List<Supplier>(); IEnumerable<Supplier> nameList = (IEnumerable<Supplier>)supHandler.GetTechSupplierList(); var disp = from nameAndId in nameList select new { Value = nameAndId.SupplierID, Text = nameAndId.Name }; ViewBag.SupplierList = new SelectList(disp.ToList()); TechCategoryHandler typeHandler = new TechCategoryHandler(); IEnumerable<TechCategory> typeList = (IEnumerable<TechCategory>)typeHandler.GetTechCategoryList(); var dispTC = from name in typeList select new { Value = name.TechCategoryID, Text = name.CategoryName }; ViewBag.TechCategoryList = new SelectList(dispTC.ToList()); ManufacturerHandler manHandler = new ManufacturerHandler(); IEnumerable<Manufacturer> manList = (IEnumerable<Manufacturer>)manHandler.GetManufacturerList(); var dispM = from mName in manList select new { Value = mName.ManufacturerID, Text = mName.Name }; ViewBag.ManufacturerList = new SelectList(dispM.ToList()); model.techs = myHandler.GetTechnologyDetails(ProductID); Supplier sp = new Supplier(); TechCategory tck = new TechCategory(); Manufacturer mna = new Manufacturer(); foreach (var item in manList) { if (item.ManufacturerID == model.techs.ManufacturerID) { mna.ManufacturerID = item.ManufacturerID; mna.Name = item.Name; } } foreach (var item in nameList) { if (item.SupplierID == model.techs.SupplierID) { sp.SupplierID = item.SupplierID; sp.Name = item.Name; } } foreach (var item in typeList) { if (item.TechCategoryID == model.techs.TechCategoryID) { tck.TechCategoryID = item.TechCategoryID; tck.CategoryName = item.CategoryName; } } List<SelectListItem> supplier = new List<SelectListItem>(); supplier.Add(new SelectListItem { Value = sp.SupplierID.ToString(), Text = sp.Name, Selected = true }); foreach (var item in nameList) { if (item.SupplierID != sp.SupplierID) supplier.Add(new SelectListItem { Text = item.Name, Value = item.SupplierID.ToString() }); } model.suppliers = new List<SelectListItem>(); model.suppliers = supplier; ViewData["suppliers"] = supplier; List<SelectListItem> techCategory = new List<SelectListItem>(); techCategory.Add(new SelectListItem { Value = tck.TechCategoryID.ToString(), Text = tck.CategoryName, Selected = true }); foreach (var item in typeList) { if (item.TechCategoryID != tck.TechCategoryID) techCategory.Add(new SelectListItem { Text = item.CategoryName, Value = item.TechCategoryID.ToString() }); } model.techCategories = new List<SelectListItem>(); model.techCategories = techCategory; ViewData["techCategories"] = techCategory; List<SelectListItem> manufacturer = new List<SelectListItem>(); manufacturer.Add(new SelectListItem { Value = mna.ManufacturerID.ToString(), Text = mna.Name, Selected = true }); foreach (var item in manList) { if (item.ManufacturerID != mna.ManufacturerID) manufacturer.Add(new SelectListItem { Text = item.Name, Value = item.ManufacturerID.ToString() }); } model.manufacturers = new List<SelectListItem>(); model.manufacturers = manufacturer; ViewData["manufacturers"] = manufacturer; return View(model); }
public ActionResult Details(int ProductID) { #region Prep Utilities myHandler = new BusinessLogicHandler(); AddNewTechViewModel model = new AddNewTechViewModel(); #endregion #region Get Device Data model.techs = new Technology(); model.techs = myHandler.GetTechnologyDetails(ProductID); #endregion #region Get Category Data model.Category = new TechCategory(); model.Category = myHandler.GetTechnologyType(model.techs.TechCategoryID); #endregion #region Get Manufacturer Data model.mans = new Manufacturer(); model.mans = myHandler.GetManufacturer(model.techs.ManufacturerID); #endregion return View(model); }
public async Task<ActionResult> Receipt(int? IID) { List<CartItem> myItems = new List<CartItem>(); myItems = (List<CartItem>)Session["myItems"]; ProductViewModel model = new ProductViewModel(); myHandler = new BusinessLogicHandler(); model = (ProductViewModel)Session["deliverData"]; #region Get Cart Items List<Book> ifBooks = new List<Book>(); List<Technology> ifGadget = new List<Technology>(); foreach (var item in myItems) { if (myHandler.CheckProductType(item.ProductID)) { Book book = new Book(); book = myHandler.GetBook(item.ProductID); ifBooks.Add(book); } else { Technology gadget = new Technology(); gadget = myHandler.GetTechnologyDetails(item.ProductID); ifGadget.Add(gadget); } //try //{ // Book book = new Book(); // book = myHandler.GetBook(item.ProductID); // ifBooks.Add(book); //} //catch //{ // Technology gadget = new Technology(); // gadget = myHandler.GetTechnologyDetails(item.ProductID); // ifGadget.Add(gadget); //} } model.allTechnology = ifGadget; model.allBook = ifBooks; model.allCartItem = myItems; #endregion #region Push User Details string userName = User.Identity.GetUserName(); ApplicationDbContext dataSocket = new ApplicationDbContext(); UserStore<ApplicationUser> myStore = new UserStore<ApplicationUser>(dataSocket); userMgr = new ApplicationUserManager(myStore); var user = userMgr.FindByEmail(userName); model.UserDetails = new ProvideUser(); model.UserDetails.Address = user.Address; model.UserDetails.email = user.Email; model.UserDetails.PhoneNumber = user.PhoneNumber; CustomerContext customer = new CustomerContext(); Customer thisCust = new Customer(); thisCust = customer.Customers.FirstOrDefault(cust => cust.User_Id == user.Id); model.UserDetails.LName = thisCust.LastName; model.UserDetails.Name = thisCust.FirstName; #endregion #region Push Invoice nfo model.recieptData = new Invoice(); model.recieptData = myHandler.GetInvoice(IID.GetValueOrDefault()); #endregion #region Push Company nfo myHandler = new BusinessLogicHandler(); model.company = new Company(); model.company = myHandler.GetCompanyDetail(); #endregion #region Push Delivery nfo Delivery shipping = new Delivery(); myHandler = new BusinessLogicHandler(); shipping = myHandler.GetDeliveryDetails(model.recieptData.DeliveryServiceID); model.deliveryHelper.DeliveryServiceName = shipping.ServiceName; model.deliveryHelper.DeliveryServicePrice = shipping.Price; model.deliveryHelper.DeliveryServiceType = shipping.ServiceType; #endregion #region Calculate List<ProductViewModel.CartHelper> itemList = new List<ProductViewModel.CartHelper>(); ProductViewModel.CartHelper cartHelp; if (myItems != null) { if (ifBooks != null) { var revised = from rev in ifBooks join item in myItems on rev.ProductID equals item.ProductID where rev.ProductID == item.ProductID select new { rev.ProductID, rev.SellingPrice, item.Quantity, item.CartItemID }; foreach (var ite in revised) { cartHelp = new ProductViewModel.CartHelper(); cartHelp.ProductID = ite.ProductID; cartHelp.CartItemID = ite.CartItemID; cartHelp.TotalPerItem = (ite.SellingPrice * ite.Quantity); itemList.Add(cartHelp); } } } if (myItems != null) { if (ifGadget != null) { var revised = from rev in ifGadget join item in myItems on rev.ProductID equals item.ProductID where rev.ProductID == item.ProductID select new { rev.ProductID, rev.SellingPrice, item.Quantity, item.CartItemID }; foreach (var ite in revised) { cartHelp = new ProductViewModel.CartHelper(); cartHelp.ProductID = ite.ProductID; cartHelp.CartItemID = ite.CartItemID; cartHelp.TotalPerItem = (ite.SellingPrice * ite.Quantity); itemList.Add(cartHelp); } } } double cartTotal = Convert.ToDouble(Session["cartTotal"].ToString()); cartTotal = cartTotal / 100; myHandler = new BusinessLogicHandler(); List<Company> company = myHandler.GetCompanyDetails(); double vat = 0; cartTotal += Convert.ToDouble(model.deliveryHelper.DeliveryServicePrice); foreach (var item in company) { vat = item.VATPercentage; } vat = vat + 1; double subTotal = cartTotal / vat; double vatAmount = cartTotal - subTotal; ProductViewModel.CartConclude finishing = new ProductViewModel.CartConclude(); finishing.CartTotal = cartTotal; finishing.VatAddedTotal = vatAmount; finishing.SubTotal = subTotal; model.ItsA_wrap = new List<ProductViewModel.CartConclude>(); model.ItsA_wrap.Add(finishing); model.secureCart = itemList; #endregion #region Clear the cart foreach (var item in itemList) { myHandler = new BusinessLogicHandler(); myHandler.DeleteCartItem(item.CartItemID); } #endregion #region Clear SESSION Session["myItems"] = null; Session["cartTotal"] = (double) await GetCartTotal(user.Carts.CartID); #endregion #region Prep for exporting to PDF Session["pdf"] = model; #endregion return View(model); }
public ActionResult Checkout(FormCollection collection, ProductViewModel model) { Delivery shipping = new Delivery(); IEnumerable<Book> ifBooks = (IEnumerable<Book>)Session["myBooks"]; IEnumerable<Technology> ifGadget = (IEnumerable<Technology>)Session["myGadget"]; List<CartItem> myItems = (List<CartItem>)Session["myItems"]; myHandler = new BusinessLogicHandler(); #region Get Shipping Data try { shipping = myHandler.GetDeliveryDetails(Convert.ToInt32(collection[1].ToString())); if (ModelState.ContainsKey("I_DeliveryList")) ModelState["I_DeliveryList"].Errors.Clear(); } catch { ModelState.AddModelError("deliveryHelper.DeliveryServicePrice", "Please select a delivery service from dropdown !"); } #endregion #region Cathing model errors var error = ModelState.Values.SelectMany(e => e.Errors); var errors = ModelState .Where(x => x.Value.Errors.Count > 0) .Select(x => new { x.Key, x.Value.Errors }) .ToArray(); #endregion int? IID = 0; if (ModelState.IsValid) { #region Get User string userName = User.Identity.GetUserName(); ApplicationDbContext dataSocket = new ApplicationDbContext(); UserStore<ApplicationUser> myStore = new UserStore<ApplicationUser>(dataSocket); userMgr = new ApplicationUserManager(myStore); var user = userMgr.FindByEmail(userName); #endregion try { #region Creating the reciept/invoice Invoice reciept = new Invoice { User_Id = user.Id, DateCreated = DateTime.Now, DeliveryAddress = model.deliveryHelper.DeliveryAddress, DeliveryServiceID = Convert.ToInt32(collection[1].ToString()), Status = false }; try { InvoiceItem invoiceLine = new InvoiceItem(); invoiceLine = myHandler.GetInvoiceLastNumber(reciept); foreach (var item in myItems) { invoiceLine.CartItemID = item.CartItemID; invoiceLine.ProductID = item.ProductID; invoiceLine.Quantity = item.Quantity; #region Get Product Price bool chk = false; chk = myHandler.CheckProductType(item.ProductID); if (chk) { Book book = new Book(); book = myHandler.GetBook(item.ProductID); invoiceLine.Price = book.SellingPrice; myHandler.AddinvoiceItem(invoiceLine); } else { Technology device = new Technology(); device = myHandler.GetTechnologyDetails(item.ProductID); invoiceLine.Price = device.SellingPrice; myHandler.AddinvoiceItem(invoiceLine); } #endregion } IID = invoiceLine.InvoiceID; } catch { } #endregion #region Placing the order try { #region Prep Utilities Order ord; Book book = new Book(); Technology gadget = new Technology(); int supplierId = 0; OrderItem orderLine = new OrderItem(); myHandler = new BusinessLogicHandler(); List<int> orders = new List<int>(); List<int> suppliers = new List<int>(); #endregion foreach (var item in myItems) { if (myHandler.CheckProductType(item.ProductID)) { book = myHandler.GetBook(item.ProductID); supplierId = book.SupplierID; if (suppliers.Contains(book.SupplierID)) { int x = suppliers.IndexOf(supplierId); orderLine.OrderNo = orders.ElementAt(x); orderLine.ProductID = item.ProductID; orderLine.Quantity = item.Quantity; myHandler.AddOrderItem(orderLine); } else { suppliers.Add(supplierId); ord = new Order { DateCreated = DateTime.Now.Date, SupplierID = supplierId, InvoiceID = IID.GetValueOrDefault(), DateLastModified = DateTime.Now.Date, Status = false }; orderLine = myHandler.AddOrder(ord); orders.Add(orderLine.OrderNo); orderLine.ProductID = item.ProductID; orderLine.Quantity = item.Quantity; myHandler.AddOrderItem(orderLine); } } else { supplierId = ifGadget.SingleOrDefault(m => m.ProductID == item.ProductID).SupplierID; if (suppliers.Contains(supplierId)) { int y = suppliers.IndexOf(supplierId); orderLine.OrderNo = orders.ElementAt(y); orderLine.ProductID = item.ProductID; orderLine.Quantity = item.Quantity; myHandler.AddOrderItem(orderLine); } else { suppliers.Add(supplierId); ord = new Order { DateCreated = DateTime.Now.Date, SupplierID = supplierId, InvoiceID = IID.GetValueOrDefault(), DateLastModified = DateTime.Now.Date, Status = false }; orderLine = myHandler.AddOrder(ord); orders.Add(orderLine.OrderNo); orderLine.ProductID = item.ProductID; orderLine.Quantity = item.Quantity; myHandler.AddOrderItem(orderLine); } } } } catch { } #endregion } catch {/*Navigate to custom error page*/ } Session["deliverData"] = model; return RedirectToAction("Receipt", new { IID = IID }); } else { #region Feed The Model CartItem thishereItem = new CartItem(); try { ProductViewModel.CartHelper cartHelp; List<ProductViewModel.CartHelper> itemList = new List<ProductViewModel.CartHelper>(); double cartTotal = 0; if (myItems != null) { if (ifBooks != null) { var revised = from rev in ifBooks join item in myItems on rev.ProductID equals item.ProductID where rev.ProductID == item.ProductID select new { rev.ProductID, rev.SellingPrice, item.Quantity }; foreach (var ite in revised) { cartHelp = new ProductViewModel.CartHelper(); cartHelp.ProductID = ite.ProductID; cartHelp.TotalPerItem = (ite.SellingPrice * ite.Quantity); cartTotal += (ite.SellingPrice * ite.Quantity); itemList.Add(cartHelp); } } if (ifGadget != null) { var revised = from rev in ifGadget join item in myItems on rev.ProductID equals item.ProductID where rev.ProductID == item.ProductID select new { rev.ProductID, rev.SellingPrice, item.Quantity }; foreach (var ite in revised) { cartHelp = new ProductViewModel.CartHelper(); cartHelp.ProductID = ite.ProductID; cartHelp.TotalPerItem = (ite.SellingPrice * ite.Quantity); cartTotal += (ite.SellingPrice * ite.Quantity); itemList.Add(cartHelp); } } } List<Company> company = new List<Company>(); myHandler = new BusinessLogicHandler(); company = myHandler.GetCompanyDetails(); double vat = 0; foreach (var item in company) { vat = item.VATPercentage; } //calc double vatAmount = (cartTotal * vat); double subTotal = (cartTotal - vatAmount); ProductViewModel.CartConclude finishing = new ProductViewModel.CartConclude(); finishing.CartTotal = cartTotal; finishing.VatAddedTotal = vatAmount; finishing.SubTotal = subTotal; model.ItsA_wrap = new List<ProductViewModel.CartConclude>(); model.ItsA_wrap.Add(finishing); model.deliveryHelper.DeliveryServiceName = shipping.ServiceName; model.deliveryHelper.DeliveryServicePrice = shipping.Price; model.deliveryHelper.DeliveryServiceType = shipping.ServiceType; model.secureCart = itemList; model.allBook = new List<Book>(); model.allBook = ifBooks.ToList() ; model.allCartItem = new List<CartItem>(); model.allCartItem = myItems; model.allTechnology = new List<Technology>(); model.allTechnology = ifGadget.ToList(); } catch { } #endregion #region Drop down data DeliveryHandler deliver = new DeliveryHandler(); IEnumerable<Delivery> delivery = (IEnumerable<Delivery>)deliver.GetDeliveryList(); var dataStore = from name in delivery select new { Value = name.DeliveryServiceID, Text = name.ServiceName }; ViewBag.DeliveryList = new SelectList(dataStore.ToList()); List<SelectListItem> deliveryI = new List<SelectListItem>(); deliveryI.Add(new SelectListItem { Text = "Delivery Service", Value = "", Selected = true }); foreach (var item in delivery) { deliveryI.Add(new SelectListItem { Text = item.ServiceName, Value = item.DeliveryServiceID.ToString() }); } model.I_DeliveryList = new List<SelectListItem>(); model.I_DeliveryList = deliveryI; ViewData["I_Delivery"] = deliveryI; #endregion return View(model); } }
public async Task<ActionResult> Checkout() { #region Data to Display CartActions act = new CartActions(); WishlistActions wishAct = new WishlistActions(); ApplicationDbContext dataSocket = new ApplicationDbContext(); UserStore<ApplicationUser> myStore = new UserStore<ApplicationUser>(dataSocket); userMgr = new ApplicationUserManager(myStore); var thisUser = await userMgr.FindByNameAsync(User.Identity.Name); int Id = (int)thisUser.Carts.CartID; try { double nm = await GetCartTotal(Id); string[] xn = nm.ToString().Split('.'); Session["cartTotal"] = xn[0] + "," + xn[1]; } catch { Session["cartTotal"] = act.GetTotalAsync(Id); } Session["wishlistTotal"] = wishAct.GetWishlistTotal(thisUser.Wishlists.WishlistID); //List<CartItem> myItems = new List<CartItem>(); ProductViewModel myNewModel = new ProductViewModel(); IEnumerable<CartItem> myItems = act.GetCartItemsAsync(Id); if (myItems != null) { myHandler = new BusinessLogicHandler(); List<Book> ifBooks = new List<Book>(); List<Technology> ifGadget = new List<Technology>(); foreach (var item in myItems) { if (myHandler.CheckProductType(item.ProductID)) { Book book = new Book(); book = myHandler.GetBook(item.ProductID); ifBooks.Add(book); } else { Technology device = new Technology(); device = myHandler.GetTechnologyDetails(item.ProductID); ifGadget.Add(device); } } myNewModel.allBook = ifBooks; myNewModel.allCartItem = myItems.ToList(); myNewModel.allTechnology = ifGadget; List<ProductViewModel.CartHelper> itemList = new List<ProductViewModel.CartHelper>(); ProductViewModel.CartHelper cartHelp; if (myItems != null) { var revised = from rev in ifBooks join item in myItems on rev.ProductID equals item.ProductID where rev.ProductID == item.ProductID select new { rev.ProductID, rev.SellingPrice, item.Quantity }; foreach (var ite in revised) { cartHelp = new ProductViewModel.CartHelper(); cartHelp.ProductID = ite.ProductID; cartHelp.TotalPerItem = (ite.SellingPrice * ite.Quantity); itemList.Add(cartHelp); } } if (myItems != null) { if (ifGadget != null) { var revised = from rev in ifGadget join item in myItems on rev.ProductID equals item.ProductID where rev.ProductID == item.ProductID select new { rev.ProductID, rev.SellingPrice, item.Quantity }; foreach (var ite in revised) { cartHelp = new ProductViewModel.CartHelper(); cartHelp.ProductID = ite.ProductID; cartHelp.TotalPerItem = (ite.SellingPrice * ite.Quantity); itemList.Add(cartHelp); } } } double cartTotal = Convert.ToDouble(Session["cartTotal"].ToString()); cartTotal = cartTotal / 100; List<Company> company = myHandler.GetCompanyDetails(); double vat = 0; foreach (var item in company) { vat = item.VATPercentage; } vat = vat + 1; double subTotal = cartTotal / vat; double vatAmount = cartTotal - subTotal; ProductViewModel.CartConclude finishing = new ProductViewModel.CartConclude(); finishing.CartTotal = cartTotal; finishing.VatAddedTotal = vatAmount; finishing.SubTotal = subTotal; myNewModel.ItsA_wrap = new List<ProductViewModel.CartConclude>(); myNewModel.ItsA_wrap.Add(finishing); myNewModel.secureCart = itemList; } else { return RedirectToAction("Edit"); } #endregion #region Drop down data DeliveryHandler deliver = new DeliveryHandler(); IEnumerable<Delivery> delivery = (IEnumerable<Delivery>)deliver.GetDeliveryList(); var dataStore = from name in delivery select new { Value = name.DeliveryServiceID, Text = name.ServiceName }; ViewBag.DeliveryList = new SelectList(dataStore.ToList()); List<SelectListItem> deliveryI = new List<SelectListItem>(); deliveryI.Add(new SelectListItem { Text = "Delivery Service", Value = "", Selected = true }); foreach (var item in delivery) { deliveryI.Add(new SelectListItem { Text = item.ServiceName, Value = item.DeliveryServiceID.ToString() }); } myNewModel.I_DeliveryList = new List<SelectListItem>(); myNewModel.I_DeliveryList = deliveryI; ViewData["I_Delivery"] = deliveryI; #endregion #region Default Address if (thisUser.Address != null) { myNewModel.deliveryHelper = new DeliveryHelper(); myNewModel.deliveryHelper.DeliveryAddress = thisUser.Address; } #endregion return View(myNewModel); }
public async Task<ActionResult> Edit() { CartActions act = new CartActions(); WishlistActions wishAct = new WishlistActions(); ApplicationDbContext dataSocket = new ApplicationDbContext(); UserStore<ApplicationUser> myStore = new UserStore<ApplicationUser>(dataSocket); userMgr = new ApplicationUserManager(myStore); var thisUser = await userMgr.FindByNameAsync(User.Identity.Name); int Id = (int)thisUser.Carts.CartID; try { double nm = await GetCartTotal(Id); string[] xn = nm.ToString().Split('.'); Session["cartTotal"] = xn[0] + "," + xn[1]; } catch { Session["cartTotal"] = act.GetTotalAsync(Id); } Session["wishlistTotal"] = wishAct.GetWishlistTotal(thisUser.Wishlists.WishlistID); List<CartItem> myItems = new List<CartItem>(); try { myItems = act.GetCartItemsAsync(Id).ToList();} catch(ArgumentNullException) { myItems = null; } myHandler = new BusinessLogicHandler(); List<Book> ifBooks = new List<Book>(); ProductViewModel myNewModel = new ProductViewModel(); List<Technology> ifGadget = new List<Technology>(); if (myItems != null) { foreach (var item in myItems) { if (myHandler.CheckProductType(item.ProductID)) { Book book = new Book(); book = myHandler.GetBook(item.ProductID); ifBooks.Add(book); } else { Technology device = new Technology(); device = myHandler.GetTechnologyDetails(item.ProductID); ifGadget.Add(device); } } myNewModel.allCartItem = new List<CartItem>(); myNewModel.allBook = new List<Book>(); myNewModel.allTechnology = new List<Technology>(); List<ProductViewModel.CartHelper> itemList = new List<ProductViewModel.CartHelper>(); ProductViewModel.CartHelper cartHelp; if (myItems != null) { if (ifBooks != null) { var revised = from rev in ifBooks join item in myItems on rev.ProductID equals item.ProductID where rev.ProductID == item.ProductID select new { rev.ProductID, rev.SellingPrice, item.Quantity }; foreach (var ite in revised) { cartHelp = new ProductViewModel.CartHelper(); cartHelp.ProductID = ite.ProductID; cartHelp.TotalPerItem = (ite.SellingPrice * ite.Quantity); itemList.Add(cartHelp); } } } if (myItems != null) { if (ifGadget != null) { var revised = from rev in ifGadget join item in myItems on rev.ProductID equals item.ProductID where rev.ProductID == item.ProductID select new { rev.ProductID, rev.SellingPrice, item.Quantity }; foreach (var ite in revised) { cartHelp = new ProductViewModel.CartHelper(); cartHelp.ProductID = ite.ProductID; cartHelp.TotalPerItem = (ite.SellingPrice * ite.Quantity); itemList.Add(cartHelp); } } } double cartTotal = Convert.ToDouble(Session["cartTotal"].ToString()); cartTotal = cartTotal / 100; List<Company> company = myHandler.GetCompanyDetails(); double vat = 0; foreach (var item in company) { vat = item.VATPercentage; } vat = vat + 1; double subTotal = cartTotal / vat; double vatAmount = cartTotal - subTotal; ProductViewModel.CartConclude finishing = new ProductViewModel.CartConclude(); finishing.CartTotal = cartTotal; finishing.VatAddedTotal = vatAmount; finishing.SubTotal = subTotal; myNewModel.allBook = ifBooks; myNewModel.allCartItem = myItems; myNewModel.allTechnology = ifGadget; myNewModel.ItsA_wrap = new List<ProductViewModel.CartConclude>(); myNewModel.ItsA_wrap.Add(finishing); myNewModel.secureCart = itemList; return View(myNewModel); } else { myNewModel.ItsA_wrap = new List<ProductViewModel.CartConclude>(); return View(myNewModel); } }
public ActionResult Product(int ProductID) { #region Prep Utilities myHandler = new BusinessLogicHandler(); UnifiedViewModel model = new UnifiedViewModel(); Author Author = new Author(); #endregion #region Config Roles if(User.IsInRole("supplier")) { model.iSupplier = true; } #endregion #region Get the Data if (myHandler.CheckProductType(ProductID)) { model.Book = new Book(); model.Book = myHandler.GetBook(ProductID); model.BookCategory = new BookCategory(); model.BookCategory = myHandler.GetBookCategory(model.Book.BookCategoryID); model.Publisher = new Publisher(); model.Publisher = myHandler.GetPublisher(model.Book.PublisherID); IEnumerable<BookAuthor> authorsINbook = myHandler.GetBookAuthors(model.Book.BookID); model.Authors = new List<Author>(); foreach(var item in authorsINbook) { Author = myHandler.GetAuthorDetails(item.AuthorID); model.Authors.Add(Author); } } else { model.Device = new Technology(); model.Device = myHandler.GetTechnologyDetails(ProductID); model.Manufacturer = new Manufacturer(); model.Manufacturer = myHandler.GetManufacturer(model.Device.ManufacturerID); model.Category = new TechCategory(); model.Category = myHandler.GetTechnologyType(model.Device.TechCategoryID); } #endregion return View(model); }