public Model.Models.Order Insert(OrderInsertRequest request)
        {
            var order = _context.Order.Add(new Order()
            {
                Active          = true,
                ShippingAddress = request.ShippingAddress,
                CustomerId      = request.CustomerId,
                ContactNumber   = request.ContactNumber,
                OrderDate       = DateTime.Now
            });

            _context.SaveChanges();

            for (int i = 0; i < request.Products.Count; i++)
            {
                _context.ProductOrder.Add(new ProductOrder()
                {
                    ProductId = request.Products[i],
                    OrderId   = order.Entity.Id,
                    Quantity  = request.Quantities[i]
                });
            }

            _context.SaveChanges();

            var result = _mapper.Map <Model.Models.Order>(order.Entity);

            result.Products     = new List <KeyValuePair <int, Model.Models.Product> >();
            result.Products     = GetOrderProducts(result.Id);
            result.CustomerName = _context.Customer.Find(result.CustomerId).CompanyName;

            return(result);
        }
        public async Task Confirm()
        {
            if (OrderService.Cart.Count() == 0)
            {
                await Application.Current.MainPage.DisplayAlert("Greška", "Vaša korpa je prazna", "OK");

                return;
            }

            var request = new OrderInsertRequest()
            {
                ShippingAddress = APIService.Client.Address,
                ContactNumber   = APIService.Client.Account.PhoneNumber,
                CustomerId      = APIService.Client.Id
            };

            var x = new List <KeyValuePair <int, int> >();

            foreach (var item in OrderService.Cart)
            {
                // Product ID, Quantity
                request.Products.Add(item.Value.Id);
                request.Quantities.Add(item.Count);
            }

            try
            {
                var result = await _service.Insert <EToolService.Model.Models.Order>(request);

                if (result != null)
                {
                    await Application.Current.MainPage.DisplayAlert("Info", "Uspješno ste ostvarili narudžbu", "OK");

                    OrderService.Cart.Clear();
                    Init();
                }
            }
            catch (Exception e)
            {
                await Application.Current.MainPage.DisplayAlert("Greška", e.Message, "OK");
            }
        }
Example #3
0
 public EToolService.Model.Models.Order Insert([FromBody] OrderInsertRequest request)
 {
     return(_service.Insert(request));
 }