示例#1
0
 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));
     }
 }
示例#3
0
 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));
     }
 }