public static bool LogIn(string username, string password, out string statusMessage) { IQueryable <UserPrivate> userPrivateQueryable = _documentClient.CreateDocumentQuery <UserPrivate>( PrivateUsersCollectionUri).Where(f => f.Id == username && f.Password == password); if (userPrivateQueryable.Count() != 1) { statusMessage = "Log in failed! Username or password is incorrect."; return(false); } foreach (UserPrivate user in userPrivateQueryable) { userPrivate = user; } statusMessage = $"Logged in as '{username}'"; IQueryable <UserPublic> userPublicQueryable = _documentClient.CreateDocumentQuery <UserPublic>( PublicUsersCollectionUri).Where(f => f.Id == username); foreach (UserPublic user in userPublicQueryable) { userPublic = user; } PiConnectionString = IoTClientManager.GetPiConnectionString(userPublic.Id); return(true); }
public static bool Register(string username, string password, string fullName, string macAddress, out string statusMessage) { UserPublic uPublic = new UserPublic(username, fullName, macAddress); UserPrivate uPrivate = new UserPrivate(username, password); if (!InputValidation.ValidateUsername(username, out statusMessage)) { return(false); } if (!InputValidation.ValidatePassword(password, out statusMessage)) { return(false); } string idToReplace = null; if (!InputValidation.ValidateMacAddress(macAddress, out statusMessage)) { if (statusMessage != StringConstants.MacAddressAlreadyExistsMessage) { return(false); } if (IsActualUser(macAddress, out idToReplace)) { return(false); } } if (string.IsNullOrWhiteSpace(fullName)) { statusMessage = "Your full name cannot be empty"; return(false); } if (!IoTClientManager.CreateDevice(username, out statusMessage)) { return(false); } if (idToReplace == null) { _documentClient.CreateDocumentAsync(PublicUsersCollectionUri, uPublic); } else { _documentClient.ReplaceDocumentAsync(PublicUserDocumentUri(idToReplace), uPublic); } _documentClient.CreateDocumentAsync(PrivateUsersCollectionUri, uPrivate); userPublic = uPublic; userPrivate = uPrivate; PiConnectionString = IoTClientManager.GetPiConnectionString(uPublic.Id); statusMessage = $"User '{username}' has been registered successsfully."; return(true); }