partial void OnHandle(OrderDeleted @event) { Entities.OrderEntity entity = OrderRepository.Load(@event.Rsn); entity.IsLogicallyDeleted = true; OrderRepository.Update(entity); }
public async Task <DeleteOrder> Response(MessageDirectory.Request.DeleteOrder request, MessageContext context) { DeleteOrder response = new DeleteOrder(); using (OrderDataContext dataContext = new OrderDataContext()) { var order = await dataContext.Orders.SingleOrDefaultAsync(p => p.Id == request.OrderId); if (order == null) { Exception ex = new Exception("Delete Order : Does not exist"); ex.Data.Add("OrderId", request.OrderId); throw ex; } OrderDeleted orderDeleted = new OrderDeleted() { Id = order.Id }; response.Id = order.Id; dataContext.Orders.Remove(order); dataContext.SaveChanges(); await Bus.PublishAsync(orderDeleted); } return(response); }
private void DeleteOrder(Order order, ExecRestatementReason?reason = null) { order.RemainingQuantity = 0; order.Status = OrderStatus.Deleted; Console.WriteLine($"order deleted from book: {order}"); OrderDeleted?.Invoke(this, new OrderDeletedEventArgs(order, reason)); }
public void DeleteOrder() { var orderCommand = new OrderDeleted() { OrderId = 39 }; var response = orderService.DeleteOrder(orderCommand); Assert.AreEqual(response.Type, Common.ServiceResponseTypes.Success); }
/// <summary> /// Удалить заказ /// </summary> /// <returns></returns> private async Task <IActionResult> OrderDelete() { int number = 0; int id = 0; try { number = Convert.ToInt32(base.OriginalMessage.Substring(ForceReplyOrderDelete.Length)); using (MarketBotDbContext db = new MarketBotDbContext()) { Order = db.Orders.Where(o => o.Number == number).Include(o => o.OrderDeleted).Include(o => o.OrdersInWork).FirstOrDefault(); string text = base.ReplyToMessageText; if (Order != null && Order.OrderDeleted != null && Order.OrderDeleted.Count == 0 && await Processing.CheckInWork(Order) && !await Processing.CheckIsDone(Order)) { id = Order.Id; OrderDeleted orderDeleted = new OrderDeleted { DateAdd = DateTime.Now, Deleted = true, FollowerId = FollowerId, OrderId = id, Text = text }; db.OrderDeleted.Add(orderDeleted); db.SaveChanges(); } } OrderAdminMsg = new AdminOrderMessage(id, FollowerId); var message = OrderAdminMsg.BuildMessage(); await SendMessage(message); //Уведомляем других сотрудников об изменениях string notify = "Заказ №" + Order.Number.ToString() + " Удален. Пользователь " + GeneralFunction.FollowerFullName(FollowerId); await Processing.NotifyChanges(notify, Order.Id); return(base.OkResult); } catch { return(OkResult); } }
private void HandleEvent(OrderDeleted od) { var order = _dataContext.AllOrders.FirstOrDefault(e => e.Id == od.OrderId); if (order != null && order.SpendingId.HasValue) { var spending = _dataContext.Spendings.First(e => e.Id == order.SpendingId); spending.Current -= order.Quantity; } _dataContext.CurrentOrders.RemoveAll(e => e.Id == od.OrderId); _dataContext.AllOrders.RemoveAll(e => e.Id == od.OrderId); foreach (var tabToOrders in _dataContext.CurrentSettlement.TabToOrders) { tabToOrders.Orders.RemoveAll(e => e.Id == od.OrderId); } }
private void DeleteOrder() { if (treeView1.SelectedNode.Tag is Order order) { var result = MessageBox.Show( $"Do you want to delete order on {order.OrderDate}\nfor customer {order.Customer.CompanyName}?", "Delete Order", MessageBoxButtons.YesNo ); if (result == DialogResult.Yes) { var nodeToDelete = treeView1.SelectedNode; nodeToDelete.Parent.Nodes.Remove(nodeToDelete); OrderDeleted?.Invoke(this, new OrderEventArgs(order)); } } }
protected void OnOrderDeleted(Order order) { OrderDeleted?.Invoke(this, new OrderBookEventArgs(order)); }
public OrderServiceResponse <Order> DeleteOrder(OrderDeleted ev, List <ServiceLogRecord> logRecords = null) { // Create the watch var sw = new Stopwatch(); sw.Start(); // Create a log record collection if necessary if (logRecords == null) { logRecords = new List <ServiceLogRecord>(); } // Add log logRecords.Add(new ServiceLogRecord() { Type = "DEBUG", TimeStamp = DateTime.Now, Body = "Order delete request received." }); // Create a response object var response = new OrderServiceResponse <Order>(); #region [ Validate request ] // Add log logRecords.Add(new ServiceLogRecord() { Type = "DEBUG", TimeStamp = DateTime.Now, Body = "User has the required permissions. Now validating the incoming data." }); // Check required data List <string> dataErrors = new List <string>(); if (ev.OrderId == default(int)) { dataErrors.Add("No valid Order id found!"); } if (dataErrors.Count > 0) { // Add log logRecords.Add(new ServiceLogRecord() { Type = "DEBUG", TimeStamp = DateTime.Now, Body = dataErrors.Count + " error(s) found within the posted data! Terminating the process. Errors:" + String.Join(";", dataErrors) }); // Stop the sw sw.Stop(); response.Type = ServiceResponseTypes.Error; response.Code = ((short)HeadstoneServiceResponseCodes.Invalid_Request).ToString(); response.PreProcessingTook = sw.ElapsedMilliseconds; response.Message = "There are some errors with the incoming request data!"; response.Errors.AddRange(dataErrors); response.LogRecords = logRecords; return(response); } #endregion #region [ Data manuplation ] #endregion // Stop the timer sw.Stop(); // Set the pre-processing time and start the time response.PreProcessingTook = sw.ElapsedMilliseconds; sw.Start(); #region [ Load reseller application ] Order Order = _OrderServiceBase.Get(r => r.OrderID == ev.OrderId).Result.FirstOrDefault(); if (Order == null) { // Add log logRecords.Add(new ServiceLogRecord() { Type = "DEBUG", TimeStamp = DateTime.Now, Body = "No Order found with the given id!" }); // Stop the sw sw.Stop(); response.Type = ServiceResponseTypes.Error; response.Code = ((short)HeadstoneServiceResponseCodes.Invalid_Request).ToString(); response.ServiceTook = sw.ElapsedMilliseconds; response.Message = "No Order found with the given id!"; response.Errors.Add("No Order found with the given id!"); response.LogRecords = logRecords; return(response); } #endregion #region [ Delete reseller application ] // Add log logRecords.Add(new ServiceLogRecord() { Type = "DEBUG", TimeStamp = DateTime.Now, Body = "Deleting Order." }); // Delete the billing info var baseServiceResponse = _OrderServiceBase.Delete(Order); if (baseServiceResponse.Type != Headstone.Framework.Models.ServiceResponseTypes.Success) { // Add log logRecords.Add(new ServiceLogRecord() { Type = "ERROR", TimeStamp = DateTime.Now, Body = "There was an error while deleting the Order!" }); // Stop the sw sw.Stop(); response.Type = ServiceResponseTypes.Error; response.Code = ((short)HeadstoneServiceResponseCodes.General_Exception).ToString(); response.ServiceTook = sw.ElapsedMilliseconds; response.Message = "There was an error while deleting the Order!"; response.Errors.Add("There was an error while deleting the Order!"); response.Errors.AddRange(baseServiceResponse.Errors); response.LogRecords = logRecords; return(response); } else { // Add log logRecords.Add(new ServiceLogRecord() { Type = "DEBUG", TimeStamp = DateTime.Now, Body = string.Format("Order successfuly deleted. OrderID:{0}", Order.OrderID) }); // Add the new object to the result response.Result.Add(Order); // Set the role id response.OrderId = Order.OrderID; } #endregion // Stop the sw sw.Stop(); response.Type = ServiceResponseTypes.Success; response.Code = ((short)HeadstoneServiceResponseCodes.Request_Successfuly_Completed).ToString(); response.ServiceTook = sw.ElapsedMilliseconds; response.Message = string.Format("Order successfuly deleted. OrderID:{0}", Order.OrderID); response.LogRecords = logRecords; return(response); }
private void Apply(OrderDeleted @event) { IsLogicallyDeleted = true; }
private void OnOrderDeleted(EventArgs e) { OrderDeleted?.Invoke(this, e); }