Exemple #1
0
        public async Task <ActionResult <RetailerResource> > GetRetailerByDocumentId(string cpf)
        {
            try
            {
                var retailer = await _retailerService.GetRetailerByDocumentId(cpf);

                var retailerService = _mapper.Map <Retailer, RetailerResource>(retailer);

                return(Ok(retailerService));
            }
            catch (ArgumentException ex)
            {
                var statusCode = (int)HttpStatusCode.InternalServerError;
                _logger.LogError($"StatusCode: {statusCode}. Erro: {ex.Message}");
                return(StatusCode(statusCode, ex.Message));
            }
        }
Exemple #2
0
        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));
            }
        }