Example #1
0
        protected void Step2_Personal_Deactivate(object sender, EventArgs e)
        {
            using (WebUserInfosController wuic = new WebUserInfosController())
            {
                // add new info
                WebUserInfo info = new WebUserInfo()
                {
                    FName = txtFirstName.Text,
                    MInitial = string.IsNullOrWhiteSpace(txtMiddleInitial.Text) ? (char?)null : (char)txtMiddleInitial.Text.ToCharArray(0, 1)[0],
                    LName = txtLastName.Text,
                    UserID = UserID.Value
                };

                wuic.AddNew(info);
            }
        }
Example #2
0
        // The return type can be changed to IEnumerable, however to support
        // paging and sorting, the following parameters must be added:
        //     int maximumRows
        //     int startRowIndex
        //     out int totalRowCount
        //     string sortByExpression
        public IQueryable gvAllUsers_GetData()
        {
            using (WebUsersController wuc = new WebUsersController())
            using(WebUserInfosController wuic = new WebUserInfosController())
            {
                var allInfo = wuic.Get().Select(i=> new {
                    UserID = i.UserID,
                    FirstName = i.FName,
                    LastName = i.LName
                });
                var allUsers = wuc.Get();

                var joined = allUsers.GroupJoin(allInfo, i => i.UserID, j => j.UserID, (i, j) => new { Login = i, Info = j.FirstOrDefault() });

                return joined.Select(i => new UserResult()
                {
                    Email = i.Login.Email,
                    FirstName = i.Info == null ? null : i.Info.FirstName,
                    LastName = i.Info == null ? null : i.Info.LastName,
                    UserID = i.Login.UserID
                }).OrderBy(i => i.LastName).ThenBy(i => i.FirstName).AsQueryable<UserResult>();
            }
        }