public async Task <IActionResult> UpdatePurchase(int id, SavePurchaseResource savePurchase) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var purchase = await repository.GetPurchase(id); if (purchase == null) { return(NotFound()); } mapper.Map <Purchase, PurchaseResource>(purchase); purchase.LastUpdatedDate = DateTime.Now; await unitOfWork.CompleteAsync(); var result = mapper.Map <Purchase, PurchaseResource>(purchase); return(Ok(result)); }
public async Task <IActionResult> CreatePurchase([FromBody] SavePurchaseResource savePurchase) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } /* * var model = await context.myDbAccts.FindAsync(purchaseResource.accId); * * if (model == null) * { * ModelState.AddModelError("Account Id", "Invalid Account Id"); * return BadRequest(ModelState); * * } */ /* * Buisness role validation; * * if(true) * { * ModelState.AddModelError("....", "ErrorMessage"); * return BadRequest(ModelState); * * } */ var purchase = mapper.Map <SavePurchaseResource, Purchase>(savePurchase); purchase.LastUpdatedDate = DateTime.Now; repository.Add(purchase); //foreach (var item in purchaseResource.purchaseItems) //{ // context.purchaseItems.Add(item); //} await unitOfWork.CompleteAsync(); purchase = await repository.GetPurchase(purchase.purchId); var result = mapper.Map <Purchase, PurchaseResource>(purchase); return(Ok(result)); }
public async Task <IActionResult> PutAsync(int id, [FromBody] SavePurchaseResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var purchase = _mapper.Map <SavePurchaseResource, Purchase>(resource); var result = await _purchaseService.UpdateAsync(id, purchase); if (!result.Success) { return(BadRequest(result.Message)); } return(Ok(_mapper.Map <Purchase, PurchaseResource>(result.Resource))); }
public async Task <ActionResult <Purchase> > CreatePurchase([FromBody] SavePurchaseResource purchase) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var retailer = await _retailerService.GetRetailerByDocumentId(purchase.RetailerDocumentId); if (retailer == null) { return(NotFound("O(a) revendedor(a) não foi encontrado(a) pelo CPF informado. Favor checar")); } purchase.Retailer = retailer; if (!DateTime.TryParseExact(purchase.Date, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out var result)) { DateTime.TryParse(purchase.Date, out result); } purchase.Date = result.ToShortDateString(); var purchaseToCreate = _mapper.Map <SavePurchaseResource, Purchase>(purchase); var newPurchase = await _purchaseService.CreatePurchase(purchaseToCreate); var createdPurchase = await _purchaseService.GetPurchaseById(newPurchase.Id); var purchaseResource = _mapper.Map <Purchase, PurchaseResource>(createdPurchase); return(Ok(new { retorno = "Compra cadastrada com sucesso!", purchaseResource })); } catch (ArgumentException ex) { var statusCode = (int)HttpStatusCode.InternalServerError; _logger.LogError($"StatusCode: {statusCode}. Erro: {ex.Message}"); return(StatusCode(statusCode, ex.Message)); } }
public async Task <IActionResult> PostAsync([FromBody] SavePurchaseResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var purchase = _mapper.Map <SavePurchaseResource, Purchase>(resource); var result = await _purchaseService.SaveAsync(purchase); if (!result.Sucess) { return(BadRequest(result.Message)); } var companyResource = _mapper.Map <Purchase, PurchaseResource>(result.Purchase); return(Ok(companyResource)); }
public async Task <IActionResult> PostAsync([FromBody] SavePurchaseResource resource) { if (!ModelState.IsValid) //if body is balid { return(BadRequest(ModelState.GetErrorMessages())); } var purchase = _mapper.Map <SavePurchaseResource, Purchase>(resource); //create instance of purchase var result = await _purchaseService.SaveAsync(purchase); //save instance if (!result.Success) { return(BadRequest(result.Message)); } var PurchaseResource = _mapper.Map <Purchase, PurchaseResource>(result.Purchase); return(Ok(PurchaseResource)); }