private async void GenerateNewPurchase() { try { DialogResult d = MetroMessageBox.Show(this, "Do you want to generate new purchase?", "Generate New Purchase", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (d == DialogResult.Yes) { var purchaseModel = new PurchaseModel(); purchaseModel.SIDR = txtSIDR.Text; purchaseModel.DatePurchase = dtDatePurchase.Value; purchaseModel.SupplierID = _supplierID; await _purchaseService.AddAsync(purchaseModel); LoadPurchaseDates(); MetroMessageBox.Show(this, "New Purchase has been generated.", "New Purchase", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (CustomBaseException ex) { MetroMessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (Exception ex) { MetroMessageBox.Show(this, ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public async Task <ActionResult <Purchase> > Add(PurchaseRequest request) { try { int userId = int.Parse(User.Claims.FirstOrDefault(x => x.Type == "id")?.Value ?? "-1"); var purchase = await _service.AddAsync(userId, request); var storePurchase = new StorePurchase { Date = purchase.TimeOfPurchase, UserId = userId, PurchaseProducts = purchase.ReceiptPositions.Select(x => new PurchaseProduct { Count = x.Count, Name = x.Product.ProductName, Price = x.Product.Price }).ToList() }; await _endpoint.Publish(storePurchase); return(Ok(purchase)); } catch (ApiException e) { return(BadRequest(new ProblemDetails { Detail = e.Message })); } }
public async Task<IActionResult> AddAsync([FromBody] SavePurchaseResource resource) { if (!ModelState.IsValid) { return BadRequest(ModelState.GetErrorMessages()); } var purchase = _mapper.Map<Purchase>(resource); var result = await _purchaseService.AddAsync(purchase); if (!result.Success) { return BadRequest(result.Message); } var purchaseResource = _mapper.Map<PurchaseResource>(result.Purchase); return Ok(purchaseResource); }
public async Task <IActionResult> PostPurchase([FromBody] Purchase purchase) { return(ApiOk(await PurchaseService.AddAsync(purchase))); }