public ActionResult Edit(string ID)
        {
            //USER CANNOT SEE THE EDIT PAGE OF OTHER USERS NOW
            try
            {
                if (Request.Cookies["user"] != null && Request.Cookies["pass"] != null)
                {
                    Graduate graduate = db.Graduates.Where(x => x.StudentID == ID).FirstOrDefault();

                    if (db.AdminGraduateVerifications.SingleOrDefault(x => x.StudentID == graduate.StudentID).IsVerified == true)
                    {
                        if (ID == null)
                        {
                            return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                        }
                        else if (graduate == null)
                        {
                            return(HttpNotFound());
                        }
                        else if (Request.Cookies["user"].Value == graduate.StudentID && Request.Cookies["pass"].Value == graduate.StudentPassword)
                        {
                            //Pump->WorkAreaList

                            GraduateModel graduateModel = new GraduateModel();
                            graduateModel.StudentID        = graduate.StudentID;
                            graduateModel.GraduateLastName = graduate.GraduateLastName;
                            graduateModel.GraduateName     = graduate.GraduateName;
                            graduateModel.GraduateMail     = graduate.GraduateMail;
                            graduateModel.GraduateCompany  = graduate.GraduateCompany;
                            graduateModel.GraduateYear     = graduate.GraduateYear;
                            graduateModel.GraduateTitle    = graduate.GraduateTitle;
                            graduateModel.GraduatePhone    = graduate.GraduatePhone;
                            graduateModel.StudentPassword  = graduate.StudentPassword;
                            graduateModel.Alanlar          = new SelectList(db.WorkAreas, "WAID", "WorkAreaName");


                            FlashMessage.Confirmation("Update successful.");
                            return(View(graduateModel));
                        }
                        else
                        {
                            return(RedirectToAction("GraduateProfile", "Graduate"));
                        }
                    }
                    else
                    {
                        FlashMessage.Info("Please wait for your verification. You will be notified via email when you are verified.");
                        return(RedirectToAction("GraduateProfile", "Graduate"));
                    }
                }
                else
                {
                    return(RedirectToAction("Logout", "Home"));
                }
            }
            catch
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
        }
Example #2
0
        public static void ShowUserMessage(string messageType, string messageDetails)
        {
            switch (messageType.ToLower())
            {
            case "info":
                FlashMessage.Info(messageDetails);
                break;

            case "confirmation":
                FlashMessage.Confirmation(messageDetails);
                break;

            case "warning":
                FlashMessage.Warning(messageDetails);
                break;

            case "danger":
                FlashMessage.Danger(messageDetails);
                break;

            default:
                FlashMessage.Info(messageDetails);
                break;
            }
        }
Example #3
0
        public ActionResult Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                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 = SignInManager.PasswordSignIn(model.Email, model.Password, model.RememberMe, false);

            switch (result)
            {
            case SignInStatus.Success:
                return(RedirectToLocal(returnUrl));

            case SignInStatus.LockedOut:
                FlashMessage.Info("Usuário bloqueado, contate o administrador do sistema");
                return(View("Lockout"));

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

            default:
                FlashMessage.Error("Usuário ou senha inválidos");
                return(View(model));
            }
        }
Example #4
0
 public ActionResult DeleteStore(int id)
 {
     if (ModelState.IsValid)
     {
         storrep.Stores.Delete(id);
         storrep.Stores.Save();
         FlashMessage.Info("The Store was deleted successfully");
     }
     return(RedirectToAction("Index"));
 }
Example #5
0
        // GET: /Users/ConfirmOrder
        public ActionResult ConfirmOrder(CheckoutViewModel viewModel, int cartID, double total)
        {
            email = User.Identity.GetUserName();
            var cart = context.OrderCarts.SingleOrDefault(c => c.CartID == cartID && c.UserEmail == email && c.IsCheckedOut == false);

            if (cart == null)
            {
                return(HttpNotFound());
            }
            else
            {
                cart.IsCheckedOut  = true;
                cart.PurchaseDate  = DateTime.Now;
                cart.ArrivalDate   = DateTime.Now.AddDays(3);
                cart.PaymentMethod = viewModel.Cart.PaymentMethod;
            }

            var cartItems = context.CartItems.Where(c => c.CartID == cartID && c.UserEmail == email).ToList();

            foreach (var item in cartItems)
            {
                item.IsCheckedOut = true;
            }

            FlashMessage.Info("Order Confirmed", $"Order arriving at {cart.ArrivalDate}");

            if (viewModel.Cart.PaymentMethod == "CARD")
            {
                bool isCreditCardValid = CheckCreditCardBalanceIfSufficient(viewModel.CreditCard.CardNumber, viewModel.CreditCard.CVV, total);

                if (isCreditCardValid)
                {
                    context.SaveChanges();
                }
                else
                {
                    return(HttpNotFound());
                }
            }
            else
            {
                context.SaveChanges();
            }


            return(RedirectToAction("Index", "Home"));
        }
