public async Task <bool> LogoutAsync() { bool success = false; try { if (User != null) { await MobileService.LogoutAsync(); foreach (var user in ADB2CClient.Users) { ADB2CClient.Remove(user); } User = null; Settings.AuthToken = string.Empty; Settings.UserId = string.Empty; Settings.Role = string.Empty; success = true; } } catch (Exception ex) { throw ex; } return(success); }
public async Task <bool> LogoutAsync() { if (!IsInitialized) { await InitializeAsync(); } await MobileService.LogoutAsync(); var settings = await ReadSettingsAsync(); if (settings != null) { settings.AuthToken = string.Empty; settings.UserId = string.Empty; var result = await SaveSettingsAsync(settings); return(result); } else { return(true); } }
public async Task LogoutAsync() { if (!IsInitialized) { await InitializeAsync(); } await MobileService.LogoutAsync(); StoreSettings settings = null; try { settings = await ReadSettingsAsync(); } catch (MobileServicePushFailedException exc) { if (exc.PushResult != null) { } } catch (Exception ex) { Debug.WriteLine("Unable to read settings items: " + ex); } if (settings != null) { settings.AuthToken = string.Empty; settings.UserId = string.Empty; await SaveSettingsAsync(settings); } }
async public Task Login(string provider) { // If authentication is enabled and we're not authenticated yet if (Authenticator != null && !IsAuthenticated) { IsAuthenticated = await Authenticator.Authenticate(provider); } if (IsAuthenticated) { // Login is no longer needed now that we know we are logged in Locator.Instance.IsLoginNeeded = false; try { JToken userName = await MobileService.InvokeApiAsync("UserProfile/UserName", HttpMethod.Get, new Dictionary <string, string>() { { "provider", ApplicationCapabilities.ConvertString2IdentityProvider(provider).ToString() } }); LoginStatus = userName.ToObject(typeof(string)) as string; } catch (Exception) { LoginStatus = "<User Name Unavailable>"; } } else { LoginStatus = "Login"; } }
private async void CheckForAutoLogin() { if (Settings.LastUsedEmail != string.Empty) { var users = (await MobileService.GetTable <TBL_Users>().Where(mail => mail.emailadd == Settings.LastUsedEmail).ToListAsync()).FirstOrDefault(); if (users != null) { user_id = users.Id; fullname = users.full_name; mobilenum = users.mobile_num; emailadd = users.emailadd; password = users.password; datereg = users.datereg; propic = users.propic; picstr = users.picstr; //user_id = null; CurrentOrderId = null; refresh = false; //indicatorloader.IsVisible = false; //Settings.LastUsedEmail = chkremember.IsChecked ? emailentry.Text : ""; //await DisplayAlert("Success", "Email or password is incorrect!", "OK"); Device.BeginInvokeOnMainThread(() => { Xamarin.Forms.Application.Current.MainPage = new AppShell(); }); await Navigation.PushAsync(new MenuPage(), true); //var page = MenuPage as NavigationPage; } } else { Device.BeginInvokeOnMainThread(() => { Xamarin.Forms.Application.Current.MainPage = new LoginPage(); }); await Navigation.PushAsync(new LoginPage(), true); } }
public void ConstructorShouldFailWhenMobileServiceIsNull() { //Act MobileService service = null; new SetupController(service); }
public async Task <ObservableCollection <TaskSubitem> > GetCompletedTaskSubitems(string userId, DateTime fromDate, DateTime toDate) { if (await EnsureLogin()) { var taskService = new TaskItemService(base.AccessToken); var taskItems = await taskService.GetTaskItems(userId); var result = new List <TaskSubitem>(); foreach (var taskItem in taskItems) { var taskSubitems = await MobileService.GetTable <TaskSubitem>() .Where(t => t.TaskItemId == taskItem.Id && t.TaskStatusId == ((int)TaskStatusEnum.Completed).ToString()) .ToCollectionAsync(); Func <TaskSubitem, bool> func = t => t.ExecutorId == userId && t.StartDateTime.HasValue && t.StartDateTime.Value.Date >= fromDate.Date && t.EndDateTime.HasValue && t.EndDateTime.Value.Date < toDate.Date; if (taskSubitems.Any(func)) { result.AddRange(taskSubitems.Where(func)); } } return(result.ToObservableCollection()); } return(null); }
public async Task UpdateGroup(Group group) { if (await EnsureLogin()) { await MobileService.GetTable <Group>().UpdateAsync(group); } }
private async Task AddUserGroup(User user) { var userGroups = await MobileService.GetTable <UserGroup>().ToListAsync(); var userGroup = userGroups.Where(ug => ug.UserId == user.Id); if (userGroup.FirstOrDefault() == null) { Group group = new Group() { Id = Guid.NewGuid().ToString(), GroupName = "Default group for user: " + user.Id }; await MobileService.GetTable <Group>().InsertAsync(@group); var availableRoles = await MobileService.GetTable <RoleType>().ToListAsync(); var adminRole = availableRoles.Where(r => r.RoleKey == (int)UserRoleEnum.Admin); UserGroup ug = new UserGroup() { Id = Guid.NewGuid().ToString(), GroupId = @group.Id, UserId = user.Id, RoleTypeId = adminRole.Single().Id, IsUserDefaultGroup = true }; await MobileService.GetTable <UserGroup>().InsertAsync(ug); } }
private async Task AddExtUser(User user, UserDomainsEnum userDomainEnum, string externalUserId) { var userDomainsTable = MobileService.GetTable <UserDomain>(); var userDomains = await userDomainsTable.ToCollectionAsync(); var domain = userDomains.SingleOrDefault(d => d.DomainKey == (int)userDomainEnum); if (domain != null) { var externalUserstable = MobileService.GetTable <ExternalUser>(); var externalUsers = await externalUserstable.ToCollectionAsync(); var extUsers = externalUsers.Where(eu => eu.UserId == user.Id && eu.UserDomainId == domain.Id); if (extUsers.SingleOrDefault() == null) { ExternalUser extUser = new ExternalUser() { Id = Guid.NewGuid().ToString(), UserId = user.Id, ExternalUserId = externalUserId, UserDomainId = domain.Id }; await externalUserstable.InsertAsync(extUser); } } }
public async Task InsertUser(User user, string extUserId) { if (await EnsureLogin() && !string.IsNullOrWhiteSpace(extUserId)) { var userInUser = await MobileService.GetTable <User>().Where(u => u.Email == user.Email).ToCollectionAsync(); if (userInUser.SingleOrDefault() == null) { await MobileService.GetTable <User>().InsertAsync(user); } else { user = userInUser.Single(); } //await table.InsertAsync(user); ExternalUser externalUser = new ExternalUser() { Id = Guid.NewGuid().ToString(), UserId = user.Id, ExternalUserId = extUserId, UserDomainId = (await MobileService.GetTable <UserDomain>() .Where(u => u.DomainKey == (int)UserDomainEnum.Microsoft) .ToCollectionAsync()).Single().Id }; await AddExternalUser(externalUser); await AddUserGroup(user); } }
public async Task <string> UserExist(string userId) { if (await EnsureLogin()) { //var usrDB = MobileService.GetTable<ExternalUser>().Where(u => u.ExternalUserId == userId).ToListAsync(); // var usrDB = MobileService.GetTable<ExternalUser>().Where(u => u.ExternalUserId == userId).Select(u =>u.Id); //string usrDB = MobileService.GetTable<ExternalUser>().Where(u => u.ExternalUserId == userId).ToString(); try { var table = await MobileService.GetTable <ExternalUser>() .Where(u => u.ExternalUserId == userId) .ToCollectionAsync(); var usrDB = table.SingleOrDefault(); if (usrDB == null) { return(null); } else { return(usrDB.UserId); } } catch (Exception ex) { } } return(null); }
public async Task <User> GetUser(string externalUserId, UserDomainEnum currentUserDomain) { if (await EnsureLogin()) { try { var domainsTable = MobileService.GetTable <UserDomain>(); var domains = await domainsTable.ToCollectionAsync(); var currentDomain = domains.Single(d => d.DomainKey == (int)currentUserDomain); var extUsers = await MobileService.GetTable <ExternalUser>().ToListAsync(); var currentExtUser = extUsers.Single(u => u.ExternalUserId == externalUserId && u.UserDomainId == currentDomain.Id); var users = await MobileService.GetTable <User>().ToListAsync(); var user = users.Single(u => u.Id == currentExtUser.UserId); return(user); } catch (Exception ex) { } return(null); } return(null); }
public async Task AddUserGroup(User user) { var userGroups = await MobileService.GetTable <UserGroup>().Where(t => t.UserId == user.Id).ToCollectionAsync(); var userGroupExist = userGroups.Where(i => i.IsUserDefaultGroup); var userHasGroup = userGroupExist.FirstOrDefault(); if (userHasGroup == null) { Group group = new Group() { Id = Guid.NewGuid().ToString(), GroupName = "Default group for user: " + user.Id }; await MobileService.GetTable <Group>().InsertAsync(group); var roles = await MobileService.GetTable <RoleType>().Where(r => r.RoleKey == (int)RoleTypeEnum.Admin).ToCollectionAsync(); var userRoleId = roles.Single().Id; UserGroup userGroup = new UserGroup() { Id = Guid.NewGuid().ToString(), UserId = user.Id, GroupId = group.Id, RoleTypeId = userRoleId, IsUserDefaultGroup = true }; await MobileService.GetTable <UserGroup>().InsertAsync(userGroup); } }
public async Task <System.Collections.ObjectModel.ObservableCollection <TaskSubitem> > GetUserTaskSubitemsAlreadyStarted(string userId) { if (await EnsureLogin()) { var taskService = new TaskItemService(base.AccessToken); var taskItems = await taskService.GetTaskItems(userId); var result = new List <TaskSubitem>(); foreach (var taskItem in taskItems) { var taskSubitems = await MobileService.GetTable <TaskSubitem>() .Where(t => t.TaskItemId == taskItem.Id && t.TaskStatusId != ((int)TaskStatusEnum.Completed).ToString() && t.TaskStatusId != ((int)TaskStatusEnum.Rejected).ToString()) .ToCollectionAsync(); Func <TaskSubitem, bool> func = t => t.ExecutorId == userId && t.StartDateTime.HasValue && t.StartDateTime.Value.Date <= DateTime.Today && t.StartDateTime.Value.Date > DateTime.Today.AddDays(-2); if (taskSubitems.Any(func)) { result.AddRange(taskSubitems.Where(func)); } } return(result.ToObservableCollection()); } return(null); }
public async Task InsertTodoItem(ToDoItem toDoItem) { if (await EnsureLogin()) { await MobileService.GetTable <ToDoItem>().InsertAsync(toDoItem); } }
public async Task <ActionResult> MobileData() { var service = new MobileService(); var result = await service.MobileData(); return(Ok(result)); }
public async Task <ObservableCollection <Group> > GetGroupsAvailableForUserWhereUserIsAdmin(string externalUserId) { if (await EnsureLogin()) { var extUsers = await MobileService.GetTable <ExternalUser>().ToListAsync(); var currentExtUser = extUsers.Single(u => u.ExternalUserId == externalUserId); var allUserGroups = await MobileService.GetTable <UserGroup>().ToListAsync(); var userGroups = allUserGroups.Where(ug => ug.UserId == currentExtUser.UserId); List <string> groupIds = userGroups.Select(ug => ug.GroupId).ToList(); var allGroups = await MobileService.GetTable <Group>().ToListAsync(); var availableGroups = allGroups.Where(g => groupIds.Contains(g.Id)); var roleTypeService = new RoleTypeService(base.AccessToken); var groupsWhereUserIsAdmin = new ObservableCollection <Group>(); foreach (var group in availableGroups) { if (await roleTypeService.CanUserAddOrDeleteItem(currentExtUser.UserId, group.Id)) { groupsWhereUserIsAdmin.Add(group); } } return(groupsWhereUserIsAdmin.ToObservableCollection()); } return(null); }
public async Task <ObservableCollection <Group> > GetGroupForUser(string externalUserId) { if (await EnsureLogin()) { try { var extUsers = await MobileService.GetTable <ExternalUser>().ToListAsync(); var currentExtUser = extUsers.Single(u => u.ExternalUserId == externalUserId); var allUserGroups = await MobileService.GetTable <UserGroup>().ToListAsync(); var userGroups = allUserGroups.Where(ug => ug.UserId == currentExtUser.UserId); List <string> groupIds = userGroups.Select(ug => ug.GroupId).ToList(); var allGroups = await MobileService.GetTable <Group>().ToListAsync(); var availableGroups = allGroups.Where(g => groupIds.Contains(g.Id)); return(availableGroups.ToObservableCollection()); } catch (Exception ex) { } } return(null); }
public async static Task <Status> Signup(Users user) { try { var users = await MobileService.GetTable <Users>().Where(x => x.email == user.email).ToListAsync(); if (users.FirstOrDefault() == null) { await MobileService.GetTable <Users>().InsertAsync(user); return(new Models.Status() { result = true, message = "Successfully Registered" }); } else { return(new Models.Status() { result = false, message = "Already Registererd" }); } } catch (Exception e) { return(new Models.Status() { result = false, message = e.ToString() }); } }
public async Task <IEnumerable <Place> > GetPlacesAsync(int skip = 0, int take = 100) { var places = MobileService.GetTable <Place>(); var result = await places.Skip(skip).Take(take).ToListAsync(); return(result); }
public async Task <MobileServiceUser> LoginAnonymouslyAsync(string impersonateUserId = null) { if (!IsInitialized) { await InitializeAsync(); } if (string.IsNullOrEmpty(impersonateUserId)) { var settings = await ReadSettingsAsync(); impersonateUserId = settings?.UserId; // see if we have a saved user id from a previous token } var credentials = new JObject(); if (!string.IsNullOrEmpty(impersonateUserId)) { credentials["anonymousUserId"] = impersonateUserId; } MobileServiceUser user = await MobileService.LoginAsync("AnonymousUser", credentials); await CacheToken(user); return(user); }
private async Task getUserAddresses() { try { RefreshView.IsRefreshing = true; var getAddresseses = await MobileService.GetTable <TBL_Addresses>().Where(usersId => usersId.user_id == user_id).ToListAsync(); ListAddress.ItemsSource = getAddresseses; RefreshView.IsRefreshing = false; if (getAddresseses.Count == 0) { imgnofound.IsVisible = true; ListAddress.IsVisible = false; } else { imgnofound.IsVisible = false; ListAddress.IsVisible = true; } } catch { RefreshView.IsRefreshing = false; await Navigation.PushAsync(new NoInternetPage(), false); } }
public void CheckForUpdates() { try { if (CheckIfVPMobileIsRunning()) { MessageBox.Show("Vantage Points Mobile is already running. Please use that instance."); Close(); } CurrentFile = "Pulling file information from server"; MobileService.GetMainUpdateFileListAsync(); } catch (EndpointNotFoundException ex) { OnNetworkDisconnect(ex); } catch (Exception ex) { MessageBox.Show(ex.ToString()); var message = "Error checking file"; Logging.LogMessage(Logging.LogType.Error, message, ex); CurrentFile = ""; Dispatcher.Invoke(() => Close()); } }
// GET: ShopItems public async Task <ActionResult> Index() { //return View(await db.ShopItems.ToListAsync()); var itemlist = await MobileService.GetTable <ShopItems>().ToListAsync(); return(View(itemlist)); }
public static async Task <Status> AddJorunal(Accounts account) { try { if (account.id == null) { await MobileService.GetTable <Accounts>().InsertAsync(account); } else { await MobileService.GetTable <Accounts>().UpdateAsync(account); } return(new Models.Status() { result = true, message = "Successfully Added" }); } catch (Exception e) { return(new Models.Status() { result = false, message = e.ToString() }); } }
public async static Task <Status> AddLedger(Ledgers ledger) { try { if (ledger.id == null) { await MobileService.GetTable <Ledgers>().InsertAsync(ledger); } else { await MobileService.GetTable <Ledgers>().UpdateAsync(ledger); } return(new Models.Status() { result = true, message = "Successfully Added" }); } catch (Exception e) { return(new Models.Status() { result = false, message = e.ToString() }); } }
public async Task <System.Collections.ObjectModel.ObservableCollection <TaskSubitem> > GetUserTaskSubitemsNearDeadlines(string userId) { return(await ExecuteAuthenticated(async() => { var taskService = SimpleIoc.Default.GetInstance <ITaskItemDataService>(); var taskItems = await taskService.GetTaskItems(userId); var result = new List <TaskSubitem>(); foreach (var taskItem in taskItems) { var taskSubitems = await MobileService.GetTable <TaskSubitem>() .Where(t => t.TaskItemId == taskItem.Id && t.TaskStatusId != ((int)TaskStatusEnum.Completed).ToString() && t.TaskStatusId != ((int)TaskStatusEnum.Rejected).ToString()) .ToCollectionAsync(); Func <TaskSubitem, bool> func = t => t.ExecutorId == userId && t.EndDateTime.HasValue && t.EndDateTime.Value.Date >= DateTime.Today && t.EndDateTime.Value.Date < DateTime.Today.AddDays(3); if (taskSubitems.Any(func)) { result.AddRange(taskSubitems.Where(func)); } } return result.ToObservableCollection(); })); }
public async Task <ObservableCollection <DTO.TaskStatus> > GetAvailableTaskStatuses() { if (await EnsureLogin()) { return(await MobileService.GetTable <DTO.TaskStatus>().ToCollectionAsync()); } return(null); }
public async Task <bool> InsertTaskSubitem(Model.DTO.TaskSubitem taskSubitem) { return(await ExecuteAuthenticated(async() => { await MobileService.GetTable <TaskSubitem>().InsertAsync(taskSubitem); return true; })); }