public static List <EditProductNote> GetByProductID(int productID) { using (var db = OnlineStoreDbContext.Entity) { var query = from item in db.ProductNotes where item.ProductID == productID select new EditProductNote { Note = item.Note, UserID = item.UserID, LastUpdate = item.LastUpdate }; var result = query.ToList(); foreach (var item in result) { var user = OSUsers.GetByID(item.UserID); if (user != null) { item.Username = user.UserName; } } return(result); } }
public ActionResult Index(string id) { List <PostalInformation> PostalInfoList = new List <PostalInformation>(); var IDs = id.Split(','); foreach (var item in IDs) { var cart = Carts.GetByID(Int32.Parse(item)); if (cart.UserID != null) { var user = OSUsers.GetByID(cart.UserID); var buyer = Mapper.Map <ViewBuyerInfo>(user); buyer.StateName = user.StateID.HasValue ? Cities.GetCityName(user.StateID.Value) : String.Empty; buyer.CityName = user.CityID.HasValue ? Cities.GetCityName(user.CityID.Value) : String.Empty; PostalInformation postalInfo = new PostalInformation { ViewBuyerInfo = buyer, Description = cart.UserDescription }; PostalInfoList.Add(postalInfo); } } return(View(PostalInfoList)); }
public ActionResult Index(int id) { FactorSettings factor; var cart = Carts.GetFactor(id); ViewBag.Message = Utilities.MellatBankResult(cart.ResCode.ToString()); // پرداخت موفقیت آمیز if (cart.CartStatus == CartStatus.Success || cart.CartStatus == CartStatus.FuturePay) { #region Success Payment ViewBag.Message += "<br/> کد رهگیری: " + cart.SaleReferenceID; var cartItems = CartItems.GetOrderItems(cart.ID); var user = OSUsers.GetByID(cart.UserID); #region Mapp To Buyer var buyer = Mapper.Map <ViewBuyerInfo>(user); buyer.StateName = user.StateID.HasValue ? Cities.GetCityName(user.StateID.Value) : String.Empty; buyer.CityName = user.CityID.HasValue ? Cities.GetCityName(user.CityID.Value) : String.Empty; #endregion Mapp To Buyer factor = new FactorSettings { IsSuccess = true, CartItems = cartItems, FactorInfo = cart, BuyerInfo = buyer, CompanyEmail = StaticValues.Email, CompanyLogo = StaticValues.Logo, CompanyName = StaticValues.WebsiteTitle, CompanyWebsite = StaticValues.WebsiteUrl, CompanyPhone = StaticValues.Phone }; #endregion Success Payment } else { #region Fail Payment factor = new FactorSettings { IsSuccess = false }; #endregion Fail Payment } return(View("/Areas/User/Views/Factor/Index.cshtml", model: factor)); }
public JsonResult Get(int pageIndex, int pageSize, string pageOrder, string userName, string fullName, string email, string isActive) { bool?active = null; if (isActive != "-1") { active = Boolean.Parse(isActive); } if (pageOrder.Trim() == "ID") { pageOrder = "LastUpdate desc"; } var list = OSUsers.Get(pageIndex, pageSize, pageOrder, userName, fullName, email, active); int total = OSUsers.Count(userName, fullName, email, active); int totalPage = (int)Math.Ceiling((decimal)total / pageSize); if (pageSize > total) { pageSize = total; } if (list.Count < pageSize) { pageSize = list.Count; } JsonResult result = new JsonResult() { Data = new { TotalPages = totalPage, PageIndex = pageIndex, PageSize = pageSize, Rows = list }, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; return(result); }
public ActionResult Index() { if (User.Identity.IsAuthenticated) { var user = OSUsers.GetByID(UserID); if (String.IsNullOrWhiteSpace(user.Mobile) || String.IsNullOrWhiteSpace(user.Phone) || user.StateID == null || user.CityID == null || String.IsNullOrWhiteSpace(user.HomeAddress) ) { ViewBag.UserInfo = false; } } return(View(url)); }
public ActionResult Index() { var activeSendMethods = SendMethods.GetActiveMethods(); var activePaymentMethods = PaymentMethods.GetActiveMethods(); ViewBuyerInfo buyer = new ViewBuyerInfo(); if (User.Identity.IsAuthenticated) { var user = OSUsers.GetByID(UserID); #region Mapp To Buyer buyer.Firstname = user.Firstname; buyer.Lastname = user.Lastname; buyer.Email = user.Email; // TODO: UserAddresses buyer.Phone = user.Phone; buyer.Mobile = user.Mobile; buyer.HomeAddress = user.HomeAddress; buyer.PostalCode = user.PostalCode; if (user.StateID.HasValue) { buyer.StateName = Cities.GetCityName(user.StateID.Value); } if (user.CityID.HasValue) { buyer.CityName = Cities.GetCityName(user.CityID.Value); } #endregion Mapp To Buyer } var send = Mapper.Map <List <ViewSendMethod> >(activeSendMethods); var payment = Mapper.Map <List <ViewPaymentMethod> >(activePaymentMethods); CartSettings cart = new CartSettings { PaymentMethods = payment, SendMethods = send, IsAuthentication = User.Identity.IsAuthenticated, BuyerInfo = buyer }; return(View(cart)); }
public ActionResult Edit(string id) { EditOSUser editOSUser; if (!string.IsNullOrWhiteSpace(id)) { var osUser = OSUsers.GetByID(id); editOSUser = Mapper.Map <EditOSUser>(osUser); editOSUser.RoleIDs = UserRoles.GetByUserID(id).Select(item => item.RoleId).ToArray(); } else { editOSUser = new EditOSUser(); } return(View(editOSUser)); }
public async Task <ActionResult> Index(string refID, int resCode, string saleOrderID, string saleReferenceID) { var cart = Carts.GetByOrderID(saleOrderID); string resSettle = String.Empty, resVerify = String.Empty; var cartStatus = CartStatus.Fail; if (resCode == 0) { cartStatus = CartStatus.Success; } updateCart(ref resSettle, ref resVerify, refID, saleOrderID, saleReferenceID, resCode, cartStatus, cart.ID); logPaymentData(resSettle, resVerify, saleReferenceID, saleOrderID, resCode, cartStatus); var user = OSUsers.GetByID(cart.UserID); if (!User.Identity.IsAuthenticated) { await SignInAsync(user, true); } if (resCode == 0) { sendMessage(user, saleReferenceID, cart); } return(Redirect("My-Account/My-Orders/Factor/" + cart.ID)); }
public JsonResult Delete(string id) { var jsonSuccessResult = new JsonSuccessResult(); try { OSUsers.Delete(id); jsonSuccessResult.Success = true; } catch (Exception ex) { jsonSuccessResult.Errors = new string[] { ex.Message }; jsonSuccessResult.Success = false; } return(new JsonResult() { Data = jsonSuccessResult }); }
public ActionResult Edit(ProductQuestion productQuestion, string sendEmail) { try { productQuestion.LastUpdate = DateTime.Now; ViewBag.Success = true; if (productQuestion.ID == -1) { productQuestion.UserID = UserID; productQuestion.DateTime = DateTime.Now; ProductQuestions.Insert(productQuestion); UserNotifications.Send(UserID, String.Format("جدید - سوالات متداول '{0}'", productQuestion.Question), "/Admin/ProductQuestions/Edit/" + productQuestion.ID, NotificationType.Success); productQuestion = new ProductQuestion(); } else { ProductQuestions.Update(productQuestion); if (!String.IsNullOrWhiteSpace(productQuestion.UserID) && sendEmail == "on" && productQuestion.QuestionStatus == QuestionStatus.Answered) { var user = OSUsers.GetByID(productQuestion.UserID); EmailServices.SendEmail(user.Email, "پاسخ به پرسش شما", productQuestion.Reply, user.Id); } } } catch (Exception ex) { SetErrors(ex); } return(ClearView(model: productQuestion)); }
public ActionResult Index() { var user = OSUsers.GetByID(UserID); var buyer = Mapper.Map <ViewBuyerInfo>(user); // TODO: UserAddresses buyer.StateName = user.StateID.HasValue ? Cities.GetCityName(user.StateID.Value) : String.Empty; buyer.CityName = user.CityID.HasValue ? Cities.GetCityName(user.CityID.Value) : String.Empty; MyAccountSettings model = new MyAccountSettings(); model.Orders = Carts.CountOrdersByUserID(UserID); model.OrdersSubmitted = Carts.CountOrdersByUserID(UserID, SendStatus.Sent); model.OrdersDelivered = Carts.CountOrdersByUserID(UserID, SendStatus.Delivered); model.Comments = ScoreComments.CountByUserID(UserID); model.CommentRates = ProductCommentRates.CountByUserID(UserID); model.Wishes = UserWishes.CountByUserID(UserID); model.Posts = Articles.CountByUserID(ArticleType.Blog, UserID); model.UserInfo = buyer; return(View("/Areas/User/Views/MyAccount/Index.cshtml", model: model)); }
public ActionResult Edit(EditCart editCart, string notices) { try { var old = Carts.GetByID(editCart.ID); Cart cart = new Cart { ID = editCart.ID, CartStatus = editCart.CartStatus, SendStatus = editCart.SendStatus, SendDate = editCart.SendDate, DeliveryDate = editCart.DeliveryDate, ConfirmationStatus = editCart.ConfirmationStatus, ConfirmationDate = editCart.ConfirmationDate, BillNumber = editCart.BillNumber, Description = editCart.Description, LastUpdate = DateTime.Now, }; SaveNotes(editCart, editCart.ID, UserID); ViewBag.Success = true; Carts.UpdateByAdmin(cart); #region User Info var user = OSUsers.GetByID(old.UserID); #endregion User Info if (notices == "on") { #region Send Messages // تاییدیه مالی if (old.ConfirmationStatus != ConfirmationStatus.Approved && editCart.ConfirmationStatus == ConfirmationStatus.Approved) { SMSServices.FinancialConfirmation(user.Firstname, user.Lastname, user.Mobile, user.Id); EmailServices.FinancialConfirmation(user.Firstname, user.Lastname, user.Email, user.Id); } // بررسی شده if (old.SendStatus == SendStatus.NotChecked && cart.SendStatus == SendStatus.Checked) { SMSServices.CheckeProduct(user.Firstname, user.Lastname, user.Mobile, user.Id); EmailServices.CheckeProduct(user.Firstname, user.Lastname, user.Email, user.Id); } // ارسال کالا if (old.SendStatus == SendStatus.Checked && cart.SendStatus == SendStatus.Sent) { SMSServices.SendProduct(user.Firstname, user.Lastname, user.Mobile, user.Id, editCart.BillNumber); EmailServices.SendProduct(user.Firstname, user.Lastname, user.Email, user.Id, editCart.BillNumber); } // تحویل کالا if (old.SendStatus != SendStatus.Delivered && cart.SendStatus == SendStatus.Delivered) { SMSServices.DliverProduct(user.Firstname, user.Lastname, user.Mobile, user.Id); EmailServices.DliverProduct(user.Firstname, user.Lastname, user.Email, user.Id); } #endregion Send Messages } } catch (Exception ex) { SetErrors(ex); } return(RedirectToAction("Index")); }
public JsonResult Payment(OSUser osUser, SendMethodType sendMethodType, PaymentMethodType paymentMethodType, string userDescription) { var jsonSuccessResult = new JsonSuccessResult(); try { var payDate = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString().PadLeft(2, '0') + DateTime.Now.Day.ToString().PadLeft(2, '0'); var payTime = DateTime.Now.Hour.ToString().PadLeft(2, '0') + DateTime.Now.Minute.ToString().PadLeft(2, '0') + DateTime.Now.Second.ToString().PadLeft(2, '0'); var orderID = payDate + payTime; string userID; int? cityID; if (User.Identity.IsAuthenticated) { userID = UserID; cityID = OSUsers.GetByID(UserID).CityID; } else { cityID = osUser.CityID; IdentityResult result = registerUser(ref osUser); if (result.Succeeded) { UserNotifications.Send(StaticValues.AdminID, String.Format("ثبت نام کاربر - در فرم سبد خرید '{0}'", osUser.UserName), "/Admin/OSUsers/Edit/" + osUser.Id, NotificationType.Success); userID = osUser.Id; } else { throw new Exception(result.Errors.Aggregate((a, b) => a + ", " + b)); } } int total = 0, totalDiscount = 0, delivaryPrice = -1; var cart = GetCart(HttpContext); var cartItems = CartItems.GetByCartID(cart.ID, (User.Identity.IsAuthenticated ? userID : null)); var listGifts = new List <CartItemGift>(); foreach (var item in cartItems) { var price = (item.DiscountPercent > 0 ? item.DiscountPrice : item.Price); #region Update CartItem var cartItem = CartItems.GetByID(item.ID); cartItem.Price = price; cartItem.IsFreeDelivery = item.IsFreeDelivery; CartItems.Update(cartItem); #endregion Update CartItem totalDiscount += item.Quantity * price; total += item.Quantity * item.Price; foreach (var gift in item.Gifts) { listGifts.Add(new CartItemGift { CartItemID = item.ID, GiftID = gift.GiftID, Price = gift.Price, LastUpdate = DateTime.Now }); } } if ( (sendMethodType == SendMethodType.Free && cityID == 468) || // مشهد (StaticValues.MaxPriceFreeDelivery && totalDiscount >= 10000) || // طرح های بالای ارسال (cartItems.Any(a => a.IsFreeDelivery)) // محصولات دارای ارسال رایگان ) { delivaryPrice = 50000; } else { delivaryPrice = StaticValues.DeliveryPrice; } // ثبت هدایا if (listGifts.Count > 0) { CartItemGifts.Insert(listGifts); } var toPay = (totalDiscount + delivaryPrice); string refID = String.Empty; if (paymentMethodType == PaymentMethodType.Online) { Logs.Alert(Utilities.GetIP(), "PaymentMethodType.Online", String.Format("payDate: {0}, payTime: {1}, orderID: {2}, toPay: {3}", payDate, payTime, orderID, toPay)); refID = connectToMellat(payDate, payTime, orderID, toPay); } #region Update Cart cart.UserID = userID; cart.SendMethodType = sendMethodType; cart.PaymentMethodType = paymentMethodType; cart.Tax = Int32.Parse(StaticValues.Tax); cart.IP = Utilities.GetIP(); cart.UserDescription = userDescription; cart.Total = total; cart.DelivaryPrice = delivaryPrice; cart.TotalDiscount = totalDiscount; cart.ToPay = toPay; cart.DateTime = cart.LastUpdate = DateTime.Now; cart.CartGuid = null; if (paymentMethodType == PaymentMethodType.Online) { cart.CartStatus = CartStatus.DuringPay; } else if (paymentMethodType == PaymentMethodType.Card || paymentMethodType == PaymentMethodType.Home) { cart.CartStatus = CartStatus.FuturePay; } cart.SendStatus = SendStatus.NotChecked; cart.OrderID = orderID; Carts.Update(cart); #endregion Update Cart logPaymentData(orderID, toPay, cart.ID); jsonSuccessResult.Success = true; if (paymentMethodType == PaymentMethodType.Online) { jsonSuccessResult.Data = new { PgwSite = StaticValues.PgwSite, RefID = refID } } ; else { jsonSuccessResult.Data = new { ToPayPrice = toPay }; OSUser user; // اطلاع رسانی به مدیر سایت if (User.Identity.IsAuthenticated) { user = OSUsers.GetByID(UserID); } else { user = osUser; } NotifyNewOrder(user, cart, "-1"); } } catch (DbException ex) { jsonSuccessResult.Errors = ex.Errors.ToArray(); jsonSuccessResult.Success = false; Logs.Alert(Utilities.GetIP(), "Payment Error", ex.Errors.Aggregate((a, b) => a + ", " + b) + "_" + ex.StackTrace, LogType.Error); } catch (Exception ex) { jsonSuccessResult.Errors = new string[] { ex.Message }; jsonSuccessResult.Success = false; Logs.Alert(Utilities.GetIP(), "Payment Error", ex.Message + "_" + ex.StackTrace, LogType.Error); } return(new JsonResult() { Data = jsonSuccessResult, }); }