public async Task <IHttpActionResult> NewAnswer([FromBody] Answer a) { var user = await _repository.GetUserByEmailAsync(a.UserName); if (user != null) { a.UserId = user.UserId; } else { a.UserId = new Guid("00000000-0000-0000-0000-000000000000"); } //to do alert user not found a.UpdateDate = DateTime.Now; Question questionSource = _repository.GetQuestion(a.QuestionSource.Id); ////aaaaaaa questionSource.AnswersCount++; a.QuestionSource = questionSource; RepositoryActionResult <Answer> result = _repository.AddAnswer(a); /// switch (result.Status) { case RepositoryActionStatus.Created: { int newID = result.Entity.Id; String UserId = result.Entity.UserId.ToString(); String UserName = result.Entity.UserName; String Description = result.Entity.Description; String UpdateDate = result.Entity.UpdateDate.HasValue ? result.Entity.UpdateDate.Value.ToShortDateString() : ""; return(Content(System.Net.HttpStatusCode.OK, newID + "*" + UserId + "*" + UserName + "*" + Description + "*" + UpdateDate)); } case RepositoryActionStatus.NothingModified: return(Content(System.Net.HttpStatusCode.OK, "Risultato Not Modified?")); //TODO have I to return OK? case RepositoryActionStatus.Error: return(Content(System.Net.HttpStatusCode.InternalServerError, result.Exception.InnerException.Message)); default: break; } return(Content(System.Net.HttpStatusCode.Ambiguous, result.Status.ToString() + " " + result.Entity.Description)); }