Example #1
0
        public List<User> Select(UserFilter filter)
        {
            if (filter == null) return null;

            List<User> list = null;

            using (var db = new DozpContext())
            {
                list = (from u in db.Users.Include(e => e.Roles)
                        where (String.IsNullOrEmpty(filter.UserName) || u.UserName == filter.UserName) &&
                              (0 == filter.InstitutionID || u.InstitutionID == filter.InstitutionID) &&
                              (0 == filter.CatalogueID || u.Institution.Catalogues.Count(c => c.CatalogueID == filter.CatalogueID) > 0) &&
                              (String.IsNullOrEmpty(filter.RoleName) || u.Roles.Count(r => r.RoleName == filter.RoleName) == 1) &&
                              (!filter.IsApproved.HasValue || u.IsApproved == filter.IsApproved.Value) &&
                              (u.UserName != "system")
                        orderby u.FullName
                        select u).ToList();
            }

            if (list != null)
            {
                foreach (var item in list)
                {
                    SetUserRoleName(item);
                }
            }

            return list;
        }
Example #2
0
        public List<User> GetList(UserFilter filter)
        {
            if (filter == null) throw new ArgumentNullException("filter");

            UserRepository repository = new UserRepository();
            return repository.Select(filter);
        }
Example #3
0
        public List<User> GetByInstitutionID(int institutionID, bool active, string sortExpression)
        {
            UserFilter filter = new UserFilter();
            filter.InstitutionID = institutionID;
            filter.IsApproved = (active ? (bool?)true : null);

            return GetList(filter).OrderBy(sortExpression).ToList();
        }
Example #4
0
        public void LoadUsers(int catalogueID)
        {
            this.CatalogueID = catalogueID;

            //Institution institution = InstitutionComponent.Instance.GetByID(this.InstitutionID);

            //if (institution != null)
            //{
            //    this.FilterHeader.InnerText = (institution.Sigla == "") ? "Katalogizátoři" : "Pracovníci OCR";
            //}

            this.DropDownList.Items.Clear();

            if (Roles.IsUserInRole(RoleConstants.ADMINISTRATOR) || Roles.IsUserInRole(RoleConstants.SUPERVISOR))
            {
                UserFilter filter = new UserFilter();
                filter.CatalogueID = this.CatalogueID;
                filter.IsApproved = true;

                this.DropDownList.DataTextField = "FullName";
                this.DropDownList.DataValueField = "UserName";
                this.DropDownList.DataSource = UserComponent.Instance.GetList(filter);
                this.DropDownList.DataBind();

                if (EmptyVisible)
                {
                    this.DropDownList.Items.Insert(0, new ListItem("(Všichni)", String.Empty));
                }
            }
            else
            {
                UserProfile profile = UserProfile.GetUserProfile();
                if (profile != null)
                {
                    this.DropDownList.Items.Add(new ListItem(profile.FullName, profile.UserName));
                }
            }
        }