예제 #1
0
        public ActionResult SearchResult(DateTime DateB, DateTime DateE, TimeSpan TimeB, TimeSpan TimeE, string Place1, string Place2)
        {
            try
            {
                DateTime DTBegin  = DateB + TimeB;
                DateTime DTEnding = DateE + TimeE;

                if (ModelState.IsValid)
                {
                    TempReservation tmp = new TempReservation
                    {
                        Place1 = Place1,
                        Place2 = Place2,
                        DateB  = DTBegin,
                        DateE  = DTEnding
                    };
                    ViewBag.Info = tmp;
                }
                return(View());
            }
            catch
            {
                return(View("Error"));
            }
        }
예제 #2
0
        public ActionResult Login()
        {
            var cookieEmail = Utility.Utility.ReadCookie("HotelierHubUserEmail");

            try
            {
                if (cookieEmail != null)
                {
                    var result = LogInManager.LoginWithCookie(cookieEmail);

                    switch (result)
                    {
                    case LoginStatus.Success:

                        if (LogInManager.HasRights("STUDENT"))
                        {
                            //Create Dummy Reservation.
                            TempReservation.CreateDummyReservation();
                        }

                        var trackActivityStatus = RecordActivityLog.TrackUsersActivityByUserId(LogInManager.LoggedInUser.Id);

                        if (trackActivityStatus == TrackActivityStatus.Success)
                        {
                            return(RedirectToAction("Index", "Home"));
                        }
                        else
                        {
                            //Remove Cookie
                            Utility.Utility.RemoveCookie("HotelierHubUserEmail");

                            return(RedirectToAction("Login", "Account"));
                        }

                    case LoginStatus.Failure:
                    default:
                        //Remove Cookie
                        Utility.Utility.RemoveCookie("HotelierHubUserEmail");

                        //Abandon current sessions.
                        System.Web.HttpContext.Current.Session.Abandon();

                        return(RedirectToAction("Login", "Account"));
                    }
                }
            }
            catch (Exception e)
            {
                Utility.Utility.LogError(e, "Login");

                return(Json(new
                {
                    IsSuccess = false,
                    errorMessage = e.Message
                }));
            }
            return(View());
        }
예제 #3
0
        public ActionResult Login(LoginViewModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(model));
                }

                var result = LogInManager.Login(model.Email, Utility.Utility.Encrypt(model.Password, Utility.Utility.EncryptionKey));

                switch (result)
                {
                case LoginStatus.Success:
                    RecordActivityLog.RecordActivity(Pages.LOGIN, "Loggedin successfully.");

                    if (LogInManager.HasRights("STUDENT"))
                    {
                        //Create Dummy Reservation.
                        TempReservation.CreateDummyReservation();
                    }

                    if (model.RememberMe)
                    {
                        // Create a new cookie,
                        Utility.Utility.WriteCookie("HotelierHubUserEmail", model.Email, 24);     //24 Hours expiration time.
                    }

                    return(Json(new
                    {
                        IsSuccess = true,
                        data = new
                        {
                            UserId = LogInManager.LoggedInUserId
                        }
                    }, JsonRequestBehavior.AllowGet));

                case LoginStatus.AlreadyLoggedIn:
                    return(Json(new
                    {
                        IsSuccess = false,
                        errorMessage = "User already logged in!"
                    }, JsonRequestBehavior.AllowGet));

                case LoginStatus.InvalidLoginTime:

                    var msg = "Please note your course is restricted; therefore, you can only access it during the times & day set by your Tutor.";

                    return(Json(new
                    {
                        IsSuccess = false,
                        errorMessage = msg
                    }, JsonRequestBehavior.AllowGet));

                case LoginStatus.Failure:
                default:
                    RecordActivityLog.RecordActivity(Pages.LOGIN, "Login fail.");
                    return(Json(new
                    {
                        IsSuccess = false,
                        errorMessage = "Invalid Email and Password."
                    }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception e)
            {
                Utility.Utility.LogError(e, "Login POST");

                return(Json(new
                {
                    IsSuccess = false,
                    errorMessage = e.Message
                }));
            }
        }