public async Task <ActionResult> Create(string text, string authorId, QuoteType type = QuoteType.Normal) { if (string.IsNullOrEmpty(text)) { throw new ArgumentNullException(nameof(text)); } if (string.IsNullOrEmpty(authorId)) { throw new ArgumentNullException(nameof(authorId)); } int parsedAuthorId; var newQuote = DbContext.Quotes.Create(); if (int.TryParse(authorId, out parsedAuthorId)) { newQuote.Author = DbContext.People.FirstOrDefault(p => p.PersonId == parsedAuthorId); } else { newQuote.AnonymousAuthor = authorId; } newQuote.Text = text; newQuote.Owner = GetCurrentUser(); newQuote.DateTimeCreated = DateTime.Now; newQuote.QuoteType = type; var dbQuote = DbContext.Quotes.Add(newQuote); await DbContext.SaveChangesAsync(); return(JsonResult(new GenericOperationResponse <QuoteItemResponse>( QuoteItemResponse.Transform(dbQuote)))); }
public ActionResult GetAll(QuoteType type = QuoteType.Normal) { var quotes = DbContext.Quotes .Where(q => q.QuoteType == type) .OrderByDescending(q => q.DateTimeCreated) .ToList(); return(JsonResult(quotes.Select(q => QuoteItemResponse.Transform(q)))); }