public ActionResult PostAsync(SaleDetailRequest saleDetailRequest)
        {
            if (!ModelState.IsValid)
            {
                string messages = string.Join("; ", ModelState.Values
                                              .SelectMany(x => x.Errors)
                                              .Select(x => x.ErrorMessage));

                _logger.LogError(messages);

                return(BadRequest(messages));
            }

            try
            {
                // Auto mapper maps HTTP request Models to business models
                var saleDetail = _mapper.Map <SaleDetail>(saleDetailRequest);

                var shareInfo = _shareSaleBusiness.Calculate(saleDetail);

                return(Ok(shareInfo));
            }
            catch (ValidationException ex)
            {
                _logger.LogError(ex.Message, ex.StackTrace);
                return(BadRequest(ex.StackTrace));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message, ex.StackTrace);

                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// GetSales servisine istek yapılarak Response modelinin doldurulması sağlanır.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        private Response GetSales(SaleDetailRequest request)
        {
            var result = new Response();

            //var result2 = JsonConvert.DeserializeObject<SaleDetailServiceResponse>(System.IO.File.ReadAllText("order.json"));

            //result.Orders = result2.Response.Orders;

            try
            {
                RestClient  client      = new RestClient(ServiceSettings.BaseUrl);
                RestRequest restRequest = new RestRequest(ServiceSettings.UrlSales, Method.POST);

                restRequest.AddJsonBody(request);
                var serviceResult = client.Execute <SaleDetailServiceResponse>(restRequest).Data;

                logger.ExtendedInfo("Sale Details", new { response = JsonConvert.SerializeObject(serviceResult) });

                if (!serviceResult.Result)
                {
                    throw new Exception("Servis isteği sırasında hata alındı.");
                }

                result.Orders = serviceResult.Response.Orders;
            }
            catch (Exception ex)
            {
                logger.Error(ex);

                throw ex;
            }

            return(result);
        }
Ejemplo n.º 3
0
        public async Task <SaleDetail> createAsync(SaleDetailRequest saleRequest)
        {
            string sql = "exec [AddSaleDetail] @SaleId, @ProductId, @Quantity, @PurchasePrice, @Tax";

            using (SqlConnection db = new SqlConnection(_configuration.GetConnectionString("DefaultConnection")))
            {
                await db.OpenAsync();

                int rowsModified = await db.ExecuteAsync(sql, saleRequest);

                string sale = "SELECT * FROM SaleDetail WHERE Id=(SELECT max(Id) FROM SaleDetail)";

                var sales = await db.QueryAsync <SaleDetail>(sale);

                return(sales.FirstOrDefault());
            }
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> Create([FromBody] SaleDetailRequest saleReq)
        {
            SaleDetail sale = await _saleDetails.createAsync(saleReq);

            return(genericResponse("Cannot create the sale detail", sale));
        }