public ActionResult List(string keyword) { try { keyword = (keyword == null) ? string.Empty : keyword; var empId = ""; var userInfo = CookieHelpers.GetUserInfo(); if (userInfo.IsInMemberRole()) { empId = userInfo.EmployeeId; } ; var lstRequest = vacationRequestServices.SearchRequest(empId, keyword); var vm = new ListVacationRequestVM { KeyWord = keyword, ListRequest = lstRequest }; return(View(vm)); } catch (Exception ex) { return(View(new ListVacationRequestVM())); } }
public void SaveToCookie(ProductViewModel product, int quantity) { if (CookieHelpers.GetObjectFromJson <List <CartItemViewModel> >(HttpContext.Request.Cookies, CartSessionKey) == null) { List <CartItemViewModel> cart = new List <CartItemViewModel>(); cart.Add(new CartItemViewModel { Product = product, Quantity = 1 }); CookieHelpers.SetObjectAsJson(HttpContext.Response.Cookies, CartSessionKey, cart, null); } else { List <CartItemViewModel> cart = CookieHelpers.GetObjectFromJson <List <CartItemViewModel> >(HttpContext.Request.Cookies, CartSessionKey); int index = cart.FindIndex(x => x.Product.Id == product.Id); if (index != -1) { cart[index].Quantity += quantity; } else { cart.Add(new CartItemViewModel { Product = product, Quantity = quantity }); } CookieHelpers.SetObjectAsJson(HttpContext.Response.Cookies, CartSessionKey, cart, null); } }
protected void Page_Load(object sender, EventArgs e) { #region Logout if (string.Compare(Convert.ToString(RouteData.DataTokens["logout"]), "true", true) == 0) { // Do logout logic here CookieHelpers.ClearCookies(); Response.Redirect(string.Format("/Default.aspx?lang={0}", Language), false); return; } if (string.Compare(Convert.ToString(RouteData.DataTokens["expire"]), "true", true) == 0) { AlertMessage = RewardsHelper.GetTranslation(TranslationKeys.Errors.SessionExpired); } if (string.Compare(Convert.ToString(RouteData.DataTokens["invalid"]), "true", true) == 0) { AlertMessage = RewardsHelper.GetTranslation(TranslationKeys.Errors.SessionExpired); } #endregion Language = HttpContext.Current.Request.QueryString["lang"]; if (string.IsNullOrEmpty(Language)) { Response.Redirect("/Lang.aspx", false); return; } if (IsVipDomain) { Response.Redirect("/_Secure/VIP/login.aspx", true); } }
public ActionResult Approve(string requestId) { try { var request = dayOffRequestServices.GetRequestById(requestId); var requestVM = new ApproveRejectDayOffRequestVM { RequestId = request.RequestId, ShiftId = request.RequestedShift.ShiftId, AssignedEmployee = request.RequestEmployeeName, DateOfShift = request.RequestedShift.StartTime.Date, ShiftStartAt = request.RequestedShift.StartTime.ToShortTimeString(), ShiftEndAt = request.RequestedShift.EndTime.ToShortTimeString(), Reason = request.Reason }; return(PartialView("_Approve_Day_Off_Request", requestVM)); } catch (Exception ex) { var userInfo = CookieHelpers.GetUserInfo(); return(Redirect(string.Format("/Shift/EmployeeView?empId={0}", userInfo.EmployeeId))); } }
public void GetCart() { List <CartItemViewModel> cart = new List <CartItemViewModel>(); var CartSessionKey = _configuration.GetSection("CartSessionKey").Value; cart = CookieHelpers.GetObjectFromJson <List <CartItemViewModel> >(HttpContext.Request.Cookies, CartSessionKey); ViewBag.cart = cart; ViewBag.total = (cart != null) ? cart.Sum(item => item.Product.Price * item.Quantity) : 0; ViewBag.NumItem = (cart != null)?cart.Sum(x => x.Quantity):0; }
public void DeleteItemFromCookie(int productId) { List <CartItemViewModel> cart = CookieHelpers.GetObjectFromJson <List <CartItemViewModel> >(HttpContext.Request.Cookies, CartSessionKey); int index = cart.FindIndex(x => x.Product.Id == productId); if (index != -1) { cart.RemoveAt(index); CookieHelpers.SetObjectAsJson(HttpContext.Response.Cookies, CartSessionKey, cart, null); } }
public void UpdateToCookie(int productId, int quantity) { List <CartItemViewModel> cart = CookieHelpers.GetObjectFromJson <List <CartItemViewModel> >(HttpContext.Request.Cookies, CartSessionKey); int index = cart.FindIndex(x => x.Product.Id == productId); if (index != -1) { cart[index].Quantity = quantity; CookieHelpers.SetObjectAsJson(HttpContext.Response.Cookies, CartSessionKey, cart, null); } }
public async Task <IActionResult> Logout() { await HttpContext.SignOutAsync( CookieAuthenticationDefaults.AuthenticationScheme); var CartSessionKey = _configuration.GetSection("CartSessionKey").Value; CookieHelpers.RemoveCookie(Response.Cookies, CartSessionKey); CookieHelpers.RemoveCookie(Response.Cookies, "CartId"); CookieHelpers.RemoveCookie(Response.Cookies, "Token"); return(RedirectToAction("index", "Login")); }
public async Task <IActionResult> Order(OrderCreateRequest request) { request.OrderDetails = new List <OrderDetailCreateRequest>(); foreach (var item in ViewBag.cart) { var detail = new OrderDetailCreateRequest { ProductId = item.Product.Id, Price = item.Product.Price, Quantity = item.Quantity }; request.OrderDetails.Add(detail); } if (ModelState.IsValid) { var result = await _orderService.Create(request); if (result.IsSuccessed) { var data = new { Id = result.ResultObject, Name = request.ShipName, Phone = request.ShipPhone, Address = request.ShipAddress, Total = request.Total, Status = OrderStatus.InProgress.ToString(), Create_At = DateTime.Now.ToShortDateString(), }; await ChannelHelper.Trigger(data, "feed", "new_feed", _configuration); var CartSessionKey = _configuration.GetSection("CartSessionKey").Value; List <CartItemViewModel> cart = new List <CartItemViewModel>(); if (ViewBag.CartId != null) { await _cartService.DeleteAll(Convert.ToInt32(ViewBag.CartId)); } //CookieHelpers.SetObjectAsJson(Response.Cookies, "CartId"); CookieHelpers.SetObjectAsJson(HttpContext.Response.Cookies, CartSessionKey, cart, null); return(RedirectToAction("index", "home")); } ModelState.AddModelError(string.Empty, result.Message); return(View("index")); } else { return(View("index")); } }
public ActionResult Reject(ApproveRejectDayOffRequestVM request) { try { var userInfo = CookieHelpers.GetUserInfo(); var isRejected = dayOffRequestServices.RejectRequest(request.RequestId, request.ShiftId, userInfo.EmployeeId, request.ResponseComment); return(Json(new BaseViewModel <bool>(true, string.Empty, isRejected), JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new BaseViewModel <bool>(true, ex.Message, false), JsonRequestBehavior.AllowGet)); } }
public IActionResult Index() { var x = GetCartAsync(); List <CartItemViewModel> cart = new List <CartItemViewModel>(); cart = CookieHelpers.GetObjectFromJson <List <CartItemViewModel> >(HttpContext.Request.Cookies, CartSessionKey); ViewBag.cart = cart; ViewBag.count = cart.Count(); ViewBag.total = (cart != null) ? cart.Sum(item => item.Product.Price * item.Quantity) : 0; if (section != null) { ViewBag.IsLogged = true; } return(View()); }
public override void OnActionExecuting(ActionExecutingContext context) { section = CookieHelpers.GetObjectFromJson <string>(Request.Cookies, "Token"); GetCart(); if (section != null) { var userPrincipal = ValidateToken(section); ViewBag.ImagePath = userPrincipal.Claims.FirstOrDefault(c => c.Type == "Picture").Value; ViewBag.UserName = userPrincipal.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Name).Value; ViewBag.Email = userPrincipal.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Email).Value; ViewBag.UserId = userPrincipal.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value; ViewBag.CartId = userPrincipal.Claims.FirstOrDefault(c => c.Type == "CartId").Value; } languageDefauleId = _configuration.GetSection("LanguageDefaultId").Value; base.OnActionExecuting(context); }
public async Task <IActionResult> Index(LoginRequest request, [FromQuery] string ReturnUrl) { if (!ModelState.IsValid) { return(View(ModelState)); } var result = await _userAPIClient.Authenticate(request); if (result.IsSuccessed == false) { TempData["message"] = result.Message; ModelState.AddModelError("", result.Message); ViewBag.ErrorServerSide = true; return(View()); } TempData["Succes"] = "Login Succsess!"; CookieHelpers.SetObjectAsJson(Response.Cookies, "Token", result.ResultObject, 10); var userPrincipal = this.ValidateToken(result.ResultObject); var UserId = new Guid(userPrincipal.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value); var cartResult = await _cartService.GetById(UserId); if (cartResult.IsSuccessed == true) { var CartSessionKey = _configuration.GetSection("CartSessionKey").Value; CookieHelpers.RemoveCookie(Response.Cookies, CartSessionKey); CookieHelpers.SetObjectAsJson(HttpContext.Response.Cookies, CartSessionKey, cartResult.ResultObject.CartItems, null); } var authProperties = new AuthenticationProperties { ExpiresUtc = DateTimeOffset.UtcNow.AddMinutes(10), IsPersistent = true // có sử dụng persistent cookie }; await HttpContext.SignInAsync( CookieAuthenticationDefaults.AuthenticationScheme, userPrincipal, authProperties); if (!string.IsNullOrEmpty(ReturnUrl)) { return(Redirect(ReturnUrl)); } else { return(RedirectToAction("index", "home")); } }
public ActionResult Login(LoginModel model) { if (ModelState.IsValid) { User user = service.GetUserByEmail(model.EmailAddress); if (user == null) { ModelState.AddModelError("", "Login failed"); return(View(model)); } if (!BCryptHelper.CheckPassword(model.Password, user.Password)) { ModelState.AddModelError("", "The password you entered does not match the password for your account"); return(View(model)); } if (user.IsActive == false) { ModelState.AddModelError("", "Your account has not been activated yet, please click the link in the verification email that was sent to you."); return(RedirectToAction("login")); } // write the login cookie, redirect. if (model.RememberMe) { CookieHelpers.WriteCookie("Amorlc", "uid", user.ID.ToString(), DateTime.Now.AddDays(30)); } else { CookieHelpers.WriteCookie("Amorlc", "uid", user.ID.ToString()); } if (TempData["returnUrl"] != null) { return(Redirect(TempData["returnUrl"].ToString())); } return(RedirectToAction("index", "home")); } return(View(model)); }
public void OnAuthorization(AuthorizationContext filterContext) { if (!filterContext.HttpContext.Session.IsLoggedIn()) { if (CookieHelpers.Exists(SessionKey._appBP)) { try { HttpContext.Current.Session.RestoreSessionFromCookie(); } catch (Exception) { CookieHelpers.DeleteAll(); HttpContext.Current.Session.Clear(); } } else { CookieHelpers.DeleteAll(); } } }
public ActionResult Create(string shiftId) { try { var shift = shiftServices.GetShiftById(shiftId); var requestDayOffVM = new AddDayOffRequestVM { ShiftId = shiftId, DateOfShift = shift.StartTime.Date, ShiftStartAt = shift.StartTime.ToShortTimeString(), ShiftEndAt = shift.EndTime.ToShortTimeString() }; return(PartialView("_Create_Day_Off_Request", requestDayOffVM)); } catch (Exception ex) { var userInfo = CookieHelpers.GetUserInfo(); return(Redirect(string.Format("/Shift/EmployeeView?empId={0}", userInfo.EmployeeId))); } }
public ActionResult Create(AddDayOffRequestVM request) { try { var userInfo = CookieHelpers.GetUserInfo(); var dayOffRequest = new DayOffRequest { RequestedShiftId = request.ShiftId, RequestEmployeeId = userInfo.EmployeeId, RequestedAt = DateTime.Now, Reason = request.Reason, Status = EnumHelpers.GetDescription(DayOffRequestStatus.PENDING) }; var isAdded = dayOffRequestServices.CreateDayOff(dayOffRequest); return(Json(new BaseViewModel <bool>(true, string.Empty, isAdded), JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new BaseViewModel <bool>(true, ex.Message, false), JsonRequestBehavior.AllowGet)); } }
public ActionResult Create(AddVacationRequestVM request) { try { var userInfo = CookieHelpers.GetUserInfo(); var vacationRequest = new VacationRequest { RequestEmployeeId = userInfo.EmployeeId, RequestedAt = DateTime.Now, StartDate = request.StartDate, EndDate = request.EndDate, Status = EnumHelpers.GetDescription(VacationRequestStatus.PENDING) }; var isAdded = vacationRequestServices.CreateVacationRequest(vacationRequest); return(Json(new BaseViewModel <bool>(true, string.Empty, isAdded), JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new BaseViewModel <bool>(true, ex.Message, false), JsonRequestBehavior.AllowGet)); } }
public LiaraRequestCookieCollection(ILiaraContext context) { store = CookieHelpers.ParseRequestCookies(context.Environment.RequestHeaders); }
public async Task <IActionResult> ExternalLoginCallback(string returnUrl, string remoteError = null) { ExternalLoginInfo info = await _signInManager.GetExternalLoginInfoAsync(); returnUrl = returnUrl ?? Url.Content("~/"); if (remoteError != null) { ModelState.AddModelError(string.Empty, $"Error from external provider:{remoteError}"); return(View("Index")); } var externalLoginRequest = new ExternalLoginRequest { FullName = info.Principal.FindFirstValue(ClaimTypes.Name), Email = info.Principal.FindFirstValue(ClaimTypes.Email), ProviderKey = info.ProviderKey, LoginProvider = info.LoginProvider, ProviderDisPlayName = info.ProviderDisplayName, ImagePath = info.Principal.Claims.FirstOrDefault(c => c.Type == "picture").Value, }; var result = await _userAPIClient.ExternalLoginCallback(externalLoginRequest); if (result.IsSuccessed == false) { TempData["message"] = result.Message; ModelState.AddModelError("", result.Message); ViewBag.ErrorServerSide = true; return(View()); } TempData["Succes"] = "Login Succsess!"; //HttpContext.Session.SetString("Token", result.ResultObject); CookieHelpers.SetObjectAsJson(Response.Cookies, "Token", result.ResultObject, 10); var userPrincipal = this.ValidateToken(result.ResultObject); var UserId = new Guid(userPrincipal.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value); var cartResult = await _cartService.GetById(UserId); if (cartResult.IsSuccessed == true) { var CartSessionKey = _configuration.GetSection("CartSessionKey").Value; CookieHelpers.RemoveCookie(Response.Cookies, CartSessionKey); CookieHelpers.SetObjectAsJson(HttpContext.Response.Cookies, CartSessionKey, cartResult.ResultObject.CartItems, null); } var authProperties = new AuthenticationProperties { ExpiresUtc = DateTimeOffset.UtcNow.AddMinutes(10), IsPersistent = false // có sử dụng persistent cookie }; await HttpContext.SignInAsync( CookieAuthenticationDefaults.AuthenticationScheme, userPrincipal, authProperties); if (!string.IsNullOrEmpty(returnUrl)) { return(Redirect(returnUrl)); } else { return(RedirectToAction("index", "home")); } }