Example #1
0
        public ActionResult Index(OrderViewModel order)
        {
            ViewBag.Error = "Error";

            if (ModelState.IsValid)
            {
                try
                {
                    var saveCustomer = CustomerRepos.AddCustomer(new CustomerDto()
                    {
                        Address   = order.Address,
                        CountryId = order.CountryId,
                        Email     = order.Email,
                        Name      = order.Name,
                        Phone     = order.Phone
                    });

                    var saveOrder = OrderRepos.AddOrder(new OrderDto
                    {
                        CustomerId = saveCustomer.ID,
                        OrderDate  = DateTime.Now,
                        Status     = StatusType.NEW,
                    });

                    //Remove first order
                    if (order.OrderDetail.Count > 0)
                    {
                        order.OrderDetail.RemoveAt(0);
                    }

                    if (order.OrderDetail.Count > 0)
                    {
                        foreach (var item in order.OrderDetail)
                        {
                            decimal price = ProductRepos.GetPrice(item.ProductId);

                            var saveOrderDetail = OrderDetailRepos.Add(new OrderDetailDto
                            {
                                OrderId   = saveOrder.ID,
                                ProductId = 1,
                                Quantity  = 1,
                                UnitPrice = price,
                            });
                        }
                    }
                }
                catch (Exception ex)
                {
                    LogService.Error(ex.Message, ex);
                    return(View());
                }

                //Return page successfully
                return(RedirectToAction("ResultOrder", new { status = true }));// View(order);
            }

            return(View());
        }