示例#1
0
        public async Task <IHttpActionResult> Post([FromBody] DonorLevelModel level)
        {
            if (level == null)
            {
                return(BadRequest("Required data was not supplied."));
            }

            if (await Exists(level.Description))
            {
                return(Conflict());
            }

            var record = new DonorLevelModel
            {
                Description = level.Description,
                AmountLower = level.AmountLower,
                AmountUpper = level.AmountUpper,
                Color       = level.Color,
                FontColor   = level.FontColor
            };

            db.DonorLevels.Add(record);

            return(await SaveChanges(record, ActionType.Post));
        }
示例#2
0
        public async Task <IHttpActionResult> Put(int id, [FromBody] DonorLevelModel level)
        {
            if (level == null || string.IsNullOrEmpty(level.Description))
            {
                return(BadRequest("Required data was not supplied."));
            }

            if (!await Exists(id))
            {
                return(NotFound());
            }

            if (await Exists(level.Description))
            {
                return(Conflict());
            }

            var record = await db.DonorLevels.FindAsync(id);

            if (level.Description != null && record.Description != level.Description)
            {
                record.Description = level.Description;
            }

            if (record.AmountLower != level.AmountLower)
            {
                record.AmountLower = level.AmountLower;
            }

            if (record.AmountUpper != level.AmountUpper)
            {
                record.AmountUpper = level.AmountUpper;
            }

            if (level.Color != null && record.Color != level.Color)
            {
                record.Color = level.Color;
            }

            if (level.FontColor != null && record.FontColor != level.FontColor)
            {
                record.FontColor = level.FontColor;
            }

            return(await SaveChanges(record, ActionType.Put));
        }