Advertisement
Guest User

Untitled

a guest
Mar 19th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Net;
  5. using System.Net.Http;
  6. using System.Web.Http;
  7. using GisonLibTest.ViewModels;
  8. using GisonLibTest.Models;
  9. using System.Web.Security;
  10. using System.Text;
  11. using System.Data.Entity;
  12.  
  13.  
  14. namespace GisonLibTest.Controllers.api
  15. {
  16. public class ApiTestController : ApiController
  17. {
  18. [HttpPut]
  19. public HttpResponseMessage ChangePassword(ChangePasswordViewModel model)
  20. {
  21. using (var db = new Entities())
  22. {
  23. var userAsp = Membership.GetUser(model.UserLogin);
  24. var user = db.Users.Where(x => x.Login == model.UserLogin).FirstOrDefault();
  25.  
  26. if (user != null && model.ConfirmPassword.Equals(model.NewPassword))
  27. {
  28. byte[] oldPassByte = Encoding.ASCII.GetBytes(model.OldPassword);
  29. var oldPassHash = Tools.PhotoTools.GetMD5(oldPassByte);
  30.  
  31. if (user.Password != oldPassHash)
  32. return Request.CreateResponse(HttpStatusCode.BadRequest, "Not a valid data");
  33.  
  34. var userAspPassword = userAsp.ResetPassword();
  35. userAsp.ChangePassword(userAspPassword, model.NewPassword);
  36.  
  37. byte[] newBytePassword = Encoding.ASCII.GetBytes(model.NewPassword);
  38. user.Password = Tools.PhotoTools.GetMD5(newBytePassword);
  39.  
  40. db.Entry(user).State = EntityState.Modified;
  41. db.SaveChanges();
  42.  
  43. return Request.CreateResponse(HttpStatusCode.OK);
  44. }
  45.  
  46. else
  47. return Request.CreateResponse(HttpStatusCode.NotFound);
  48. }
  49. }
  50. }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement