public async Task <Tuple <bool, UserViewModel> > GetUser(int userId, System.Security.Principal.IPrincipal User) { var _access = new BLL.Core.Domain.UserAccess(new SharedContext(), User); if (_access.getAccessibleUsers().Where(m => m.user_auto == userId).Count() == 0) { return(Tuple.Create <bool, UserViewModel>(false, null)); } USER_TABLE user = await _context.USER_TABLE.FindAsync(userId); if (user == null) { return(Tuple.Create <bool, UserViewModel>(false, null)); } UserViewModel returnUser = new UserViewModel() { Email = user.email, Id = (int)user.user_auto, Name = user.username, AccessLevel = (UserAccessTypes)(int)_access.getHighestCategoryAccess() }; return(Tuple.Create(true, returnUser)); }
protected bool Init(System.Security.Principal.IPrincipal CurrentUser) { if (!CurrentUser.Identity.IsAuthenticated) { return(false); } var identity = (ClaimsIdentity)CurrentUser.Identity; IEnumerable <Claim> claims = identity.Claims.Where(m => m.Type == "sub"); IEnumerable <Claim> nameIdentifiers = identity.Claims.Where(m => m.Type == ClaimTypes.NameIdentifier); if (claims.Count() == 0 && nameIdentifiers.Count() == 0) { return(false); } if (claims.Count() > 0) { AspNetId = claims.First().Value; } else { AspNetId = nameIdentifiers.First().Value; } var users = _domainContext.USER_TABLE.Where(m => m.AspNetUserId == AspNetId); if (users.Count() == 0) { return(false); } UserTable = users.First(); UserId = users.First().user_auto.LongNullableToInt(); return(true); }
protected bool Init(int CurrentUser) { if (CurrentUser == 0) { return(false); } var user = _domainContext.USER_TABLE.Find(CurrentUser); if (user == null) { return(false); } UserTable = user; UserId = CurrentUser; return(true); }
public Preferences(SharedContext context, long userId) { _context = context; _user = _context.USER_TABLE.Find(userId); _aspUser = _context.AspNetUsers.Find(_user.AspNetUserId); }
public GETResponseMessage createNewUserAccount(string username, string password, string email, int accessLevel, UserAccountType type, int teamId) { var newUser = new USER_TABLE(); if (type == UserAccountType.Dealership && (accessLevel != (int)UserAccessTypes.DealershipAdministrator && accessLevel != (int)UserAccessTypes.DealershipUser)) { return(new GETResponseMessage(ResponseTypes.InvalidInputs, "Failed. The access level you attempted to give is not valid for a dealership. ")); } else if (type == UserAccountType.Customer && (accessLevel != (int)UserAccessTypes.CustomerAdministrator && accessLevel != (int)UserAccessTypes.CustomerUser)) { return(new GETResponseMessage(ResponseTypes.InvalidInputs, "Failed. The access level you attempted to give is not valid for a customer. ")); } else if (!checkUsernameIsUnique(username)) { return(new GETResponseMessage(ResponseTypes.InvalidInputs, "Failed: Username already exists. ")); } else if (!checkEmailIsUnique(email)) { return(new GETResponseMessage(ResponseTypes.InvalidInputs, "Failed: Email already exists. ")); } else if (username.Length < 1 || password.Length < 1 || email.Length < 1) { return(new GETResponseMessage(ResponseTypes.InvalidInputs, "Failed: Invalid username, password, or email length. ")); } else { // Creating user account // GET related fields newUser.username = username; newUser.userid = username; newUser.passwd = password; newUser.email = email; newUser.language_auto = 1; // English newUser.currency_auto = 1; // AUD newUser.active = true; newUser.suspended = false; // Fields not related to GET, but that are currently required. newUser.internalemp = false; newUser.internalother = false; newUser.viewe = false; newUser.viewr = false; newUser.interpreter = false; newUser._protected = false; newUser.attach = false; newUser.print_copies = 0; newUser.sos = false; newUser.IsEquipmentEdit = false; if (type == UserAccountType.Customer) { newUser.customer_auto = teamId; } using (var context = new SharedContext()) { context.USER_TABLE.Add(newUser); try { context.SaveChanges(); } catch { return(new GETResponseMessage(ResponseTypes.Failed, "Failed: Unable to store user in database. ")); } // Creating user access mapping entry var newUserAccessMap = new UserAccessMaps(); newUserAccessMap.user_auto = newUser.user_auto; if (type == UserAccountType.Dealership) { newUserAccessMap.DealershipId = teamId; } else { newUserAccessMap.customer_auto = teamId; } newUserAccessMap.AccessLevelTypeId = accessLevel; context.UserAccessMaps.Add(newUserAccessMap); try { context.SaveChanges(); } catch { // IF this fails, user account is still created but with no access record. What should we do? // Need to ask Mason. return(new GETResponseMessage(ResponseTypes.Failed, "Failed: Unable to create access map record for the new user. ")); } } } // Insert module access records (required for old undercarriage application) var moduleAccess1 = new USER_MODULE_ACCESS() { moduleid = 0, user_auto = newUser.user_auto, }; var moduleAccess2 = new USER_MODULE_ACCESS() { moduleid = 1, user_auto = newUser.user_auto, }; var moduleAccess3 = new USER_MODULE_ACCESS() { moduleid = 3, user_auto = newUser.user_auto, }; using (var context = new SharedContext()) { context.USER_MODULE_ACCESS.Add(moduleAccess1); context.USER_MODULE_ACCESS.Add(moduleAccess2); context.USER_MODULE_ACCESS.Add(moduleAccess3); try { context.SaveChanges(); } catch { return(new GETResponseMessage(ResponseTypes.Failed, "Failed: User was created, but there was an error giving them module access. ")); } } return(new GETResponseMessage(ResponseTypes.Success, newUser.user_auto.ToString())); }
public FindInspection(UndercarriageContext undercarriageContext, SharedContext sharedContext, long userId) { _context = undercarriageContext; _sharedContext = sharedContext; _user = _context.USER_TABLE.Find(userId); }
/// <summary> /// Audit logger for the undercarriage interpretation page. /// </summary> /// <param name="context">The undercarriage database context. </param> /// <param name="inspectionId">The inspection Id we are logged changes for. </param> /// <param name="userId">The user who is making a change to the data. </param> public InterpretationAuditor(UndercarriageContext context, int inspectionId, long userId) { _context = context; _user = _context.USER_TABLE.Find(userId); _inspection = _context.TRACK_INSPECTION.Find(inspectionId); }