public async Task <ActionResult> CreatePurchase([FromBody] PurchaseCreateDto purchase) { int id = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var logineduser = await _auth.VerifyUser(id); Purchase _newPurchase = new Purchase() { NumberCode = String.Format("{0:d9}", (DateTime.Now.Ticks / 10) % 1000000000), Customer = await _context.Customers.FirstOrDefaultAsync(s => s.Id == purchase.CustomerId), CustomsInclude = purchase.CustomsInclude, CustomsCost = purchase.CustomsCost, TransportInclude = purchase.TransportInclude, TransportCost = purchase.TransportCost, PaymentTerm = await _context.PaymentTerms.FirstOrDefaultAsync(s => s.Id == purchase.PaymentTermId), PaymentKind = await _context.PaymentKinds.FirstOrDefaultAsync(s => s.Id == purchase.PaymentKindId), PaymentPeriod = purchase.PaymentPeriod, PaymentLastDate = purchase.PaymentLastDate, DeliveryTerm = await _context.DeliveryTerms.FirstOrDefaultAsync(s => s.Id == purchase.DeliveryTermId), DeliveryPeriod = purchase.DeliveryPeriod, Company = logineduser.Company, ApprovedDate = DateTime.Now, ApprovedWorker = logineduser, OpenClose = true, Status = true }; _context.Purchases.Add(_newPurchase); await _context.SaveChangesAsync(); foreach (var item in purchase.PurchaseProductList) { PurchaseProduct purchaseProduct = new PurchaseProduct() { Purchase = _newPurchase, Product = await _context.Products.FirstOrDefaultAsync(s => s.Id == item.ProductId), Country = await _context.Country.FirstOrDefaultAsync(s => s.Id == item.CountryId), Quantity = item.Quantity, Price = item.Price, Discount = item.Discount, LastPrice = item.LastPrice, VAT = item.VAT, ComingQuantity = 0 }; _context.PurchaseProducts.Add(purchaseProduct); await _context.SaveChangesAsync(); } return(StatusCode(201)); }
public async Task <PurchaseDto> CreateAsync(PurchaseCreateDto dto) { var prc = await _productResellerCustomerService.GetProductResellerCustomerAsync(dto.ResellerId, dto.CustomerId, dto.ProductId); if (prc != null) { var purchase = new Purchase { ProductId = dto.ProductId, CustomerId = dto.CustomerId, ResellerId = dto.ResellerId, UserCustomerId = dto.UserCustomerId, ProductResellerCustomerId = prc.Id }; _repository.Create <Purchase, int>(purchase); await SaveChangesAsync(); return(_mapper.Map <PurchaseDto>(purchase)); } throw new Exception("Product-customer-reseller relation doesn't exist"); }
public async Task <IActionResult> MakeCustomerPurchaseAsync([FromBody] PurchaseCreateDto purchaseDto) { var dto = await _purchaseService.CreateAsync(purchaseDto); return(Ok(dto)); }