public async Task <IHttpActionResult> Post([FromBody] DonorDtoModel donor) { if (donor == null) { return(BadRequest("Required data was not supplied.")); } if (await Exists(donor.Name)) { return(Conflict()); } var record = Mapper.Map <DonorModel>(donor); record.SortPriority = donor.SortPriority == null? Convert.ToInt32(ConfigurationManager.AppSettings["DefaultDonorSortPriority"]) : donor.SortPriority; record.DisplayOnWebsite = donor.DisplayOnWebsite == null? Convert.ToBoolean(ConfigurationManager.AppSettings["DefaultDonorDisplayOnWebsite"]) : donor.DisplayOnWebsite; db.Donors.Add(record); return(await SaveChanges(record, ActionType.Post)); }
public async Task <IHttpActionResult> Put(int id, [FromBody] DonorDtoModel donor) { if (donor == null || string.IsNullOrEmpty(donor.Name)) { return(BadRequest("Required data was not supplied.")); } if (!await Exists(id)) { return(NotFound()); } if (await Exists(donor.Name)) { return(Conflict()); } var record = await db.Donors.FindAsync(id); if (donor.Name != null && record.Name != donor.Name) { record.Name = donor.Name; } if (record.DisplayOnWebsite != donor.DisplayOnWebsite) { record.DisplayOnWebsite = donor.DisplayOnWebsite; } if (donor.Notes != null && record.Notes != donor.Notes) { record.Notes = donor.Notes; } if (donor.SortPriority != null && record.SortPriority != donor.SortPriority) { record.SortPriority = donor.SortPriority; } if (donor.Website != null && record.Website != donor.Website) { record.Website = donor.Website; } if (donor.IconURL != null && record.IconURL != donor.IconURL) { record.IconURL = donor.IconURL; } return(await SaveChanges(record, ActionType.Put)); }