public async Task <IActionResult> Create([FromBody] CreateDiscount Request)
        {
            try
            {
                if (Request == null)
                {
                    return(BadRequest(
                               new
                    {
                        error = "Your Request Cannot be Null"
                    }));
                }

                if (!ModelState.IsValid)
                {
                    return(BadRequest(new
                    {
                        error = "Your Model state is not valid"
                    }));
                }

                var model = ToDomainModel(Request);
                var exist = await discountService.DiscountExist(model.DiscountId);

                if (!exist)
                {
                    var create = await discountService.AddDiscountAsync(model);

                    if (!create)
                    {
                        return(BadRequest(new { error = "Unable to create Discount" }));
                    }

                    var baseUrl     = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host.ToUriComponent()}";
                    var locationUri = baseUrl + "/" + ApiRoutes.Discount.Get.Replace("{discountId}", model.DiscountId.ToString());
                    var response    = ToOutputModel(model);

                    return(Created(locationUri, response));
                }
                else
                {
                    return(Ok("Discount Type already exist"));
                }
            }
            catch (Exception ex)
            {
                logger.LogError(ex.Message + ":" + ex.StackTrace);
                throw;
            }
        }