public MuncipalityTax Insert(MuncipalityTax muncipalityTax) { var dto = this.mapper.Map <MuncipalityTaxDto>(muncipalityTax); this.muncipalityTaxes.InsertOne(dto); return(muncipalityTax); }
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()); }
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)); }
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); }
public void Update(MuncipalityTax muncipalityTax) { var dto = this.mapper.Map <MuncipalityTaxDto>(muncipalityTax); this.muncipalityTaxes.ReplaceOne <MuncipalityTaxDto>(tax => tax.Id == dto.Id, dto); }