Exemple #1
0
        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);
        }
Exemple #4
0
 public async Task <IActionResult> PostPurchase([FromBody] Purchase purchase)
 {
     return(ApiOk(await PurchaseService.AddAsync(purchase)));
 }