public virtual async Task <IActionResult> AddOrderNote(AddOrderNoteModel model) { if (!_orderSettings.AllowCustomerToAddOrderNote) { return(RedirectToRoute("HomePage")); } if (!ModelState.IsValid) { return(View("AddOrderNote", model)); } var order = await _orderService.GetOrderById(model.OrderId); if (!order.Access(_workContext.CurrentCustomer)) { return(Challenge()); } await _mediator.Send(new InsertOrderNoteCommand() { Order = order, OrderNote = model, Language = _workContext.WorkingLanguage }); //notification await _mediator.Publish(new OrderNoteEvent(order, model)); AddNotification(Framework.UI.NotifyType.Success, _localizationService.GetResource("OrderNote.Added"), true); return(RedirectToRoute("OrderDetails", new { orderId = model.OrderId })); }
public virtual IActionResult AddOrderNote(string orderId, AddOrderNoteModel model) { if (!_orderSettings.AllowCustomerToAddOrderNote) { return(RedirectToRoute("HomePage")); } if (!ModelState.IsValid) { return(View("AddOrderNote", model)); } var order = _orderService.GetOrderById(orderId); if (order == null || order.Deleted || _workContext.CurrentCustomer.Id != order.CustomerId) { return(Challenge()); } _orderService.InsertOrderNote(new OrderNote { CreatedOnUtc = DateTime.UtcNow, DisplayToCustomer = true, Note = model.Note, OrderId = orderId, CreatedByCustomer = true }); AddNotification(Framework.UI.NotifyType.Success, _localizationService.GetResource("OrderNote.Added"), true); return(RedirectToRoute("OrderDetails", orderId)); }
public virtual async Task InsertOrderNote(AddOrderNoteModel model) { var orderNote = new OrderNote { CreatedOnUtc = DateTime.UtcNow, DisplayToCustomer = true, Note = model.Note, OrderId = model.OrderId, CreatedByCustomer = true }; await _orderService.InsertOrderNote(orderNote); //email await _serviceProvider.GetRequiredService <IWorkflowMessageService>().SendNewOrderNoteAddedCustomerNotification( orderNote, _workContext.WorkingLanguage.Id); }
public virtual void InsertOrderNote(AddOrderNoteModel model) { var orderNote = new OrderNote { CreatedOnUtc = DateTime.UtcNow, DisplayToCustomer = true, Note = model.Note, OrderId = model.OrderId, CreatedByCustomer = true }; _orderService.InsertOrderNote(orderNote); //email Core.Infrastructure.EngineContext.Current.Resolve <IWorkflowMessageService>().SendNewOrderNoteAddedCustomerNotification( orderNote, _workContext.WorkingLanguage.Id); }
//My account / Order details page / Add order note public virtual async Task <IActionResult> AddOrderNote(string orderId) { if (!_orderSettings.AllowCustomerToAddOrderNote) { return(RedirectToRoute("HomePage")); } var order = await _orderService.GetOrderById(orderId); if (order == null || order.Deleted || _workContext.CurrentCustomer.Id != order.CustomerId) { return(Challenge()); } var model = new AddOrderNoteModel(); model.OrderId = orderId; return(View("AddOrderNote", model)); }
public virtual async Task <IActionResult> AddOrderNote(AddOrderNoteModel model) { if (!_orderSettings.AllowCustomerToAddOrderNote) { return(RedirectToRoute("HomePage")); } if (!ModelState.IsValid) { return(View("AddOrderNote", model)); } var order = await _orderService.GetOrderById(model.OrderId); if (order == null || order.Deleted || _workContext.CurrentCustomer.Id != order.CustomerId) { return(Challenge()); } await _orderViewModelService.InsertOrderNote(model); AddNotification(Framework.UI.NotifyType.Success, _localizationService.GetResource("OrderNote.Added"), true); return(RedirectToRoute("OrderDetails", model.OrderId)); }
public OrderNoteEvent(Order order, AddOrderNoteModel noteModel) { Order = order; NoteModel = noteModel; }
//My account / Order details page / Add order note public virtual IActionResult AddOrderNote(string orderId) { var model = new AddOrderNoteModel(); return(View("AddOrderNote", model)); }