public IHttpActionResult Authenticate([FromBody] LoginRequest login) { var loginResponse = new LoginResponse { }; LoginRequest loginrequest = new LoginRequest { }; if (login.Username == null || login.Password == null) { return(Unauthorized()); } loginrequest.Username = login.Username; loginrequest.Password = login.Password; string fullname = ""; int userId = -1; IHttpActionResult response; HttpResponseMessage responseMsg = new HttpResponseMessage(); bool isUsernamePasswordValid = false; if (login != null) { using (RipoffRentalsEntities entities = new RipoffRentalsEntities()) { var user = entities.Users.FirstOrDefault(u => u.Email == loginrequest.Username); if (user == null) { user = entities.Users.FirstOrDefault(u => u.User_Name == loginrequest.Username); if (user == null) { loginResponse.responseMsg.StatusCode = HttpStatusCode.NotFound; response = ResponseMessage(loginResponse.responseMsg); return(response); } } fullname = user.Full_Name; userId = user.uid; loginrequest.Role = user.Permissions; isUsernamePasswordValid = loginrequest.Password == user.Password ? true : false; } } if (isUsernamePasswordValid) { string token = createToken(loginrequest.Username, userId, fullname, loginrequest.Role); loginResponse.Token = token; loginResponse.FullName = fullname; loginResponse.Id = userId; return(Ok(loginResponse)); } else { loginResponse.responseMsg.StatusCode = HttpStatusCode.Unauthorized; response = ResponseMessage(loginResponse.responseMsg); return(response); } }
public async Task <IHttpActionResult> UploadUserPhoto() { var identity = (ClaimsIdentity)User.Identity; int iuid = Convert.ToInt32(identity.FindFirst("user_id").Value); var ctx = HttpContext.Current; var root = ctx.Server.MapPath("~/App_Data/Images/Users/"); var provider = new MultipartFormDataStreamProvider(root); try { await Request.Content.ReadAsMultipartAsync(provider); foreach (var file in provider.FileData) { var lastDot = file.Headers.ContentDisposition.FileName.LastIndexOf('.'); var extension = file.Headers.ContentDisposition.FileName.Substring(lastDot); var name = iuid.ToString() + extension; name = name.Trim('"'); var localFileName = file.LocalFileName; var filePath = Path.Combine(root, name); if (File.Exists(filePath)) { File.Delete(filePath); } File.Move(localFileName, filePath); using (RipoffRentalsEntities db = new RipoffRentalsEntities()) { var currUser = db.Users.First(u => u.uid == iuid); byte[] buffer = File.ReadAllBytes(filePath); currUser.Image = buffer; } } } catch (Exception e) { return(InternalServerError(e)); } return(Ok("File Uploaded successfuly!")); }