示例#1
0
        public ActionResult Checkout()
        {
            if (Session["LoggedIn"] != null)
            {
                if ((bool)Session["LoggedIn"])
                {
                    var productBLL = new ProductBLL();
                    var ch = new CookieHandler();

                    var Email = (string)Session["Email"];
                    var pidList = ch.GetCartProductIds();
                    var productModelList = productBLL.GetProducts(pidList);

                    var cart = productModelList.Select(p => new CartItem()
                    {
                        ProductId = p.ProductId,
                        Name = p.ProductName,
                        Count = ch.GetCount(p.ProductId),
                        Price = p.Price
                    }).ToList();

                    var customerModel = new AccountBLL().GetCustomer(Email);
                    var customer = new CustomerView()
                    {
                        Firstname = customerModel.Firstname,
                        Lastname = customerModel.Lastname,
                        Address = customerModel.Address,
                        Zipcode = customerModel.Zipcode,
                        City = customerModel.City,
                        CustomerId = customerModel.CustomerId,
                        Email = customerModel.Email

                    };

                    ViewBag.Cart = cart;
                    ViewBag.Customer = customer;
                    ViewBag.LoggedIn = LoginStatus();
                    TempData["Message"] = "";
                    return View();
                }
            }
            TempData["Message"] = "Logg inn for å betale";
            return RedirectToAction("Index", "Home");
        }
示例#2
0
        public PartialViewResult CustomerlistPartial()
        {
            var customerViewList = new List<CustomerView>();
            var customerModels = _customerBLL.GetAllCustomers();

            foreach (var Customer in customerModels)
            {
                var customerView = new CustomerView()
                {
                    CustomerId = Customer.CustomerId,
                    Email = Customer.Email,
                    Firstname = Customer.Firstname,
                    Lastname = Customer.Lastname,
                    Address = Customer.Address,
                    Zipcode = Customer.Zipcode,
                    City = Customer.City
                };

                customerViewList.Add(customerView);
            }

            return PartialView(customerViewList);
        }
示例#3
0
        public ActionResult ShowCustomer(int CustomerId, string ReturnUrl)
        {
            if ((Session["Admin"] == null ? false : (bool)Session["Admin"]))
            {
                var customerModel = _customerBLL.GetCustomer(CustomerId);

                var customerView = new CustomerView()
                {
                    CustomerId = customerModel.CustomerId,
                    Email = customerModel.Email,
                    Firstname = customerModel.Firstname,
                    Lastname = customerModel.Lastname,
                    Address = customerModel.Address,
                    Zipcode = customerModel.Zipcode,
                    City = customerModel.City
                };

                ViewBag.Customer = customerView;
                ViewBag.ReturnUrl = ReturnUrl;

                return View("Administration_Customer");

            }
            return RedirectToAction("Index", "Home");
        }
示例#4
0
 public bool UpdateCustomerInfo(CustomerView customerEdit)
 {
     if (Session["Email"] != null)
     {
         var email = customerEdit.Email;
         var personUpdate = new PersonModel()
         {
             Firstname = customerEdit.Firstname,
             Lastname = customerEdit.Lastname,
             Address = customerEdit.Address,
             Zipcode = customerEdit.Zipcode,
             City = customerEdit.City
         };
         if ((string)Session["Email"] == email || Session["Admin"] != null)
         {
             return _customerBLL.UpdatePerson(personUpdate, email);
         }
     }
     return false;
 }
示例#5
0
        public ActionResult MyPage()
        {
            if (!LoginStatus())
            {
                return RedirectToAction("Index", "Home");
            }

            string Email = (string)Session["Email"];
            var Customer = _accountBLL.GetCustomer(Email);
            var customerView = new CustomerView()
            {
                CustomerId= Customer.CustomerId,
                Email = Customer.Email,
                Firstname = Customer.Firstname,
                Lastname = Customer.Lastname,
                Address = Customer.Address,
                Zipcode = Customer.Zipcode,
                City = Customer.City
            };

            var orders = Customer.Orders;
            var customerOrders = new List<OrderView>();

            foreach (var o in orders)
            {
                var order = new OrderView();
                order.Date = o.Date;
                order.OrderId = o.OrderId;
                order.Orderlines = new List<OrderlineView>();

                foreach(var l in o.Orderlines)
                {
                    var orderline = new OrderlineView();
                    orderline.Count = l.Count;
                    orderline.OrderlineId = l.OrderlineId;
                    orderline.Product = new ProductView()
                    {
                        Price = l.ProductPrice,
                        ProductId = l.ProductId,
                        ProductName = l.ProductName
                    };

                    order.Orderlines.Add(orderline);
                }
                customerOrders.Add(order);
            }

            ViewBag.LoggedIn = LoginStatus();
            ViewBag.Customer = customerView;
            ViewBag.CustomerOrders = customerOrders;

            return View();
        }
