Example #1
0
        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));
            }
        }
Example #2
0
        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));
            }
        }
Example #3
0
        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"));
        }
Example #4
0
        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));
            }
        }
Example #5
0
        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"));
        }
Example #6
0
        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"));
        }
Example #7
0
        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);
        }
Example #8
0
        //
        // 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"));
            }
        }
Example #9
0
        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));
            }
        }
Example #10
0
        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");
            //}
        }
Example #11
0
        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);
            }
        }
Example #12
0
        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"));
        }