Exemple #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            LoginLogsModels loginLogsModels = db.loginLogs.Find(id);

            db.loginLogs.Remove(loginLogsModels);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemple #2
0
 public ActionResult Edit([Bind(Include = "Id,UserEmail,UserRole,LoginDate")] LoginLogsModels loginLogsModels)
 {
     if (ModelState.IsValid)
     {
         db.Entry(loginLogsModels).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(loginLogsModels));
 }
Exemple #3
0
        public ActionResult Create([Bind(Include = "Id,UserEmail,UserRole,LoginDate")] LoginLogsModels loginLogsModels)
        {
            if (ModelState.IsValid)
            {
                db.loginLogs.Add(loginLogsModels);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(loginLogsModels));
        }
Exemple #4
0
        // GET: LoginLogsModels/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            LoginLogsModels loginLogsModels = db.loginLogs.Find(id);

            if (loginLogsModels == null)
            {
                return(HttpNotFound());
            }
            return(View(loginLogsModels));
        }
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            CateringContext db = new CateringContext();

            foreach (var client in db.Clients)
            {
                if (client.Email == model.Email)
                {
                    if (client.isSuspended)
                    {
                        ModelState.AddModelError("", "User " + client.FirstName + " is suspended");
                        return(View(model));
                    }
                }
            }

            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, change to shouldLockout: true
            var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false);

            //We get the user who has attempted to logged in
            var user = await UserManager.FindAsync(model.Email, model.Password);

            switch (result)
            {
            //If the login was a success, we get the user's role, the datetime of the login and his email, and add it to the login logs data table
            case SignInStatus.Success:
                CateringContext contet = new CateringContext();
                foreach (var food in contet.currentOrders)
                {
                    contet.currentOrders.Remove(food);
                }
                contet.SaveChanges();


                string role;

                if (UserManager.IsInRole(user.Id, "Admin"))
                {
                    role = "Admin";
                }
                else
                {
                    role = "User";
                }

                var LoginModel = new LoginLogsModels
                {
                    LoginDate = DateTime.Now,
                    UserRole  = role,
                    UserEmail = model.Email
                };

                db.loginLogs.Add(LoginModel);

                HttpCookieCollection MyCookieColl = Request.Cookies;
                HttpCookie           MyCookie;

                String[]        arr1    = MyCookieColl.AllKeys;
                CateringContext context = new CateringContext();

                for (int i = 0; i < arr1.Length; i++)
                {
                    MyCookie = MyCookieColl[arr1[i]];
                    int  price = 0;
                    bool ok    = false;

                    if (MyCookie.Value == null)
                    {
                        continue;
                    }

                    foreach (var food in db.foods)
                    {
                        if (food.FoodName == MyCookie.Name)
                        {
                            price            = food.Price;
                            ok               = true;
                            MyCookie.Expires = DateTime.Now.AddDays(-1);
                        }
                    }
                    if (ok == false)
                    {
                        continue;
                    }
                    if (Int32.TryParse(MyCookie.Value, out int temp) == false)
                    {
                        continue;
                    }

                    context.currentOrders.Add(new CurrentOrder
                    {
                        FoodName      = MyCookie.Name,
                        Price         = price,
                        NumberInOrder = Int32.Parse(MyCookie.Value)
                    });

                    MyCookie.Expires = DateTime.Now.AddDays(-1);
                }

                context.SaveChanges();
                db.SaveChanges();
                return(RedirectToLocal(returnUrl));

            case SignInStatus.LockedOut:
                return(View("Lockout"));

            case SignInStatus.RequiresVerification:
                return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }));

            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", "Invalid login attempt.");
                return(View(model));
            }
        }