public override void OnActionExecuting(ActionExecutingContext filterContext) { if (UserSessionContext.CurrentUser() == null || UserSessionContext.CurrentUserId() == Guid.Empty) { HttpContextBase context = filterContext.HttpContext; var url = context.Request.Url.ToString().ToLower(); var customerLoginUrl = UserSessionContext.UrlFrontEndLogin + "?url=" + HttpUtility.UrlEncode(url); if (_returnTypeInJson) { filterContext.Result = new JsonResult() { Data = new { Message = "Require logedin : " + url }, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; } else { filterContext.Result = new RedirectResult(customerLoginUrl); } } base.OnActionExecuting(filterContext); }
public Guid GetShoppingCartId() { var httpContext = System.Web.HttpContext.Current; var currentUserId = UserSessionContext.CurrentUserId(); var sessionCart = httpContext.Session["shoppingcartid"]; string temp = string.Empty; if (sessionCart != null) { temp = sessionCart.ToString(); } Guid cartId; if (!string.IsNullOrEmpty(temp)) { return(Guid.Parse(temp)); } cartId = Guid.NewGuid(); httpContext.Session["shoppingcartid"] = cartId.ToString(); MemoryMessageBuss.PushCommand(new CreateShoppingCart(cartId, currentUserId, LanguageId, CurrentIpAddress, SiteDomainUrl)); return(cartId); }
public JsonResult CreateNewShoppingCart() { var id = Guid.NewGuid(); SetShoppingCartId(id); MemoryMessageBuss.PushCommand(new CreateShoppingCart(id, UserSessionContext.CurrentUserId(), LanguageId, CurrentIpAddress, SiteDomainUrl)); return(Json(new { Ok = true, Data = new { Id = id }, Message = "Success" }, JsonRequestBehavior.AllowGet)); }
public JsonResult DeleteVoucherCode(List <Guid> ids) { foreach (var id in ids) { MemoryMessageBuss.PushCommand(new DeleteVoucherCode(id, UserSessionContext.CurrentUserId(), DateTime.Now)); } return(Json(new { Ok = true, Data = new { Ids = ids }, Message = "Success" }, JsonRequestBehavior.AllowGet)); }
public JsonResult CheckVoucherCode(string voucherCode) { if (string.IsNullOrEmpty(voucherCode)) { return(Json(new { Ok = false, Data = new { VoucherValue = 0, Description = "voucher code required" }, Message = "voucher code required" }, JsonRequestBehavior.AllowGet)); } var id = GetShoppingCartId(); var currentUserId = UserSessionContext.CurrentUserId(); MemoryMessageBuss.PushCommand(new CheckVoucherCodeForShoppingCart(id, voucherCode, currentUserId)); ShoppingCart cart; string description = string.Empty; List <ContentLanguage> contentLanguages; using (var db = new CoreEcommerceDbContext()) { cart = db.ShoppingCarts.SingleOrDefault(i => i.Id == id); var voucher = db.VoucherCodes.SingleOrDefault( i => i.Code.Equals(voucherCode, StringComparison.OrdinalIgnoreCase)); if (voucher == null) { return(Json(new { Ok = false, Data = new { VoucherValue = 0, Description = "voucher code was not exist" }, Message = "voucher code was not exist" }, JsonRequestBehavior.AllowGet)); } contentLanguages = db.ContentLanguages.Where(i => i.Id == voucher.Id || i.Id == voucher.VoucherMethodId) .ToList(); } description = string.Join("<br>", contentLanguages.Where(i => i.ColumnName.Equals("Description")).Select(i => i.ColumnValue).ToList()); return(Json(new { Ok = true, Data = new { VoucherValue = cart.VoucherValue, Description = description }, Message = "Success" }, JsonRequestBehavior.AllowGet)); }
public JsonResult AdminConfirmPayFail(string orderCode) { Guid id; using (var db = new CoreEcommerceDbContext()) { id = db.PaymentTransactions.Where(i => i.OrderCode.Equals(orderCode, StringComparison.OrdinalIgnoreCase)).Select(i => i.Id) .SingleOrDefault(); } MemoryMessageBuss.PushCommand(new AdminFailPaymentTransaction(id, UserSessionContext.CurrentUserId(), DateTime.Now)); return(Json(new { Ok = true, Data = new { OrderCode = orderCode }, Message = "Success" }, JsonRequestBehavior.AllowGet)); }
public JsonResult SaveProfile(string phone, string email) { var id = UserSessionContext.CurrentUserId(); if (string.IsNullOrEmpty(phone) || string.IsNullOrEmpty(email)) { return(Json(new { Ok = false, Data = new { Id = id }, Message = "Phone, email are require" }, JsonRequestBehavior.AllowGet)); } MemoryMessageBuss.PushCommand(new UpdateUser(id, phone, email, id, DateTime.Now)); return(Json(new { Ok = true, Data = new { Id = id }, Message = "Success" }, JsonRequestBehavior.AllowGet)); }
public JsonResult CreateVoucherCode(int quantity, long codeValue, Guid voucherMethodId) { Dictionary <Guid, string> codes = new Dictionary <Guid, string>(); for (int i = 0; i < quantity; i++) { codes.Add(Guid.NewGuid(), VoucherCodeServices.GenerateCode()); } var currentUserId = UserSessionContext.CurrentUserId(); var createdDate = DateTime.Now; foreach (var code in codes) { MemoryMessageBuss.PushCommand(new CreateVoucherCode(code.Key, code.Value, codeValue, voucherMethodId, currentUserId, createdDate)); } return(Json(new { Ok = true, Data = new { Codes = codes.Select(i => new { Id = i.Key, Code = i.Value }) }, Message = "Success" }, JsonRequestBehavior.AllowGet)); }
public JsonResult CustomerConfirm(string orderCode) { PaymentTransaction payTrans; ShoppingCart cart; using (var db = new CoreEcommerceDbContext()) { payTrans = db.PaymentTransactions.SingleOrDefault( i => i.OrderCode.Equals(orderCode, StringComparison.OrdinalIgnoreCase)); if (payTrans == null) { throw new Exception("payment was not created"); } cart = db.ShoppingCarts.SingleOrDefault(i => i.OrderCode.Equals(orderCode, StringComparison.OrdinalIgnoreCase)); } MemoryMessageBuss.PushCommand(new ConfirmShoppingCartByCustomer(cart.Id, UserSessionContext.CurrentUserId())); return(Json(new { Ok = true, Data = payTrans, Message = "Success" }, JsonRequestBehavior.AllowGet)); }
public JsonResult ChangePassword(string oldPassword, string newPassword, string newPasswordRetype) { var id = UserSessionContext.CurrentUserId(); if (string.IsNullOrEmpty(oldPassword) || string.IsNullOrEmpty(newPassword) || !newPassword.Equals(newPasswordRetype)) { return(Json(new { Ok = false, Data = new { Id = id }, Message = "Change password failed. Your passowrd is empty or not match" }, JsonRequestBehavior.AllowGet)); } try { MemoryMessageBuss.PushCommand(new ChangePasswordByUser(id, oldPassword, newPassword, id, DateTime.Now)); return(Json(new { Ok = true, Data = new { Id = id }, Message = "Success" }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { Ok = false, Data = new { Id = id }, Message = ex.GetMessages() }, JsonRequestBehavior.AllowGet)); } }
public JsonResult CompleteAndPayOrder(Guid paymentMethodId, Guid shippingMethodId, DateTime receivingTime, string address, double addressLatitude, double addressLongitude , string addressName, string phone, string email , string voucherCode, string message) { if (receivingTime <= DateTime.Now) { return(Json(new { Ok = false, Data = new { }, Message = "receiving time must bigger than now" }, JsonRequestBehavior.AllowGet)); } if (shippingMethodId == Guid.Empty || string.IsNullOrEmpty(address)) { return(Json(new { Ok = false, Data = new { }, Message = "shipping method, address required" }, JsonRequestBehavior.AllowGet)); } if (paymentMethodId == Guid.Empty || string.IsNullOrEmpty(phone) || string.IsNullOrEmpty(email)) { return(Json(new { Ok = false, Data = new { }, Message = "payment method, phone, email required" }, JsonRequestBehavior.AllowGet)); } if (email.IsValidEmail() == false) { return(Json(new { Ok = false, Data = new { }, Message = "email not valid" }, JsonRequestBehavior.AllowGet)); } var id = GetShoppingCartId(); var userId = UserSessionContext.CurrentUserId(); MemoryMessageBuss.PushCommand(new CheckoutShoppingCart(id, userId, paymentMethodId, shippingMethodId, addressName, receivingTime, address, addressLatitude, addressLongitude , voucherCode, phone, email, message, LanguageId)); ShoppingCart cart; using (var db = new CoreEcommerceDbContext()) { cart = db.ShoppingCarts.SingleOrDefault(i => i.Id == id); } return(Json(new { Ok = true, Data = cart, Message = "Success" }, JsonRequestBehavior.AllowGet)); }
public JsonResult AddComent(Guid id, string comment, Guid?commentParentId) { var x = commentParentId ?? Guid.Empty; string authorName = UserSessionContext.CurrentUsername(); MemoryMessageBuss.PushCommand(new AddCommentToProduct(id, comment, authorName, UserSessionContext.CurrentUserId(), x)); return(Json(new { Ok = true, Data = new { Id = id }, Message = "Success" }, JsonRequestBehavior.AllowGet)); }
public JsonResult AdminCancelOrder(Guid id) { MemoryMessageBuss.PushCommand(new AdminCancelOrderForShoppingCart(id, UserSessionContext.CurrentUserId(), DateTime.Now)); return(Json(new { Ok = true, Data = new { Id = id }, Message = "Success" }, JsonRequestBehavior.AllowGet)); }