public OrderStatus GenerateOrderStatus(int _orderID, OrderStatus.OrderStatusesEnum _orderStatus) { OrderStatus result = new OrderStatus(_orderStatus, DateTime.Now, _orderID); SaveOrderStatusForOrder(result); return(result); }
public List <string> FurtherOrderStatus(Order _order, OrderStatus.OrderStatusesEnum _orderStatus) { List <string> result = new List <string>(); if (_orderStatus == OrderStatus.OrderStatusesEnum.WaitingForDC) { result.Add("Bestelling: <strong>" + _order.ID + "</strong> succesvol naar DC doorgestuurd: <br />"); int iteration = 0; foreach (OrderLine _ol in _order.Products) { int ActualAmount = new ProductRepository().UpdateAmountInStock(_ol.Product, _ol.Amount * -1); if (ActualAmount != (_ol.Amount * -1)) { if (iteration == 0) { result.Add("Sommige producten zijn meer besteld dan er op voorraad zijn. De bestelde hoeveelheden van de volgende producten zijn aangepast: <br />"); } new OrderLineRepository().EditOrderedAmount(_order.ID, _ol.Product.ID, Math.Abs(ActualAmount)); result.Add("<strong>" + Regex.Replace(_ol.Product.Name, @"(?!^)(?:[A-Z](?:[a-z]+|(?:[A-Z\d](?![a-z]))*)|\d+)", " $0") + "</strong> - Origineel besteld: <strong>" + _ol.Amount + "</strong> Aangepast naar: <strong>" + Math.Abs(ActualAmount) + "</strong><br />"); iteration++; } } } else if (_orderStatus == OrderStatus.OrderStatusesEnum.Rejected) { result.Add("Bestelling: " + _order.ID + " succesvol geweigerd. Melding gestuurd naar: " + _order.Customer.Name); foreach (OrderLine _ol in _order.Products) { new ProductRepository().UpdateAmountInStock(_ol.Product, _ol.Amount); } } Orderctx.FurtherOrderStatus(_order.ID, _orderStatus); return(result); }
public void FurtherOrderStatus(int _orderID, OrderStatus.OrderStatusesEnum _orderStatus) { string query = "INSERT INTO [OrderStatus](Status, DateTime, OrderID) VALUES (@Status, @DateTime, @OrderID)"; List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>("@Status", _orderStatus), new KeyValuePair <string, object>("@DateTime", DateTime.Now), new KeyValuePair <string, object>("@OrderID", _orderID) }; SQL_CRUD_Methods.SQLInsertBoolReturn(query, parameters); }
public void FurtherOrderStatus(int _orderID, OrderStatus.OrderStatusesEnum _orderStatus, string _DCMSG) { string notificationMsg = ""; var identity = (ClaimsIdentity)User.Identity; int notificationRecipientID = 0; try { IOrderRepository OrderRepo = new OrderRepository(); Order Order = OrderRepo.GetOrderByID(_orderID); if (Order.Products.Count > 0) { if (Order.Statuses.FindIndex(x => x.RegisteredStatus == _orderStatus) == -1) { foreach (string str in OrderRepo.FurtherOrderStatus(Order, _orderStatus)) { notificationMsg += str; } } if (_orderStatus == OrderStatus.OrderStatusesEnum.WaitingForDC) { UpdateOrderOverviewTroughSignalR(); var body = System.IO.File.ReadAllText(Server.MapPath(@"~\Content\EmailTemplate.cshtml")); Mail mail = new Mail("*****@*****.**", "Nieuwe Bestelling: " + Order.ID + " van: " + Order.Customer.Name, string.Format(body, Order.Customer.ID, DateTime.Now.ToString("dd/MM/yyyy"))); MemoryStream strm = new MemoryStream(((ViewAsPdf)GetPDFPackingSlip(Order)).BuildFile(ControllerContext)); System.Net.Mail.Attachment pdfatt = new System.Net.Mail.Attachment(strm, "Bestelling: " + Order.ID + ".pdf", "application/pdf"); if (Convert.ToInt16(identity.Claims.Last().Value) != Order.Customer.ID) { notificationRecipientID = Convert.ToInt16(identity.Claims.Last().Value); } else { notificationRecipientID = Order.Customer.ID; SendMessageTroughSignalR(8, Order.Customer.Name + " Heeft een nieuwe bestelling doorgevoerd"); } SendMessageTroughSignalR(notificationRecipientID, notificationMsg); mail.AddAttachment(pdfatt); mail.SendMail(); } else if (_orderStatus == OrderStatus.OrderStatusesEnum.Processing) { UpdateOrderOverviewTroughSignalR(); SendMessageTroughSignalR(Convert.ToInt16(identity.Claims.Last().Value), string.Format("Bestelling: {0} in behandeling genomen", _orderID)); } else if (_orderStatus == OrderStatus.OrderStatusesEnum.Delivered) { UpdateOrderOverviewTroughSignalR(); SendMessageTroughSignalR(Convert.ToInt16(identity.Claims.Last().Value), string.Format("Bestelling: {0} succesvol verwerkt", _orderID)); } else if (_orderStatus == OrderStatus.OrderStatusesEnum.Rejected) { UpdateOrderOverviewTroughSignalR(); SendMessageTroughSignalR(Order.Customer.ID, string.Format("Distributie Centrum heeft uw bestelling: {0} geweigerd. Melding van DC: {1}", _orderID, _DCMSG)); SendMessageTroughSignalR(Convert.ToInt16(identity.Claims.Last().Value), notificationMsg); } } else { SendMessageTroughSignalR(Convert.ToInt16(identity.Claims.Last().Value), "Geen Producten in bestelling"); } } catch { SendMessageTroughSignalR(Convert.ToInt16(identity.Claims.Last().Value), "Er ging iets fout tijdens het verwerken van de bestelling!"); } }