public IActionResult Post([FromBody] ContributionCategory entity)
        {
            var result = new ContributionCategoryActionResult(false, new List <string>(), null);

            try
            {
                if (entity != null)
                {
                    using (var db = new BTAContext())
                    {
                        db.ContributionCategory.Add(entity);
                        db.SaveChanges();
                        result.Success = true;
                        result.StatusMessages.Add("Successfully added contribution category.");
                        result.Data = entity;
                    }
                }
                else
                {
                    result.Success = false;
                    result.StatusMessages.Add("Invalid data passed to create new contribution category.");
                    result.Data = null;
                }
            }
            catch (Exception ex)
            {
                Logger.LogError("Exception trying to insert a new contribution category entry.");
                Logger.LogError(ex.ToString());
                result.Success = false;
                result.Data    = null;
                result.StatusMessages.Add("Exception trying to insert a new contribution category entry.");
            }
            return(StatusCode(StatusCodes.Status200OK, result));
        }
        public IActionResult Delete(int id)
        {
            var returnResult = new ContributionCategoryActionResult(false, new List <string>(), null);

            try
            {
                using (var db = new BTAContext())
                {
                    if (db.ContributionCategory.Any(x => x.ContributionCategoryId == id) == false)
                    {
                        returnResult.StatusMessages.Add("Attempted to delete a nonexisting contribution category.");
                    }
                    else
                    {
                        var resultCategory = db.ContributionCategory.Single(x => x.ContributionCategoryId == id);
                        db.ContributionCategory.Remove(resultCategory);
                        db.SaveChanges();
                        returnResult.Success = true;
                        returnResult.Data    = resultCategory;
                        returnResult.StatusMessages.Add("Successfully deleted contribution category.");
                    }
                }
            }
            catch (Exception e)
            {
                Logger.LogError("An exception occurred while attempting to delete a contribution category.");
                Logger.LogError(e.ToString());
                returnResult.Success = false;
                returnResult.StatusMessages.Add("An exception occurred while attempting to delete a contribution category.");
                returnResult.Data = null;
            }
            return(StatusCode(StatusCodes.Status200OK, returnResult));
        }