public async Task <ActionResult> Post(ReturnOrderViewModel model) { model.OrderId = await GetDeliveryId(model.OrderId); await SendCommandAsync <ReturnOrder>(model); return(Accepted()); }
public virtual ActionResult ValidateRefund(ReturnOrderViewModel model) { LogI("ValidateRefund"); var result = model.ValidateRefundRequest(Db, LogService); return(Json(new ValueResult <string>(!result.Any(), String.Join("<br/>", result.Select(r => r.Message)), null), JsonRequestBehavior.AllowGet)); }
public IActionResult ReturnOrder(long id) { var model = new ReturnOrderViewModel() { Order = OrderHelper.GetOrder(id, _context), Return = new Return() { OrderId = id } }; return(View(model)); }
public virtual ActionResult MarkRefundAsProcessed(long id) { LogI("MarkRefundAsProcessed, id=" + id); var result = ReturnOrderViewModel.MarkRefundAsProcessed(Db, LogService, Time, ActionService, id, Time.GetAppNowTime(), AccessManager.UserId); return(JsonGet(result)); }
public virtual ActionResult AcceptReturn(long id) { LogI("AcceptRefund, id=" + id); var result = ReturnOrderViewModel.AcceptReturn(Db, LogService, QuantityManager, ActionService, id, Time.GetAppNowTime(), AccessManager.UserId); return(JsonGet(result)); }
public virtual ActionResult GetModelByOrderId(string searchString) { LogI("GetModelByOrderId, searchString=" + searchString); var model = new ReturnOrderViewModel(); if (!String.IsNullOrWhiteSpace(searchString)) { searchString = searchString.RemoveWhitespaces(); model = ReturnOrderViewModel.GetByOrderId(Db, LogService, WeightService, searchString); } return(new JsonResult { Data = model, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public virtual ActionResult GetEmailsByOrderId(string orderId) { LogI("GetModelByOrderId, orderId=" + orderId); IList <EmailViewModel> emails = new List <EmailViewModel>(); if (!String.IsNullOrEmpty(orderId)) { emails = ReturnOrderViewModel.GetEmailsByOrderId(Db, AddressService, orderId); } return(new JsonResult { Data = emails, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public async Task <IActionResult> ReturnOrder(ReturnOrderViewModel model) { var user = await _userManager.GetUserAsync(User); model.Return.ReturnOpenedDate = DateTime.Now; _context.Add(model.Return); foreach (var item in model.ReturnItems) { var newItem = new ReturnItem() { ReturnId = model.Return.Id, ItemId = item }; _context.Add(newItem); model.Return.ReturnItems.Add(newItem); } _context.SaveChanges(); OrderHelper.UpdateOrderStatus(model.Return.OrderId, OrderHelper.StatusId(MasterStrings.AwaitingReturn, _context), _context); var customerMessage = MasterStrings.Header; customerMessage += "<body>"; customerMessage += string.Format(MasterStrings.CustomerReturn, user.Forename); customerMessage += MasterStrings.SpamMessage; customerMessage += string.Format(MasterStrings.CustomerOrderLink, model.Return.OrderId); customerMessage += "</body></html> "; var storeMessage = MasterStrings.Header; storeMessage += "<body>"; storeMessage += string.Format(MasterStrings.StoreReturn, MasterStrings.StoreName); storeMessage += MasterStrings.SpamMessage; storeMessage += string.Format(MasterStrings.StoreOrderLink, model.Return.OrderId); storeMessage += "</body></html> "; await _emailSender.SendEmailAsync(user.Email, "Return Confirmation: " + model.Return.OrderId, customerMessage); await _emailSender.SendEmailAsync(MasterStrings.AdminEmail, "Order Returned: " + model.Return.OrderId, storeMessage); return(ControllerHelper.RedirectToLocal(this, "/Orders/Index?successMessage=Your return has been requested.")); }
public virtual ActionResult Generate(ReturnOrderViewModel model) { LogI("Index, model=" + model); if (ModelState.IsValid) { model.OrderID = model.OrderID.RemoveWhitespaces(); var shipmentProviders = ServiceFactory.GetShipmentProviders(LogService, Time, DbFactory, WeightService, AccessManager.ShipmentProviderInfoList, AppSettings.DefaultCustomType, AppSettings.LabelDirectory, AppSettings.ReserveDirectory, AppSettings.TemplateDirectory); var labelService = new LabelService(shipmentProviders, LogService, Time, DbFactory, EmailService, PdfMaker, AddressService); var quntityManager = new QuantityManager(LogService, Time); var actionService = new SystemActionService(LogService, Time); if (model.ReasonCode == (int)MailLabelReasonCodes.ReturnLabelReasonCode) { var returnResults = model.ReturnAction(Db, quntityManager, actionService, LogService, Time, Time.GetAppNowTime(), AccessManager.UserId); model.Messages.AddRange(returnResults); } if (model.ReasonCode == (int)MailLabelReasonCodes.ExchangeCode) { var exchangeResults = model.ExchangeAction(Db, LogService, Time, quntityManager, labelService, WeightService, ShippingService, AccessManager.Company, Time.GetAppNowTime(), AccessManager.UserId); model.Messages.AddRange(exchangeResults); } if (model.ReasonCode == (int)MailLabelReasonCodes.RefundCode) { var refundResults = model.RefundAction(Db, quntityManager, actionService, LogService, Time, Time.GetAppNowTime(), AccessManager.UserId); model.Messages.AddRange(refundResults); } var affectedStyleIdList = model.Items.Where(i => i.ExchangeStyleId.HasValue).Select(i => (long)i.ExchangeStyleId.Value).Distinct().ToList(); affectedStyleIdList.AddRange(model.Items.Where(i => i.StyleId.HasValue).Select(i => i.StyleId.Value).Distinct().ToList()); Cache.RequestStyleIdUpdates(Db, affectedStyleIdList, UpdateCacheMode.IncludeChild, AccessManager.UserId); } else { model.Messages.AddRange(ModelState.GetErrors().Select(m => MessageString.Error(m))); } LogI("Index, Generate results="); model.Messages.ForEach(m => LogI(m.Status + ": " + m.Message)); return(new JsonResult { Data = model, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public virtual ActionResult GetExchangeInfo(string orderNumber) { var model = ReturnOrderViewModel.GetExchangeInfo(Db, WeightService, orderNumber); return(JsonGet(ValueResult <IList <ReturnQuantityItemViewModel> > .Success("", model))); }