示例#1
0
        public async Task <ActionResult> CreateCertainValueCertainProductDiscountItem(AddCertainValueCertainProductDiscountItemViewModel request)
        {
            if (!ModelState.IsValid)
            {
                Alert($"Invalid Request.", NotificationType.error, Int32.Parse(_appConfig.Value.NotificationDisplayTime));
                return(RedirectToAction(nameof(CertainValueCertainProductDiscountItems), new { id = request.CertainValueCertainProductDiscountId }));
            }
            try
            {
                var addcvDiscountItemRequest = new AddCertainValueCertainProductDiscountItem {
                    CertainValueCertainProductDiscountId = request.CertainValueCertainProductDiscountId, Value = request.Value, Quantity = request.Quantity, EffectiveDate = request.EffectiveDate, EndDate = request.EffectiveDate, ProductId = request.ProductId
                };
                var result = await _certainValueCertainProductDiscountItemService.Create(addcvDiscountItemRequest);

                if (!result.Success)
                {
                    Alert($"{result.Message}", NotificationType.info, Int32.Parse(_appConfig.Value.NotificationDisplayTime));
                    return(RedirectToAction(nameof(CertainValueCertainProductDiscountItems), new { id = request.CertainValueCertainProductDiscountId }));
                }
                Alert($"Discount Item Created Successfully", NotificationType.success, Int32.Parse(_appConfig.Value.NotificationDisplayTime));
                return(RedirectToAction(nameof(CertainValueCertainProductDiscountItems), new { id = request.CertainValueCertainProductDiscountId }));
            }
            catch (Exception ex)
            {
                Alert($"Error! {ex.Message}.", NotificationType.error, Int32.Parse(_appConfig.Value.NotificationDisplayTime));
                return(RedirectToAction(nameof(CertainValueCertainProductDiscountItems), new { id = request.CertainValueCertainProductDiscountId }));
            }
        }
        public async Task <ServiceResponse <CertainValueCertainProductDiscountItem> > Create(AddCertainValueCertainProductDiscountItem request)
        {
            try
            {
                var certainValueCertainProductDiscountItem = new CertainValueCertainProductDiscountItem
                {
                    Code          = GenerateCode(8),
                    Value         = request.Value,
                    Quantity      = request.Quantity,
                    EffectiveDate = request.EffectiveDate,
                    EndDate       = request.EndDate,
                    ProductId     = request.ProductId
                };

                var exist = await _baseRepository.GetByIdAndCode(certainValueCertainProductDiscountItem.Id, certainValueCertainProductDiscountItem.Code);

                if (exist != null)
                {
                    return(new ServiceResponse <CertainValueCertainProductDiscountItem>($"A Discount Item With the Provided Code and or Id Already Exist"));
                }

                var exist2 = await _baseRepository.FindOneByConditions(x => x.Value.Equals(certainValueCertainProductDiscountItem.Value));

                if (exist2 != null)
                {
                    return(new ServiceResponse <CertainValueCertainProductDiscountItem>($"A Discount Item With the Provided Value Already Exist"));
                }

                await _baseRepository.Create(certainValueCertainProductDiscountItem);

                return(new ServiceResponse <CertainValueCertainProductDiscountItem>(certainValueCertainProductDiscountItem));
            }
            catch (Exception ex)
            {
                return(new ServiceResponse <CertainValueCertainProductDiscountItem>($"An Error Occured While Creating The Discount Item. {ex.Message}"));
            }
        }