protected void UserViewGrid_ManualRebind() { UserViewGrid.DataSource = null; UserViewGrid.Rebind(); return; }
public static UserViewGrid Search(MyContext context, SearchUser search) { UserViewGrid model = new UserViewGrid(); //отримуємо усі записи в оперативку //var query = context.Doctors.AsEnumerable();//.AsQueryable(); //ми формуємо sql запит до БД - нічого з БД не отримуємо в цьому рядку var query = context.Users.AsQueryable(); //Якщо DepartmentId !=null //if (search.DepartmentId.HasValue) //{ // query = query.Where(x => x.DepartmentId == search.DepartmentId.Value); //} //Якщо у search.Name != null if (!string.IsNullOrEmpty(search.Name)) { query = query.Where(x => x.Name.Contains(search.Name)); } if (!string.IsNullOrEmpty(search.Telephone)) { query = query.Where(x => x.Telephone.Contains(search.Telephone)); } int amount = search.CountShowOnePage; int page = search.Page; model.CountRow = query.Count(); model.Users = query .OrderBy(x => x.Id) .Skip((page - 1) * amount) .Take(amount) .Select(x => new UserItemView { Id = x.Id, Name = x.Name, Telephone = x.Telephone, Gender = x.Gender }).ToList(); return(model); }
public static UserViewGrid Search(MyContext context, SearchUser search) { UserViewGrid model = new UserViewGrid(); var query = context.UserRoles.Include(u => u.User).Include(rol => rol.Role).AsQueryable(); if (!string.IsNullOrEmpty(search.Name)) { query = query.Where(x => x.User.Name.Contains(search.Name)); } model.Users = query.Select(x => new UserItemView { Id = x.User.Id, Name = x.User.Name, RoleName = x.Role.Name } ).ToList(); return(model); }
protected void InitializeGetWorkPage() { GetWorkViewSelection.Items.Clear(); UserViewWorkQueueViewSelection.Items.Clear(); GetWorkViewSelection.Items.Add(new Telerik.Web.UI.RadComboBoxItem("** System Default", "0")); UserViewWorkQueueViewSelection.Items.Add(new Telerik.Web.UI.RadComboBoxItem("** System Default", "0")); foreach (Client.Core.Work.WorkQueueView currentWorkQueueView in MercuryApplication.WorkQueueViewsAvailable(false)) { if (currentWorkQueueView.Enabled) { GetWorkViewSelection.Items.Add(new Telerik.Web.UI.RadComboBoxItem(currentWorkQueueView.Name, currentWorkQueueView.Id.ToString())); UserViewWorkQueueViewSelection.Items.Add(new Telerik.Web.UI.RadComboBoxItem(currentWorkQueueView.Name, currentWorkQueueView.Id.ToString())); } } GetWorkViewSelection.SelectedValue = workQueue.GetWorkViewId.ToString(); UserViewWorkQueueViewSelection.SelectedValue = "0"; GetWorkUseGrouping.Checked = workQueue.GetWorkUseGrouping; UserViewGrid.DataSource = null; UserViewGrid.Rebind(); Dictionary <String, String> availableUsers = new Dictionary <String, String> (); Dictionary <String, String> deniedUsers = new Dictionary <String, String> (); // FOR EACH TEAM ASSOCIATED WITH THE WORK QUEUE foreach (Mercury.Server.Application.WorkQueueTeam currentWorkQueueTeam in workQueue.WorkTeams) { // GET ACTUAL TEAM OBJECT Client.Core.Work.WorkTeam workTeam = MercuryApplication.WorkTeamGet(currentWorkQueueTeam.WorkTeamId, true); // FOR EACH USER IN THE WORK TEAM foreach (Mercury.Server.Application.WorkTeamMembership currentMembership in workTeam.Membership) { String membershipKey = currentMembership.SecurityAuthorityId + "|" + currentMembership.UserAccountId + "|" + currentMembership.UserAccountName; String membershipName = currentMembership.SecurityAuthorityName + ": " + currentMembership.UserDisplayName; // CHECK THE PERMISSION TO ADD TO THE AVAILABLE OR DENIED switch (currentWorkQueueTeam.Permission) { case Mercury.Server.Application.WorkQueueTeamPermission.Denied: // DENIED USER CANNOT BE ADDED BY ANY TEAM if (!deniedUsers.ContainsKey(membershipKey)) { deniedUsers.Add(membershipKey, membershipName); } break; case Mercury.Server.Application.WorkQueueTeamPermission.View: // DO NOTHING, CANNOT ADD VIEW ONLY TO USER VIEWS (BUT THIS DOES NOT DENY THE USER FROM OTHER TEAMS) break; default: if (!availableUsers.ContainsKey(membershipKey)) { availableUsers.Add(membershipKey, membershipName); } break; } } } // REMOVE ALL DENIED USERS FROM THE AVAILABLE USERS LIST foreach (String currentDeniedUserKey in deniedUsers.Keys) { if (availableUsers.ContainsKey(currentDeniedUserKey)) { availableUsers.Remove(currentDeniedUserKey); } } // REMOVE EXISTING USERS VIEWS FROM AVAILABLE foreach (Mercury.Server.Application.WorkQueueGetWorkUserView currentUserView in workQueue.GetWorkUserViews) { String currentUserViewKey = currentUserView.SecurityAuthorityId + "|" + currentUserView.UserAccountId + "|" + currentUserView.UserAccountName; if (availableUsers.ContainsKey(currentUserViewKey)) { availableUsers.Remove(currentUserViewKey); } } UserViewAccountSelection.DataSource = availableUsers; UserViewAccountSelection.DataTextField = "Value"; UserViewAccountSelection.DataValueField = "Key"; UserViewAccountSelection.Sort = Telerik.Web.UI.RadComboBoxSort.Ascending; UserViewAccountSelection.DataBind(); return; }