public static TokenItem LogIn(String login, String password, long appId) { // load user and check for user unexistence Actor currActor = ActorTools.Read(login); if (currActor == null) { return(null); // can't login unexistent user } // check for [id,appId] in use already long currActorId = currActor.Id; Guid?currToken = _loadTokenValueByUserIdAndAppId(currActorId, appId); if (currToken != null) // [id,appId] already in use !!! { // we need to log out old working user before login new one // we log out when all values known now !!! _removeTokenValueByUserIdAndAppId(currActorId, appId); _removeTokenItemByToken(currToken); } // create TokenItem for new user Guid newActionToken = Guid.NewGuid(); Guid refToken = Guid.NewGuid(); TokenItem newTokenItem = new TokenItem(currActor.Id, appId, newActionToken, refToken); // save new TokenItem and new token in memory storage _saveTokenValueByUserIdAndAppId(currActor.Id, appId, newActionToken); _saveTokenItemByToken(newActionToken, newTokenItem); return(newTokenItem); }
public static ActorRole Read(String login, Boolean WithActive = true, Boolean WithDeleted = false) { Actor act = ActorTools.Read(login, WithActive, WithDeleted); Role rol = RoleTools.Read(act.RoleId); ActorRole result = new ActorRole(act, rol); return(result); }
public static List <ActorRole> Read(List <long> actorsIdsList, Boolean WithActive = true, Boolean WithDeleted = false) { if (actorsIdsList.Count > MaxListSize) { throw new Exception("Maximum list size is exceeded in ActorTools.Read(list) !"); } List <Actor> actorsList = ActorTools.Read(actorsIdsList, WithActive, WithDeleted); List <long> rolesIdsList = actorsList.Select(x => x.RoleId).ToList(); List <Role> roles = RoleTools.Read(rolesIdsList); List <ActorRole> result = new List <ActorRole>(); foreach (Actor currActor in actorsList) { Role currRole = roles.Single(x => x.Id == currActor.RoleId); result.Add(new ActorRole(currActor, currRole)); } return(result); }