Example #1
0
        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()));
            }
        }
Example #2
0
 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);
     }
 }
Example #3
0
    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;
        }
Example #6
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);
            }
        }
Example #7
0
        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));
            }
        }
Example #11
0
        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"));
            }
        }
Example #14
0
        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));
            }
        }
Example #18
0
        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"));
            }
        }