// PUT api/Limits/5
        public async Task<IHttpActionResult> PutSummaryModel(int id, SummaryModel summaryModel)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != summaryModel.Id)
            {
                return BadRequest();
            }

            var summary = _db.Summaries.Find(id);
            await _db.Entry(summary).Collection(i => i.Tags).LoadAsync();

            if (summary.UserId != User.Identity.GetUserId())
            {
                return BadRequest();
            }

            var tagIds = summaryModel.Tags.Select(i => i.Id);
            var currentTagIds = summary.Tags.Select(i => i.Id);
            var toAdd = tagIds.Where(i => !currentTagIds.Contains(i));

            summary.Tags.RemoveAll(i => !tagIds.Contains(i.Id));
            summary.Tags.AddRange(_db.Tags.Where(i => toAdd.Contains(i.Id)).ToList());
            summary.Name = summaryModel.Name;
            summary.Scope = summaryModel.Scope;
            summary.Type = summaryModel.Type;
            summary.To = summaryModel.To;
            summary.From = summaryModel.From;
            
            try
            {
                await _db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SummaryModelExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }
        public async Task<IHttpActionResult> PostSummaryModel(SummaryModel summaryModel)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }
            var tagIds = summaryModel.Tags.Select(i => i.Id);

            summaryModel.UserId = User.Identity.GetUserId();
            summaryModel.Tags = await _db.Tags.Where(i => tagIds.Contains(i.Id)).ToListAsync();

            _db.Summaries.Add(summaryModel);
            await _db.SaveChangesAsync();

            return CreatedAtRoute("DefaultApi", new { id = summaryModel.Id }, summaryModel);
        }