Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
        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);
            }
        }
Exemplo n.º 6
0
        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()
                });
            }
        }
Exemplo n.º 7
0
 public async Task InsertTodoItem(ToDoItem toDoItem)
 {
     if (await EnsureLogin())
     {
         await MobileService.GetTable <ToDoItem>().InsertAsync(toDoItem);
     }
 }
        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);
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        // GET: ShopItems
        public async Task <ActionResult> Index()
        {
            //return View(await db.ShopItems.ToListAsync());
            var itemlist = await MobileService.GetTable <ShopItems>().ToListAsync();

            return(View(itemlist));
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
        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);
        }
Exemplo n.º 13
0
        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);
                }
            }
        }
Exemplo n.º 14
0
 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()
         });
     }
 }
Exemplo n.º 15
0
        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);
            }
        }
Exemplo n.º 16
0
        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();
            }));
        }
Exemplo n.º 17
0
 public async Task UpdateGroup(Group group)
 {
     if (await EnsureLogin())
     {
         await MobileService.GetTable <Group>().UpdateAsync(group);
     }
 }
Exemplo n.º 18
0
        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()
                });
            }
        }
Exemplo n.º 19
0
        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);
            }
        }
Exemplo n.º 20
0
        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);
        }
Exemplo n.º 21
0
 public async Task <bool> InsertTaskSubitem(Model.DTO.TaskSubitem taskSubitem)
 {
     return(await ExecuteAuthenticated(async() =>
     {
         await MobileService.GetTable <TaskSubitem>().InsertAsync(taskSubitem);
         return true;
     }));
 }
Exemplo n.º 22
0
 public async Task <bool> Update(UserGroup userGroup)
 {
     return(await ExecuteAuthenticated(async() =>
     {
         await MobileService.GetTable <UserGroup>().UpdateAsync(userGroup);
         return true;
     }));
 }
Exemplo n.º 23
0
 public async Task <bool> DeleteUserGroup(Model.DTO.UserGroup userGroup)
 {
     return(await ExecuteAuthenticated(async() =>
     {
         await MobileService.GetTable <UserGroup>().DeleteAsync(userGroup);
         return true;
     }));
 }
Exemplo n.º 24
0
 public async Task <User> GetUserById(string id)
 {
     return(await ExecuteAuthenticated(async() =>
     {
         var users = await MobileService.GetTable <User>().Where(u => u.Id == id).ToCollectionAsync();
         return users.SingleOrDefault();
     }));
 }
Exemplo n.º 25
0
 public async Task <bool> Delete(Model.DTO.TaskSubitemWork taskSubitemWork)
 {
     return(await ExecuteAuthenticated(async() =>
     {
         await MobileService.GetTable <TaskSubitemWork>().DeleteAsync(taskSubitemWork);
         return true;
     }));
 }
Exemplo n.º 26
0
 public async Task <User> GetUsersByEmail(string email)
 {
     return(await ExecuteAuthenticated(async() =>
     {
         var users = await MobileService.GetTable <User>().ToCollectionAsync();
         return users.SingleOrDefault(u => u.Email == email);
     }));
 }
Exemplo n.º 27
0
 public async Task <TaskItem> GetTaskItemById(string taskId)
 {
     return(await ExecuteAuthenticated(async() =>
     {
         var taskItem = await MobileService.GetTable <TaskItem>().Where(t => t.Id == taskId).ToCollectionAsync();
         return taskItem.SingleOrDefault();
     }));
 }
Exemplo n.º 28
0
 public async Task <ObservableCollection <DTO.TaskStatus> > GetAvailableTaskStatuses()
 {
     if (await EnsureLogin())
     {
         return(await MobileService.GetTable <DTO.TaskStatus>().ToCollectionAsync());
     }
     return(null);
 }
        public async Task <IEnumerable <Entities.Feedback> > GetFeedbacksAsync(string placeId, int skip = 0, int take = 100)
        {
            var feedbacks = MobileService.GetTable <Entities.Feedback>();
            var result    = await feedbacks.Where(feedback => feedback.PlaceId == placeId)
                            .OrderByDescending(feedback => feedback.CreationDate)
                            .Skip(skip).Take(100).ToListAsync();

            return(result);
        }
Exemplo n.º 30
0
 public async Task <bool> UpdateTodoList(TodoList list)
 {
     return(await ExecuteAuthenticated(async() =>
     {
         var table = MobileService.GetTable <TodoList>();
         await table.UpdateAsync(list);
         return true;
     }));
 }