/// <summary> /// Deletes the login with the given stringId /// </summary> /// <param name="stringId"></param> public int DeleteUser(string stringId) { try { var id = Int64.Parse(stringId); using(var db = new ReportAppLoginEntities()){ db.Login.Remove(db.Login.FirstOrDefault(x => x.ID == id)); db.SaveChanges(); } return (int)codes.success; } catch (Exception e){ return (int)codes.fail; } }
/// <summary> /// Creates a login with the given parameters /// </summary> /// <param name="login"></param> public int CreateLogin(LoginDTO login) { try { using (var db = new ReportAppLoginEntities()) { db.Login.Add(new Login() { Username = login.Username, Password = login.Password }); db.SaveChanges(); } return (int)codes.success; } catch(DbUpdateException e){ return (int)codes.user_exists; } catch(Exception e){ return (int)codes.fail; } }
/// <summary> /// Return the Login with the given username /// </summary> /// <param name="username"></param> /// <returns>A LoginDTO</returns> public LoginDTO GetUserByUsername(string username, string password) { try { using (var db = new ReportAppLoginEntities()) { var login = db.Login.FirstOrDefault(x => x.Username.Equals(username)); if (login == null) { return new LoginDTO() { Code = (int)codes.no_user, Token = null, ID = 0, Username = null, LoginDate = DateTime.Now, AccesPath = null, }; } else if (login.Password != password) { return new LoginDTO() { Code = (int)codes.wrong_password, Token = null, ID = 0, Username = login.Username, LoginDate = DateTime.Now, AccesPath = null, }; } else { string token = null; while (token == null || token.Contains("/")) { token = Convert.ToBase64String(Guid.NewGuid().ToByteArray()); } var loginCred = new LoginDTO() { Code = (int)codes.success, Token = token, ID = login.ID, Username = login.Username, LoginDate = DateTime.Now, AccesPath = login.AccesPath, }; dic.Add(token, loginCred); return loginCred; } //return new LoginDTO() //{ // ID = login.ID, // Username = login.Username, // Password = login.Password, // Code = (int)codes.success //}; } } catch (Exception e) { return new LoginDTO() { Code = (int)codes.fail }; } }
/// <summary> /// Return the Login with the given username /// </summary> /// <param name="username"></param> /// <returns>A LoginDTO</returns> public LoginDTO GetUserByUsername(string username) { try { using(var db = new ReportAppLoginEntities()){ var login = db.Login.FirstOrDefault(x => x.Username.Equals(username)); if(login == null){ return new LoginDTO() { Code = (int)codes.no_user }; } return new LoginDTO() { ID = login.ID, Username = login.Username, Password = login.Password, Code = (int)codes.success }; } } catch(Exception e){ return new LoginDTO() { Code = (int)codes.fail }; } }