示例#6
0
        public ActionResult UpdatePersonData(CustomerView customerEdit, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                var email = customerEdit.Email;

                var personUpdate = new PersonModel()
                {
                    Firstname = customerEdit.Firstname,
                    Lastname = customerEdit.Lastname,
                    Address = customerEdit.Address,
                    Zipcode = customerEdit.Zipcode,
                    City = customerEdit.City
                };

                if (_accountBLL.UpdatePerson(personUpdate, email))
                {
                    return RedirectToAction("MyPage");
                }
            }
            return Redirect(returnUrl);
        }
示例#7
0
        public bool UpdateCustomerInfo(CustomerView customerEdit, string returnUrl)
        {
            var email = (string)Session["Email"];

            var personUpdate = new PersonModel()
            {
                Firstname = customerEdit.Firstname,
                Lastname = customerEdit.Lastname,
                Address = customerEdit.Address,
                Zipcode = customerEdit.Zipcode,
                City = customerEdit.City
            };

            return _accountBLL.UpdatePerson(personUpdate, email);
        }
        public void Customer_UpdateCustomer_UpdateSelfOk()
        {
            // Arrange
            var SessionMock = new TestControllerBuilder();
            var Controller = new CustomerController(new CustomerBLL(new CustomerRepoStub()));
            SessionMock.InitializeController(Controller);

            Controller.Session["Email"] = userEmail;
            var customerView = new CustomerView()
            {
                CustomerId = customerModel.CustomerId,
                Email = customerModel.Email,
                Firstname = customerModel.Firstname,
                Lastname = customerModel.Lastname,
                Address = customerModel.Address,
                Zipcode = customerModel.Zipcode,
                City = customerModel.City
            };

            // Act
            var result = Controller.UpdateCustomerInfo(customerView);

            // Assert
            Assert.IsTrue(result);
        }
        public void Customer_Show_CustomerOk()
        {
            // Arrange
            var SessionMock = new TestControllerBuilder();
            var Controller = new CustomerController(new CustomerBLL(new CustomerRepoStub()));
            SessionMock.InitializeController(Controller);

            Controller.Session["Admin"] = true;
            var customerId = 1;
            var returnUrl = "returnUrl";

            var expViewName = "Administration_Customer";
            var expViewBagCustomer = new CustomerView()
            {
                CustomerId = customerModel.CustomerId,
                Email = customerModel.Email,
                Firstname = customerModel.Firstname,
                Lastname = customerModel.Lastname,
                Address = customerModel.Address,
                Zipcode = customerModel.Zipcode,
                City = customerModel.City
            };
            var expViewBagReturnUrl = returnUrl;

            // Act
            var result = (ViewResult)Controller.ShowCustomer(customerId,returnUrl);

            var viewBagCustomer = result.ViewBag.Customer;
            var viewBagReturnUrl = result.ViewBag.ReturnUrl;

            // Assert
            Assert.AreEqual(expViewName, result.ViewName);

            Assert.AreEqual(expViewBagCustomer.CustomerId, viewBagCustomer.CustomerId);
            Assert.AreEqual(expViewBagCustomer.Firstname, viewBagCustomer.Firstname);
            Assert.AreEqual(expViewBagCustomer.Lastname, viewBagCustomer.Lastname);
            Assert.AreEqual(expViewBagCustomer.Address, viewBagCustomer.Address);
            Assert.AreEqual(expViewBagCustomer.Zipcode, viewBagCustomer.Zipcode);
            Assert.AreEqual(expViewBagCustomer.City, viewBagCustomer.City);

            Assert.AreEqual(expViewBagReturnUrl, viewBagReturnUrl);
        }
示例#10
0
        public void Customer_CustomerlistPartial_List()
        {
            // Arrange
            var Controller = new CustomerController(new CustomerBLL(new CustomerRepoStub()));

            var expModel= new CustomerView()
            {
                CustomerId = customerModel.CustomerId,
                Email = customerModel.Email,
                Firstname = customerModel.Firstname,
                Lastname = customerModel.Lastname,
                Address = customerModel.Address,
                Zipcode = customerModel.Zipcode,
                City = customerModel.City
            };
            var expResult = new List<CustomerView>();
            expResult.Add(expModel);
            expResult.Add(expModel);
            expResult.Add(expModel);

            // Act
            var result = (PartialViewResult)Controller.CustomerlistPartial();
            var modelresult = (List<CustomerView>)result.Model;

            // Assert
            Assert.AreEqual("", result.ViewName);
            for (var i = 0; i < modelresult.Count; i++)
            {
                Assert.AreEqual(expResult[i].CustomerId, modelresult[i].CustomerId);
                Assert.AreEqual(expResult[i].Email, modelresult[i].Email);
                Assert.AreEqual(expResult[i].Firstname, modelresult[i].Firstname);
                Assert.AreEqual(expResult[i].Lastname, modelresult[i].Lastname);
                Assert.AreEqual(expResult[i].Address, modelresult[i].Address);
                Assert.AreEqual(expResult[i].Zipcode, modelresult[i].Zipcode);
                Assert.AreEqual(expResult[i].City, modelresult[i].City);
            }
        }