Пример #1
0
        public async Task <int> Create(ReceiptInputModel model)
        {
            var receiptProducts = new List <ReceiptProduct>();

            foreach (var product in model.Products)
            {
                int productId = context.Products
                                .Where(p => p.Barcode == product.Barcode)
                                .Select(p => p.Id)
                                .FirstOrDefault();

                var receiptProduct = new ReceiptProduct()
                {
                    Quantity = product.Quantity
                };

                if (productId != default)
                {
                    receiptProduct.ProductId = productId;
                }
                else
                {
                    var newProduct = product.To <Product>();
                    receiptProduct.Product = newProduct;
                }

                receiptProducts.Add(receiptProduct);
            }

            var receipt   = model.To <Receipt>();
            int companyId = context.Companies
                            .Where(c => c.Name == model.CompanyName)
                            .Select(c => c.Id)
                            .FirstOrDefault();

            if (companyId != default)
            {
                receipt.CompanyId = companyId;
            }
            else
            {
                receipt.Company = new Company
                {
                    Name = model.CompanyName
                };
            }

            receipt.Products = receiptProducts;
            await context.Receipts.AddAsync(receipt);

            await context.SaveChangesAsync();

            return(receipt.Id);
        }
Пример #2
0
 public ServiceResult <ReceiptViewModel> Create(ReceiptInputModel model)
 {
     return(new ServiceResult <ReceiptViewModel>(StatusCode.Created)
     {
         Data = new ReceiptViewModel()
         {
             Id = 1,
             State = ReceiptState.Submitted,
             CustomerFullName = "محسن عباسی",
             SecretaryFullName = "احمد رضا معصومی"
         }
     });
 }
        public async Task <IActionResult> Create(ReceiptInputModel model)
        {
            var id = await receiptService.Create(model);

            return(Ok(id));
        }