public ActionResult PostComment(CommentModel cm, int proID) { try { string username = Session["username"].ToString(); Account a = new AccountServ.AccountServiceClient().getAccountByUsername(username); int accountID = a.ID; Comment c = new Comment(); c.Comment1 = cm.Comment; c.ProductID = proID; c.AccountID = accountID; Rating r = new Rating(); r.Rating1 = cm.rating; r.AccountID = a.ID; r.ProductID = proID; new ProductServ.ProductServiceClient().CreateRating(r); new ProductServ.ProductServiceClient().Create(c); return(RedirectToAction("UserHistory")); } catch (Exception e) { TempData["CatchError"] = "An error was encountered. Please try again later"; //return RedirectToAction("UserHistory"); return(View("PostComment", cm)); } }
public ActionResult Index() { List <ProductOrder> productOrders = new List <ProductOrder>(); try { string username = Session["username"].ToString(); Account a = new AccountServ.AccountServiceClient().getAccountByUsername(username); int accountID = a.ID; List <Order> ordersList = new ProductOrderServ.ProductOrderClient().getPurchasesUnderWarranty(accountID).ToList(); foreach (Order i in ordersList) { List <ProductOrder> po = new ProductOrderServ.ProductOrderClient().getProductOrderByOrderID(i.ID).ToList(); foreach (ProductOrder p in po) { productOrders.Add(p); } } return(View("Index", productOrders)); } catch (Exception ex) { TempData["CatchError"] = "An error was encountered. Please try again later"; return(View("Index", productOrders)); } }
public ActionResult Checkout() { string username = Session["username"].ToString(); Account a = new AccountServ.AccountServiceClient().getAccountByUsername(username); int accountID = a.ID; Order o = new ProductOrderServ.ProductOrderClient().getUserProductOrder(accountID, "Ordered"); int orderID = o.ID; Order order = new Order(); order.ID = o.ID; order.DateOfPurchase = o.DateOfPurchase; order.WarrantyExpiryDate = o.WarrantyExpiryDate; order.Status = "Shipped"; order.AccountID = o.AccountID; foreach (ProductOrder p in o.ProductOrder) { ProductServ.ProductServiceClient productClient = new ProductServ.ProductServiceClient(); Product product = productClient.GetProductByID(p.ProductID); product.StockAmount = product.StockAmount - p.Quantity; productClient.UpdateProductStock(product.StockAmount.Value, product.ID); } //Product p = new ProductServ.ProductServiceClient().GetProductByID(o.ProductOrder. new ProductOrderServ.ProductOrderClient().UpdateOrder(order); return(RedirectToAction("ProductList", "Product")); }
public ActionResult UserHistory() { try { string username = Session["username"].ToString(); Account a = new AccountServ.AccountServiceClient().getAccountByUsername(username); int accountID = a.ID; List <Order> ordersList = new ProductOrderServ.ProductOrderClient().getShippedOrders(accountID).ToList(); foreach (Order i in ordersList) { List <ProductOrder> po = new ProductOrderServ.ProductOrderClient().getProductOrderByOrderID(i.ID).ToList(); foreach (ProductOrder p in po) { productOrders.Add(p); } } ProductModel pm = new ProductModel(); pm.productOrderList = productOrders; return(View("UserHistory", pm)); } catch (Exception ex) { TempData["CatchError"] = "An error was encountered. Please try again later"; return(View("UserHistory", productOrders)); } }
public ActionResult Create(CommentModel cm, int proID) { //DO NOT USE //check that user bought the product first string username = Session["username"].ToString(); Account a = new AccountServ.AccountServiceClient().getAccountByUsername(username); Comment c = new Comment(); // new EventsServ.EventsClient().Create(m.MyEvents); //return RedirectToAction("Index"); //c.ID = new int(); c.Comment1 = cm.Comment; //c.ProductID = Convert.ToInt32(cm.ProductList.SelectedValue); c.ProductID = proID; c.AccountID = a.ID; Rating r = new Rating(); r.Rating1 = cm.rating; r.AccountID = a.ID; r.ProductID = proID; new ProductServ.ProductServiceClient().CreateRating(r); new ProductServ.ProductServiceClient().Create(c); return(RedirectToAction("UserHistory")); }
public ActionResult Delete(int productID) { string username = Session["username"].ToString(); Account a = new AccountServ.AccountServiceClient().getAccountByUsername(username); int accountID = a.ID; Order o = new ProductOrderServ.ProductOrderClient().getUserProductOrder(accountID, "Ordered"); int orderID = o.ID; new ProductOrderServ.ProductOrderClient().DeleteProductOrderByIDs(productID, orderID); return(RedirectToAction("Index")); }
public ActionResult ShowReport(int productID, int orderID, string dateF, string dateT) { ReportModel model = new ReportModel(); ViewBag.Title = "Electros"; string username = Session["username"].ToString(); Account a = new AccountServ.AccountServiceClient().getAccountByUsername(username); int accountID = a.ID; Order o = new ProductOrderServ.ProductOrderClient().getOrderByIDs(accountID, orderID); Product p = new ProductServ.ProductServiceClient().GetProductByID(productID); List <FaultReport> fr = new FaultsServ.FaultReportLogServiceClient().getFaultByAccountIDPRoductID(accountID, productID).ToList(); model.myFaultReport = fr; List <FaultLog> faultLogList = new List <FaultLog>(); foreach (FaultReport f in fr) { List <FaultLog> flTemp = new FaultsServ.FaultReportLogServiceClient().getFaultLogByReportID(f.ID).ToList(); foreach (FaultLog fl in flTemp) { //faultLogList.Add(fl); model.myFaultLog = flTemp; } } if (model.myFaultLog == null) { TempData["NoFault"] = "The item selected has no faults"; return(RedirectToAction("UserHistory")); } model.myProduct = p; //model.myFaultReport = fr; //model.myFaultLog = faultLogList; model.myOrder = o; //model.from = Convert.ToDateTime(TempData["StoreDataFrom"]) ; //model.to = Convert.ToDateTime(TempData["StoreDataTo"]); model.from = Convert.ToDateTime(dateF); model.to = Convert.ToDateTime(dateT); sendEmailToClient(accountID, model); return(new RazorPDF.PdfResult(model, "ShowReport")); //return View(model); }
// // GET: /Basket/ public ActionResult Index() { string username = Session["username"].ToString(); Account a = new AccountServ.AccountServiceClient().getAccountByUsername(username); if (a != null) { int accountID = a.ID; Order o = new ProductOrderServ.ProductOrderClient().getUserProductOrder(accountID, "Ordered"); if (o != null) { int orderID = o.ID; List <ProductOrder> productOrders = new ProductOrderServ.ProductOrderClient().getProductOrderByOrderID(orderID).ToList(); //to show totalPrice decimal price; int qty; decimal totalPrice = 0; foreach (ProductOrder i in productOrders) { Product product = new ProductServ.ProductServiceClient().GetProductByID(i.ProductID); price = Convert.ToDecimal(i.Product.Price); qty = Convert.ToInt32(i.Quantity); totalPrice += price * qty; } ViewData["totalPrice"] = totalPrice; return(View("Index", productOrders)); } else { return(View("Index", new List <ProductOrder>())); } } else { return(RedirectToAction("Login", "UserAuthentication")); } }
public ActionResult AddToCart(ProductModel p) { try { if (p.Qty <= 0 || p.Qty.Equals("")) { TempData["ErrorMsg"] = "Quantity cannot be less than zero or empty"; Product pro = new ProductServ.ProductServiceClient().GetProductByID(p.myProduct.ID); double avgRating = new ProductServ.ProductServiceClient().getAverageRating(p.myProduct.ID); ProductModel pm = new ProductModel(); pm.myProduct = pro; pm.averageRating = avgRating; return(View("Details", pm)); } Product product = new ProductServ.ProductServiceClient().GetProductByID(p.myProduct.ID); int stock = Convert.ToInt32(product.StockAmount); string username = Session["username"].ToString(); Account a = new AccountServ.AccountServiceClient().getAccountByUsername(username); int accountID = a.ID; Order check = new ProductOrderClient().getOrderIDByAccountIDStatus(accountID, "Ordered"); if (p.Qty <= stock) { if (check == null) { Order newOrder = new Order(); //newOrder.ID = new int(); newOrder.DateOfPurchase = System.DateTime.Today; newOrder.WarrantyExpiryDate = System.DateTime.Today.AddYears(2); newOrder.Status = "Ordered"; newOrder.AccountID = accountID; new ProductOrderServ.ProductOrderClient().addOrder(newOrder); Order details = new ProductOrderServ.ProductOrderClient().getOrderIDByAccountIDStatus(accountID, newOrder.Status); ProductOrder newProductOrder = new ProductOrder(); newProductOrder.OrderID = details.ID; newProductOrder.ProductID = p.myProduct.ID; newProductOrder.Quantity = p.Qty; new ProductOrderServ.ProductOrderClient().addProductOrder(newProductOrder); //return RedirectToAction("Details"); } else if (check != null) { ProductOrder checkpo = new ProductOrderServ.ProductOrderClient().getProductOrderID(p.myProduct.ID, check.ID); if (checkpo == null) { Order details = new ProductOrderServ.ProductOrderClient().getOrderIDByAccountIDStatus(accountID, "Ordered"); ProductOrder newProductOrder = new ProductOrder(); newProductOrder.OrderID = details.ID; newProductOrder.ProductID = p.myProduct.ID; newProductOrder.Quantity = p.Qty; new ProductOrderServ.ProductOrderClient().addProductOrder(newProductOrder); } else if (checkpo != null) { ProductOrder newProductOrder = checkpo; //newProductOrder.Quantity = checkpo.Quantity + p.Qty; int newQty = Convert.ToInt32(checkpo.Quantity) + p.Qty; // new ProductOrderServ.ProductOrderClient().UpdateProductOrder(newProductOrder); new ProductOrderServ.ProductOrderClient().UpdateQtyProduct(newQty, checkpo.ProductID, checkpo.OrderID); } } } else if (p.Qty > stock) { @TempData["OutOfStock"] = "The selected Item is out of stock, try again later"; //return RedirectToAction("ProductList"); Product pro = new ProductServ.ProductServiceClient().GetProductByID(p.myProduct.ID); double avgRating = new ProductServ.ProductServiceClient().getAverageRating(p.myProduct.ID); ProductModel m = new ProductModel(); m.myProduct = pro; m.averageRating = avgRating; return(View("Details", m)); } return(RedirectToAction("ProductList")); } catch (Exception ex) { TempData["Error"] = "An error has occurred. Please try again later"; Product pro = new ProductServ.ProductServiceClient().GetProductByID(p.myProduct.ID); double avgRating = new ProductServ.ProductServiceClient().getAverageRating(p.myProduct.ID); ProductModel m = new ProductModel(); m.myProduct = pro; m.averageRating = avgRating; return(View("Details", m)); } }
public ActionResult GenerateTicket(FaultModel fm, int pid) { //try //{ string username = Session["username"].ToString(); Account a = new AccountServ.AccountServiceClient().getAccountByUsername(username); int accountID = a.ID; int ticketNum = new FaultsServ.FaultReportLogServiceClient().GenerateTicketNum(); FaultReport checkTicketnum = new FaultsServ.FaultReportLogServiceClient().getTicketNum(ticketNum); if (checkTicketnum == null) { //FaultReport FaultReport fr = new FaultReport(); //fr.ID = new int(); fr.TicketNum = ticketNum; //add barcode BarCodeServ.BarCodeSoapClient bc = new BarCodeServ.BarCodeSoapClient(); BarCodeData barCodeData = new BarCodeData(); barCodeData.Height = 125; barCodeData.Width = 225; barCodeData.Angle = 0; barCodeData.Ratio = 5; barCodeData.Module = 0; barCodeData.Left = 25; barCodeData.Top = 0; barCodeData.CheckSum = false; barCodeData.FontName = "Arial"; barCodeData.BarColor = "Black"; barCodeData.BGColor = "White"; barCodeData.FontSize = 10.0f; barCodeData.barcodeOption = BarcodeOption.Both; barCodeData.barcodeType = BarcodeType.Code_2_5_interleaved; barCodeData.checkSumMethod = CheckSumMethod.None; barCodeData.showTextPosition = ShowTextPosition.BottomCenter; barCodeData.BarCodeImageFormat = ImageFormats.PNG; Byte[] imgBarcode = bc.GenerateBarCode(barCodeData, randumNum.ToString()); MemoryStream memStream = new MemoryStream(imgBarcode); Bitmap bm = new Bitmap(memStream); bm.Save(HttpContext.Response.OutputStream, ImageFormat.Jpeg); System.Drawing.Image image = System.Drawing.Image.FromStream(new System.IO.MemoryStream(imgBarcode)); //end of barcode method fr.Barcode = imgBarcode; fr.ProductID = pid; fr.AccountID = accountID; new FaultsServ.FaultReportLogServiceClient().Create(fr); //FaultLog FaultReport details = new FaultsServ.FaultReportLogServiceClient().getFaultReportIDByAccountIDTicket(accountID, ticketNum); FaultLog fl = new FaultLog(); fl.Status = "Reported"; fl.Description = fm.Description; fl.DateReport = System.DateTime.Now; fl.FaultReportID = details.ID; new FaultsServ.FaultReportLogServiceClient().CreateLog(fl); SendEmailToClient(accountID, image, pid, memStream, Convert.ToInt32(fr.TicketNum)); //SendEmailToClient(accountID, memStream,pid); return(RedirectToAction("Index", "Warranty")); } else { //show error ViewBag.Msg = "An error was encountered during the generation of the ticket"; } return(RedirectToAction("Index", "Warranty")); //} //catch (Exception ex) //{ // TempData["CatchError"] = "An error was encountered. Please try again later"; // return RedirectToAction("Index", "Warranty"); //} }
public ActionResult Filter(string dateFrom, string dateTo) { DateTime parsed; try { if (dateFrom.Equals("") && dateTo.Equals("")) { TempData["NullMsg"] = "Dates cannot be null"; return(RedirectToAction("UserHistory")); } //if (!Decimal.TryParse(lowPrice, out parsed) && !Decimal.TryParse(highPrice, out parsed) ) if (!DateTime.TryParse(dateFrom, out parsed) && !DateTime.TryParse(dateTo, out parsed)) { TempData["DatesError"] = "The Dates are incorrect format or null (2014/12/12)"; return(RedirectToAction("UserHistory")); } else { from = Convert.ToDateTime(dateFrom); to = Convert.ToDateTime(dateTo); //try //{ // from = Convert.ToDateTime(dateFrom); // to = Convert.ToDateTime(dateTo); //} //catch (Exception e) //{ // string user = Session["username"].ToString(); // Account aa = new AccountServ.AccountServiceClient().getAccountByUsername(user); // int accID = aa.ID; // List<Order> oList = new ProductOrderServ.ProductOrderClient().getShippedOrders(accID).ToList(); // foreach (Order i in oList) // { // List<ProductOrder> po = new ProductOrderServ.ProductOrderClient().getProductOrderByOrderID(i.ID).ToList(); // foreach (ProductOrder p in po) // { // productOrders.Add(p); // } // } // //change // ProductModel pm1 = new ProductModel(); // pm1.productOrderList = productOrders; // pm1.from = Convert.ToDateTime(dateFrom); // pm1.to = Convert.ToDateTime(dateTo); // TempData["DatesError"] = "The Dates are incorrect format or null (2014/12/12)"; // // return View("UserHistory", productOrders); // return View("UserHistory",pm1); //} TempData["StoreDataFrom"] = from; TempData["StoreDataTo"] = to; string username = Session["username"].ToString(); Account a = new AccountServ.AccountServiceClient().getAccountByUsername(username); int accountID = a.ID; List <Order> ordersList = new ProductServ.ProductServiceClient().getPurchasesByDates(accountID, from, to).ToList(); //new ProductOrderServ.ProductOrderClient().getShippedOrders(accountID).ToList(); // List<Order> foreach (Order i in ordersList) { List <ProductOrder> po = new ProductOrderServ.ProductOrderClient().getProductOrderByOrderID(i.ID).ToList(); foreach (ProductOrder p in po) { productOrders.Add(p); } } ProductModel pm = new ProductModel(); pm.productOrderList = productOrders; pm.from = Convert.ToDateTime(dateFrom); pm.to = Convert.ToDateTime(dateTo); //pm.myProduct return(View("UserHistory", pm)); } } catch (Exception ex) { //ProductModel pm = new ProductModel(); //pm.productOrderList = productOrders; //pm.from = Convert.ToDateTime(dateFrom); //pm.to = Convert.ToDateTime(dateTo); TempData["CatchError"] = "An error was encountered. Please try again later"; return(View("UserHistory", productOrders)); // return View("UserHistory",pm); } }
public ActionResult RegisterUser(RegistrationModel rm) { //continuation of code int roleID = 0; if (rm.Password.Length < 6) { TempData["Message"] = "Password needs to be longer"; //ViewBag.Msg = "Password needs to be longer"; //return Content("PAssword longer"); return(RedirectToAction("RegisterUser")); } else { Account checkAccount = new AccountServ.AccountServiceClient().getAccountByUsername(rm.Username); User checkEmail = new UserServ.UserServiceClient().getUserByEmail(rm.Email); int pin = Convert.ToInt32(rm.PIN); Account checkPin = new AccountServ.AccountServiceClient().getAccountByPin(pin); if (checkAccount == null && checkEmail == null && checkPin == null) { Account a = new AccountServ.AccountServiceClient().getAccountByUsername(rm.Username); string passpin = rm.Password + rm.PIN; string token = new AccountServ.AccountServiceClient().Encrypt(passpin); TempData["Token"] = token; List <int> add = new List <int>(); for (int i = 0; i < rm.roles.Count; i++) { if (rm.roles[i].Checked) { roleID = rm.myRole[i].ID; add.Add(roleID); } } int[] arraylist = add.ToArray(); //rm.myUser.Email = rm.myUser //USer rm.myUser.Name = rm.Name; rm.myUser.Surname = rm.Surname; rm.myUser.Email = rm.Email; rm.myUser.ResidanceName = rm.ResidanceName; rm.myUser.StreetName = rm.StreetName; rm.myUser.Mobile = rm.Mobile; //Account //rm.myAccount.Username = rm.Username; //rm.myAccount.Password = rm.Password; //// rm.myAccount.PIN = Convert.ToInt32(rm.PIN); //rm.myAccount.PIN = Convert.ToInt32(rm.PIN); Account acc = new Account(); acc.Username = rm.Username; acc.Password = rm.Password; acc.PIN = rm.PIN; //new UserServ.UserServiceClient().Create(rm.myUser, arraylist, rm.myAccount); new UserServ.UserServiceClient().Create(rm.myUser, arraylist, acc); } else { if (checkAccount != null) { TempData["Message"] = "Username already exists"; } else if (checkEmail != null) { TempData["Email"] = "Email already exists"; } else if (checkPin != null) { TempData["PIN"] = "PIN already exists"; } } } //return View("RegisterUser"); return(RedirectToAction("RegisterUser")); }