Example #6
0
        public ActionResult Register([Bind(Include = "VerificationID,StudentID,Password,GraduateName,GrauateSurname,GraduateEmail")] AdminGraduateVerification adminGraduateVerification, string password)
        {
            var hashedPass = sha256(password);

            if (ModelState.IsValid && password.Length > 5)
            {
                if (db.Graduates.Any(x => x.StudentID == adminGraduateVerification.StudentID))
                {
                    FlashMessage.Danger("An account with the same Student ID already exists. Please contact the head of the department.");
                    return(RedirectToAction("Register", "Home"));
                }
                Debug.WriteLine("Creating User: "******"Successfully registered. Please wait for your verification. You will be notified via email in 7 days when you are verified.");
                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                FlashMessage.Danger("Failed to register user. Please check your information.");
                return(View(adminGraduateVerification));
            }
        }
Example #7
0
        public ActionResult Index(string username, string password)
        {
            var hashedPass      = sha256(password);
            var verifiedCaptcha = false;

            if (db.Graduates.Any(x => x.StudentID == username))
            {
                //reCaptcha SERVER SIDE CODE FOR FUTURE DEVELOPMENT

                //var response = Request["g-recaptcha-response"];
                //
                //const string secret = "6LdNt1sUAAAAAKE1GejVUSIdS-PlFVMj82aWq3y_";

                //var client = new WebClient();
                //var reply =
                //    client.DownloadString(
                //        string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}",
                //    secret, response));

                //var captchaResponse = JsonConvert.DeserializeObject<CaptchaResponse>(reply);

                //
                //if (captchaResponse.Success!="True")
                //{

                //    FlashMessage.Danger("Confirm that you are not a robot.");
                //    return View();
                //}
                //else
                //{
                //    verifiedCaptcha = true;
                //    ViewBag.Message = "Valid";
                //}
                //IF USER EXISTS
                //SAVE ID PASS TO COOKIES AND LOGIN

                Graduate user = new Graduate();
                user = db.Graduates.Where(x => x.StudentID == username && x.StudentPassword == hashedPass).FirstOrDefault();
                if (db.AdminGraduateVerifications.SingleOrDefault(x => x.StudentID == user.StudentID).IsVerified == true)
                {
                    //IF USERNAME AND PASSWORD IS CORRECT
                    if (user != null)
                    {
                        HttpCookie UserCookie     = new HttpCookie("user", user.StudentID.ToString());
                        HttpCookie UserCookiePass = new HttpCookie("pass", user.StudentPassword.ToString());
                        UserCookie.Expires.AddMinutes(30);
                        UserCookiePass.Expires.AddMinutes(30);
                        HttpContext.Response.SetCookie(UserCookie);
                        HttpContext.Response.SetCookie(UserCookiePass);
                        FlashMessage.Confirmation("Successfully logged in.");
                        return(RedirectToAction("GraduateProfile", "Graduate"));
                    }
                    //ELSE RETURN TO LOGIN FORM
                    else
                    {
                        return(View());
                    }
                }
                else
                {
                    FlashMessage.Info("Please wait for your verification. You will be notified via email when you are verified.");
                    return(RedirectToAction("GraduateProfile", "Graduate"));
                }
            }
            else if (db.Admins.Any(x => x.AdminID == username))
            {
                Admin user = new Admin();
                user = db.Admins.Where(x => x.AdminID == username && x.AdminPassword == hashedPass).FirstOrDefault();

                //IF USERNAME AND PASSWORD IS CORRECT
                if (user != null)
                {
                    HttpCookie UserCookie     = new HttpCookie("user", user.AdminID.ToString());
                    HttpCookie UserCookiePass = new HttpCookie("pass", user.AdminPassword.ToString());
                    UserCookie.Expires.AddMinutes(30);
                    UserCookiePass.Expires.AddMinutes(30);
                    HttpContext.Response.SetCookie(UserCookie);
                    HttpContext.Response.SetCookie(UserCookiePass);
                    FlashMessage.Confirmation("Successfully logged in as Admin.");
                    return(RedirectToAction("Index", "Admin"));
                }
                //ELSE RETURN TO LOGIN FORM
                else
                {
                    return(View());
                }
            }
            else
            {
                FlashMessage.Danger("Enter a valid email and password.");
                return(View());
            }
        }