Ejemplo n.º 1
0
        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);
        }