Beispiel #1
0
        public IActionResult CreateNewOrder([FromBody] CreateNewWebOrder createNewOrder)
        {
            try
            {
                var      orderClass = new OrderClass();
                DateTime orderReceivedDate;

                if (string.IsNullOrEmpty(createNewOrder.OrderReceivedDate) || createNewOrder.OrderReceivedDate.ToLowerInvariant() == "asap")
                {
                    orderReceivedDate = DateTime.Now;
                    orderReceivedDate = orderReceivedDate.AddMinutes(60 - (orderReceivedDate.Minute % 15));
                }
                else
                {
                    var substring   = createNewOrder.OrderReceivedDate.IndexOf(":");
                    var hour        = createNewOrder.OrderReceivedDate.Substring(0, substring);
                    var minute      = createNewOrder.OrderReceivedDate.Substring(substring + 1, createNewOrder.OrderReceivedDate.Length - substring - 1);
                    var minuteIsInt = int.TryParse(minute, out var intMinute);
                    var hourIsInt   = int.TryParse(hour, out var intHour);

                    if (!minuteIsInt && !hourIsInt)
                    {
                        orderReceivedDate = DateTime.Now;
                        orderReceivedDate = orderReceivedDate.AddMinutes(60 - (orderReceivedDate.Minute % 15));
                    }
                    else
                    {
                        orderReceivedDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, intHour, intMinute, 00);
                    }
                }

                var customerClass = new CustomerClass();

                var customerId = customerClass.GetCustomerId(createNewOrder);

                var addressId = customerClass.GetDeiveryAddressId(createNewOrder, customerId);

                var orderModel = orderClass.CreateNewOrder(orderReceivedDate, 0, createNewOrder.DeliveryMethod, createNewOrder.PaymentMethod, addressId, customerId, createNewOrder.DeliveryCharge);
                var json       = JsonSerializer.Serialize(orderModel, new JsonSerializerOptions()
                {
                    IgnoreNullValues = true
                });
                return(Ok(json));
            }
            catch (Exception exception)
            {
                return(StatusCode(500, exception.Message));
            }
        }