Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }