public IHttpActionResult NewTag(Tag t) { var user = _repository.GetUserByUserName(User.Identity.Name); if (user != null) { t.UserId = user.UserId; } else { t.UserId = new Guid("0e5f76d4-7180-44e9-bc34-ced22a6d2bed"); } t.UpdateDate = DateTime.Now; RepositoryActionResult <Tag> result = _repository.AddTag(t); switch (result.Status) { case RepositoryActionStatus.Created: return(Content(System.Net.HttpStatusCode.OK, new { success = true, newID = result.Entity.Id, Description = result.Entity.Description })); 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() + " Per il Tag: " + result.Entity.Description)); }