/// <summary> /// Posts a new author. /// </summary> /// <param name="item">New author</param> /// <returns>Status message</returns> public async Task<Author> Post(Author item) { if (item == null) { throw new HttpResponseException( Request.CreateErrorResponse(HttpStatusCode.NotFound, "Invalid parameter")); } var author = await repository.InsertAsync(item); return author; }
/// <summary> /// Updates an existing author. /// </summary> /// <param name="key">Author ID</param> /// <param name="item">Updated author</param> /// <returns>Status message</returns> public async Task<Author> Put([FromODataUri] Guid key, Author item) { if (key == Guid.Empty || item == null) { throw new HttpResponseException( Request.CreateErrorResponse(HttpStatusCode.NotFound, "Invalid parameter")); } item.ID = key; var author = await repository.UpdateAsync(item); return author; }
/// <summary> /// Login view. /// </summary> public ActionResult Login(string userName) { if (userName != null && userName.Length > 0) { var repository = DependencyResolver.Current.GetService<IAuthorRepository>(); var author = repository.GetByName(userName); if (author == null) { author = new Author(); author.Name = userName; author.Age = 0; author.City = "Unknown"; author.State = "Unknown"; author = repository.Insert(author); } TempData["userID"] = author.ID; TempData["userName"] = author.Name; return RedirectToAction("Index", "Home"); } return View(new BaseViewModel()); }