public int Add(TblTaxes entity)
        {
            var validationMsg = Validate(entity);

            if (validationMsg.Any())
            {
                throw new Exception(string.Join(',', validationMsg));
            }

            int id = entity.Id;

            using (SqlConnection conn = new SqlConnection(_connectionString))
            {
                if (id > 0)
                {
                    SetBaseFieldsUpdate(entity);
                    conn.Update(entity);
                }
                else
                {
                    SetBaseFieldsAdd(entity);
                    id = Convert.ToInt32(conn.Insert(entity));
                }
            }

            return(id);
        }
Example #2
0
        public virtual async Task UpdateAsync(TblTaxes record)
        {
            var oldRecord = await FindByIdAsync(record.Id);

            _dbContext.Taxes.AddOrUpdate(record);
            await _dbContext.SaveChangesAsync();

            QueryCacheManager.ExpireTag(CacheTags.Tax);

            _eventPublisher.EntityUpdated(record, oldRecord);
        }
Example #3
0
        public virtual async Task <int> AddAsync(TblTaxes record)
        {
            _dbContext.Taxes.Add(record);
            await _dbContext.SaveChangesAsync();

            QueryCacheManager.ExpireTag(CacheTags.Tax);

            _eventPublisher.EntityInserted(record);

            return(record.Id);
        }
Example #4
0
        public ActionResult <GenericApiResponse <TblTaxes> > AddOrUpdate([FromBody] TblTaxes entity)
        {
            try
            {
                var data = db.Add(entity);

                return(Ok(data));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(BadRequest(ex.Message));
            }
        }
        private List <string> Validate(TblTaxes tax)
        {
            List <string> validationMsg = new List <string>();

            if (tax.MunicipalityId <= 0)
            {
                validationMsg.Add("Please enter municipality to apply tax.");                 //TODO: pick from resource?
            }
            if (tax.DtStart <= DateTime.MinValue || tax.DtEnd <= DateTime.MinValue)
            {
                validationMsg.Add("Start or end date is invalid");                 //TODO: pick from resource?
            }
            return(validationMsg);
        }
Example #6
0
        public virtual async Task <TaxModel> PrepareTaxModelAsync(TblTaxes tax)
        {
            TaxModel result;

            if (tax == null)
            {
                result = new TaxModel();
            }
            else
            {
                result = tax.Adapt <TaxModel>();
                await tax.LoadAllLocalizedStringsToModelAsync(result);
            }

            return(result);
        }