public async Task <ActionResult> CreateVat(AddVatViewModel request)
        {
            if (!ModelState.IsValid)
            {
                Alert($"Invalid Request.", NotificationType.error, Int32.Parse(_appConfig.Value.NotificationDisplayTime));
                return(RedirectToAction(nameof(Vats), new { id = request.VatCategoryId }));
            }
            try
            {
                var addVatRequest = new AddVatRequest {
                    VatCategoryId = request.VatCategoryId, Rate = request.Rate, EffectiveDate = request.EffectiveDate, EndDate = request.EndDate
                };
                var result = await _vatService.Create(addVatRequest);

                if (!result.Success)
                {
                    Alert($"{result.Message}", NotificationType.info, Int32.Parse(_appConfig.Value.NotificationDisplayTime));
                    return(RedirectToAction(nameof(Vats), new { id = request.VatCategoryId }));
                }
                Alert($"Vat Created Successfully", NotificationType.success, Int32.Parse(_appConfig.Value.NotificationDisplayTime));
                return(RedirectToAction(nameof(Vats), new { id = request.VatCategoryId }));
            }
            catch (Exception ex)
            {
                Alert($"Error! {ex.Message}.", NotificationType.error, Int32.Parse(_appConfig.Value.NotificationDisplayTime));
                return(RedirectToAction(nameof(Vats), new { id = request.VatCategoryId }));
            }
        }
Beispiel #2
0
        public async Task <ServiceResponse <Vat> > Create(AddVatRequest request)
        {
            try
            {
                var vatCategory = await _vatService.FindByIdInclusive(request.VatCategoryId, x => x.Include(p => p.Vats));

                if (!vatCategory.Success)
                {
                    return(new ServiceResponse <Vat>($"The Packaging type does not exist"));
                }

                if (vatCategory.Data.Vats.Count > 0 && vatCategory.Data.Vats.Any(x => x.Rate.Equals(request.Rate)))
                {
                    return(new ServiceResponse <Vat>($"The Packaging already exist exist"));
                }

                var vat = new Vat
                {
                    Rate          = request.Rate,
                    Code          = GenerateCode(8),
                    EffectiveDate = request.EffectiveDate,
                    EndDate       = request.EndDate,
                    VatCategoryId = vatCategory.Data.Id
                };
                var exist = await _baseRepository.GetByIdAndCode(vat.Id, vat.Code);

                if (exist != null)
                {
                    return(new ServiceResponse <Vat>($"A Vat With the Provided Code and or Id Already Exist"));
                }
                var exist2 = await _baseRepository.FindOneByConditions(x => x.Rate.Equals(vat.Rate));

                if (exist2 != null)
                {
                    return(new ServiceResponse <Vat>($"A Vat With the Provided Name Already Exist"));
                }

                await _baseRepository.Create(vat);

                return(new ServiceResponse <Vat>(vat));
            }
            catch (Exception ex)
            {
                return(new ServiceResponse <Vat>($"An Error Occured While Creating The Vat. {ex.Message}"));
            }
        }