Example #1
0
        public MuncipalityTax Insert(MuncipalityTax muncipalityTax)
        {
            var dto = this.mapper.Map <MuncipalityTaxDto>(muncipalityTax);

            this.muncipalityTaxes.InsertOne(dto);
            return(muncipalityTax);
        }
Example #2
0
        public IActionResult Update(MuncipalityTax muncipalityTax)
        {
            var message = this.ValidateTaxModel(muncipalityTax);

            if (!string.IsNullOrWhiteSpace(message))
            {
                return(this.BadRequest(message));
            }
            var tax            = this.taxService.GetById(muncipalityTax.Id);
            var isRecordExists = tax != null && tax.Id != null;

            if (!isRecordExists)
            {
                return(this.NotFound(string.Format(this.configuration.GetSection("UpdateRecordNotFoundMessage").Value, muncipalityTax.Id)));
            }

            var taxes = this.taxService.GetMuncipalityByName(muncipalityTax.Muncipality);
            var isLessPriorityAvailable = taxes.Where(x => x.Id != muncipalityTax.Id && x.Duration != muncipalityTax.Duration && muncipalityTax.TaxPriority <= x.TaxPriority).Any();

            if (taxes.Any() && isLessPriorityAvailable)
            {
                return(this.BadRequest(string.Format(this.configuration.GetSection("TaxPriorityErrorMessage").Value, muncipalityTax.Muncipality)));
            }

            this.taxService.Update(muncipalityTax);
            return(NoContent());
        }
Example #3
0
        public IActionResult Insert(MuncipalityTax muncipalityTax)
        {
            var message = this.ValidateTaxModel(muncipalityTax);

            if (!string.IsNullOrWhiteSpace(message))
            {
                return(this.BadRequest(message));
            }
            var taxes = this.taxService.GetMuncipalityByName(muncipalityTax.Muncipality);

            if (taxes.Any() && taxes.Where(x => x.TaxPriority >= muncipalityTax.TaxPriority).Any())
            {
                return(this.BadRequest(string.Format(this.configuration.GetSection("TaxPriorityErrorMessage").Value, muncipalityTax.Muncipality)));
            }
            var tax = this.taxService.Insert(muncipalityTax);

            return(this.CreatedAtAction(nameof(Insert), tax));
        }
Example #4
0
        private string ValidateTaxModel(MuncipalityTax muncipalityTax)
        {
            var validationMessages = new List <string>();

            if (string.IsNullOrWhiteSpace(muncipalityTax.Muncipality))
            {
                validationMessages.Add(this.configuration.GetSection("MuncipalityRequired").Value);
            }
            if (string.IsNullOrWhiteSpace(muncipalityTax.Duration))
            {
                validationMessages.Add(this.configuration.GetSection("DurationRequired").Value);
            }
            if (muncipalityTax.TaxPriority == default)
            {
                validationMessages.Add(this.configuration.GetSection("TaxPriorityRequired").Value);
            }
            if (muncipalityTax.StartDate == null || muncipalityTax.StartDate == DateTime.MinValue || muncipalityTax.StartDate == DateTime.MaxValue)
            {
                validationMessages.Add(this.configuration.GetSection("StartDateRequired").Value);
            }
            if (muncipalityTax.EndDate == null || muncipalityTax.EndDate == DateTime.MinValue || muncipalityTax.EndDate == DateTime.MaxValue)
            {
                validationMessages.Add(this.configuration.GetSection("EndDateRequired").Value);
            }
            if (muncipalityTax.TaxRate == default)
            {
                validationMessages.Add(this.configuration.GetSection("TaxRateRequired").Value);
            }
            if (muncipalityTax.StartDate > muncipalityTax.EndDate)
            {
                validationMessages.Add(this.configuration.GetSection("StarAndEndDateErrorMessage").Value);
            }

            var message = string.Join('\n', validationMessages);

            return(message);
        }
Example #5
0
        public void Update(MuncipalityTax muncipalityTax)
        {
            var dto = this.mapper.Map <MuncipalityTaxDto>(muncipalityTax);

            this.muncipalityTaxes.ReplaceOne <MuncipalityTaxDto>(tax => tax.Id == dto.Id, dto);
        }