Пример #1
0
        public async Task <ActionResult> Create(IFormCollection collection)
        {
            try
            {
                var supplierId = int.Parse(collection["SupplierId"].FirstOrDefault());
                var itemsIds   = collection["Items"].Select(i => int.Parse(i));
                var Counts     = collection["Counts"].Select(i => int.Parse(i));
                var Prices     = collection["Prices"].Select(i => Price.Parse(i));

                var items = itemsIds.Zip(Counts).Zip(Prices).Select((idCountPrice) => new SupplierOrderItemDTO
                {
                    ProductId       = idCountPrice.First.First,
                    Number          = idCountPrice.First.Second,
                    SupplierOrderId = supplierId,
                    Price           = idCountPrice.Second,
                });

                var supplierOrder = new SupplierOrderDTO
                {
                    SupplierId = int.Parse(collection["SupplierId"]),
                    UserId     = User.GetUserId(),
                    Items      = items.ToList(),
                };

                await _supplierOrderService.Create(User, supplierOrder);

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }