public HttpResponseMessage Post([FromBody] Story userStory) { try { var jwtAuthorizationParameter = Request.Headers.Authorization.Parameter; using (var entities = new ArchimydesEntities()) { var currentLoggedInUser = entities.Users.FirstOrDefault(user => user.Token == jwtAuthorizationParameter); if (currentLoggedInUser == null) { return(Request.CreateResponse(HttpStatusCode.Unauthorized, "User not Authorized")); } userStory.CreatedDateTime = DateTime.Now; userStory.ModifiedDateTime = DateTime.Now; userStory.UserId = currentLoggedInUser.UserId; entities.Stories.Add(userStory); entities.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.Created, "User story created"); message.Headers.Location = new Uri(Request.RequestUri + userStory.UserStoryID.ToString()); return(message); } } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage Post([FromBody] User user) { try { var userExists = _entities.Users.Any(e => e.Email == user.Email); if (userExists) { return(Request.CreateResponse(HttpStatusCode.Conflict, "User already exists")); } if (!BusinessLoginHelper.IsValidEmail(user.Email)) { return(Request.CreateResponse(HttpStatusCode.Conflict, "Email address not valid")); } user.CreatedDateTime = DateTime.Now; user.ModifiedDateTime = DateTime.Now; user.Password = new HashPassword().encrypt(user.Password); var jwtToken = _tokenGenerator.GenerateToken(user.Email, user.Password); user.Token = jwtToken; _entities.Users.Add(user); _entities.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.Created, "User successfully created"); message.Headers.Location = new Uri(Request.RequestUri + user.UserId.ToString()); return(message); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage Put(int id, [FromBody] Story story) { try { using (var entities = new ArchimydesEntities()) { var jwtAuthorizationParameter = Request.Headers.Authorization.Parameter; var currentLoggedInUser = entities.Users.FirstOrDefault(user => user.Token == jwtAuthorizationParameter); if (currentLoggedInUser == null || currentLoggedInUser.Role.ToLower() != "admin") { return(Request.CreateResponse(HttpStatusCode.Unauthorized, "User not Authorized")); } var entity = entities.Stories.FirstOrDefault(s => s.UserStoryID == id); if (entity == null) { return(Request.CreateResponse(HttpStatusCode.NotFound, "The story does not exist")); } entity.Summary = story.Summary; entity.Complexity = story.Complexity; entity.Description = story.Description; entity.Status = story.Status; entity.Type = story.Type; entity.EstimatedTime = story.EstimatedTime; entity.ModifiedDateTime = DateTime.Now; entities.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.Created, entity); message.Headers.Location = new Uri(Request.RequestUri + entity.UserStoryID.ToString()); return(message); } } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.BadRequest, ex)); } }