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); }
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)); }