public ActionResult Login(Customer customer)
 {
     using (var db = new ESDatabaseEntities())
     {
         var v = db.Customers.Where(a => a.Email == customer.Email).FirstOrDefault();
         if (v != null)
         {
             if (string.Compare(Crypto.Hash(customer.Password), v.Password) == 0)
             {
                 FormsAuthentication.SetAuthCookie(customer.Email, false);
                 return(RedirectToAction("Index", "Home"));
             }
             else
             {
                 ModelState.AddModelError("", "Invalid username and password");
                 return(View("Login"));
             }
         }
         else
         {
             ModelState.AddModelError("", "Invalid username and password");
             return(View("Login"));
         }
     }
 }
        public ActionResult Registration(Customer customer)
        {
            // Model Validation
            if (ModelState.IsValid)
            {
                var isExist = IsEmailExist(customer.Email);
                if (isExist)
                {
                    ModelState.AddModelError("", "Email already exist");
                    return(View(customer));
                }


                customer.Password        = Crypto.Hash(customer.Password);
                customer.ConfirmPassword = Crypto.Hash(customer.ConfirmPassword);

                using (ESDatabaseEntities dc = new ESDatabaseEntities())
                {
                    dc.Customers.Add(customer);
                    dc.SaveChanges();
                }

                ViewBag.Message = "Account created successfully, please log-in!";
            }

            return(View("Login"));
        }
        public List <Product> GetProducts()
        {
            ESDatabaseEntities eS       = new ESDatabaseEntities();
            List <Product>     lProduct = eS.Products.ToList();

            return(lProduct);
        }
        public List <Customer> GetCustomers()
        {
            ESDatabaseEntities eS        = new ESDatabaseEntities();
            List <Customer>    lCustomer = eS.Customers.ToList();

            return(lCustomer);
        }
 public bool IsEmailExist(string Email)
 {
     using (ESDatabaseEntities dc = new ESDatabaseEntities())
     {
         var v = dc.Customers.Where(a => a.Email == Email).FirstOrDefault();
         return(v != null);
     }
 }
 public bool IsProductNameExist(string Name)
 {
     using (ESDatabaseEntities dc = new ESDatabaseEntities())
     {
         var v = dc.Products.Where(a => a.Name == Name).FirstOrDefault();
         return(v != null);
     }
 }
 public bool IsProductExist(int ProductID)
 {
     using (ESDatabaseEntities dc = new ESDatabaseEntities())
     {
         var v = dc.OrderItems.Where(a => a.ProductID == ProductID).FirstOrDefault();
         return(v != null);
     }
 }