Example #1
0
        public UsersManagement()
        {
            InitializeComponent();
            var usersManagementViewModel = new UsersManagementViewModel();

            DataContext = usersManagementViewModel;
        }
        public EditUser(User selectedUser)
        {
            InitializeComponent();
            var userManagementViewModelViewModel = new UsersManagementViewModel(selectedUser);

            DataContext = userManagementViewModelViewModel;
        }
Example #3
0
        public static UsersManagementViewModel MapUMViewModel(IDataReader reader, int index)
        {
            UsersManagementViewModel model = new UsersManagementViewModel
            {
                UserId        = reader.GetSafeInt32(index++),
                FirstName     = reader.GetSafeString(index++),
                MiddleInitial = reader.GetSafeString(index++),
                LastName      = reader.GetSafeString(index++),
                Email         = reader.GetSafeString(index++)
            };

            return(model);
        }
Example #4
0
        public ActionResult SaveAllowedEmailsDomains(UsersManagementViewModel model)
        {
            try
            {
                InsuranceBusiness.BusinessLayer.UpdateEmailAuthorizedForAutomaticApproval(model.SelectedAllowedEmails);
            }
            catch (Exception ex)
            {
                InsuranceBusiness.BusinessLayer.LogException(string.Format("{0} [{1}]", Request.UserHostAddress, model.Profile.ID_User), string.Format("{0}.{1}", this.ControllerContext.RouteData.Values["controller"].ToString(), this.ControllerContext.RouteData.Values["action"].ToString()), ex);
                return(View("Error"));
            }

            return(RedirectToAction("Index"));
        }
Example #5
0
        public ActionResult DownloadConsultantStatistics()
        {
            try
            {
                UsersManagementViewModel model = new UsersManagementViewModel();

                if (null != this.User && this.User.Identity.IsAuthenticated)
                {
                    var UserManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>();
                    var user        = UserManager.FindByName(this.User.Identity.Name);
                    if (null != user)
                    {
                        FillModel(model, user.Id, false);
                    }
                    else
                    {
                        return(RedirectToAction("LogOff", "Account"));
                    }
                }
                else
                {
                    return(RedirectToAction("Login", "Account"));
                }

                var gv = new System.Web.UI.WebControls.GridView();
                gv.DataSource = InsuranceBusiness.BusinessLayer.GetConsultantsStatistics();
                gv.DataBind();
                Response.ClearContent();
                Response.Buffer = true;
                Response.AddHeader("content-disposition", "attachment; filename=Estatisticas_Colaboradores.xls");
                Response.ContentType = "application/ms-excel";
                Response.Charset     = "";
                StringWriter   objStringWriter   = new StringWriter();
                HtmlTextWriter objHtmlTextWriter = new HtmlTextWriter(objStringWriter);
                gv.RenderControl(objHtmlTextWriter);
                Response.Output.Write(objStringWriter.ToString());
                Response.Flush();
                Response.End();

                return(View("Index", model));
            }
            catch (Exception ex)
            {
                InsuranceBusiness.BusinessLayer.LogException(string.Format("{0}", Request.UserHostAddress), string.Format("{0}.{1}", this.ControllerContext.RouteData.Values["controller"].ToString(), this.ControllerContext.RouteData.Values["action"].ToString()), ex);
                return(View("Error"));
            }
        }
Example #6
0
        public List <UsersManagementViewModel> UsersManagementGetAll()
        {
            List <UsersManagementViewModel> myList = new List <UsersManagementViewModel>();

            _dataProvider.ExecuteCmd(
                "UsersManagement_GetAll",
                inputParamMapper : null,
                singleRecordMapper : delegate(IDataReader reader, short set)
            {
                UsersManagementViewModel model = new UsersManagementViewModel();
                int index = 0;
                model     = MapUMViewModel(reader, index);
                myList.Add(model);
            });
            foreach (var um in myList)
            {
                Dictionary <string, UsersManagementRoleModel> userRoleDictionary = new Dictionary <string, UsersManagementRoleModel>();
                _dataProvider.ExecuteCmd(
                    "UsersManagement_GetUserRoles",
                    inputParamMapper : delegate(SqlParameterCollection paramList)
                {
                    paramList.AddWithValue("@UserId", um.UserId);
                },
                    singleRecordMapper : delegate(IDataReader reader, short set)
                {
                    int index = 0;
                    UsersManagementRoleModel ur = MapURDomainModel(reader, index);
                    userRoleDictionary.Add(ur.Role, ur);
                });
                um.Roles = new UsersManagementDomainModel()
                {
                    SystemAdmin              = userRoleDictionary["SystemAdmin"],
                    SystemImplementer        = userRoleDictionary["SystemImplementer"],
                    OrganizationAdmin        = userRoleDictionary["OrganizationAdmin"],
                    FundingSourceAdmin       = userRoleDictionary["FundingSourceAdmin"],
                    SchoolNgoAdmin           = userRoleDictionary["SchoolNgoAdmin"],
                    FundingSourceDirector    = userRoleDictionary["FundingSourceDirector"],
                    SchoolNgoDirector        = userRoleDictionary["SchoolNgoDirector"],
                    OrganizationCaseManager  = userRoleDictionary["OrganizationCaseManager"],
                    FundingSourceCaseManager = userRoleDictionary["FundingSourceCaseManager"],
                    SchoolNgoCaseManager     = userRoleDictionary["SchoolNgoCaseManager"],
                    ClientUser = userRoleDictionary["ClientUser"],
                };
            }
            return(myList);
        }
Example #7
0
        protected virtual void RegisterModules()
        {
            Logger logger = LogManager.GetCurrentClassLogger();

            logger.Info("test");
            logger.Error("test");
            logger.Fatal("test");
            Manager.Register(Regions.MainWindow, new Module(AppModules.Main, MainViewModel.Create, typeof(MainView)));
            //配置导航项
            Manager.Register(Regions.Navigation_ProjectsManagement, new Module(AppModules.ProjectsManagement, () => new NavigationItem("项目管理")));

            Manager.Register(Regions.Navigation_UsesManagement, new Module(AppModules.UsersManagement, () => new NavigationItem("人员管理")));

            Manager.Register(Regions.Navigation_UsesManagement, new Module(AppModules.OutsourcingGroupManagement, () => new NavigationItem("外包组")));

            Manager.Register(Regions.Navigation_SettlementManagement, new Module(AppModules.SettlementManagement, () => new NavigationItem("结算管理")));

            Manager.Register(Regions.Documents, new Module(AppModules.ProjectsManagement, () => ProjectsManagementViewModel.Create("项目管理", "项目管理模块"), typeof(ProjectsManagementView)));
            Manager.Register(Regions.Documents, new Module(AppModules.UsersManagement, () => UsersManagementViewModel.Create("人员管理", "人员管理模块"), typeof(UsersManagementView)));
            Manager.Register(Regions.Documents, new Module(AppModules.OutsourcingGroupManagement, () => UsersManagementViewModel.Create("外包组管理", "人员管理外包组管理"), typeof(UsersManagementView)));
            Manager.Register(Regions.Documents, new Module(AppModules.SettlementManagement, () => SettlementManagementViewModel.Create("结算管理", "结算管理模块"), typeof(SettlementManagementView)));
        }
Example #8
0
        public async Task <ActionResult> Index(long?ntId)
        {
            if (ntId.HasValue)
            {
                InsuranceBusiness.BusinessLayer.MarkNotificationAsRead(ntId.Value);
            }

            UsersManagementViewModel model = new UsersManagementViewModel();

            if (null != this.User && this.User.Identity.IsAuthenticated)
            {
                var UserManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>();
                var user        = await UserManager.FindByNameAsync(this.User.Identity.Name);

                if (null != user)
                {
                    FillModel(model, user.Id, false);
                    //model.Profile = InsuranceBusiness.BusinessLayer.GetUserProfile(user.Id);
                }
                else
                {
                    return(RedirectToAction("LogOff", "Account"));
                }
            }
            else
            {
                return(RedirectToAction("Login", "Account"));
            }

            try
            {
                var grid = MVCGridDefinitionTable.GetDefinition <UserProfileModelObject>("UsersManagementGrid");
            }
            catch (Exception)
            {
                MVCGridDefinitionTable.Add("UsersManagementGrid", new MVCGridBuilder <UserProfileModelObject>()
                                           .WithAuthorizationType(AuthorizationType.AllowAnonymous)
                                           //.WithSorting(sorting: true, defaultSortColumn: "Id", defaultSortDirection: SortDirection.Dsc)
                                           .AddColumns(cols =>
                {
                    // Add your columns here
                    cols.Add().WithColumnName("FirstName")
                    .WithHeaderText(Resources.Resources.FirstName)
                    .WithValueExpression(i => i.FirstName)
                    .WithAllowChangeVisibility(true)
                    .WithFiltering(true)
                    .WithSorting(true)
                    .WithVisibility(true, true);     // use the Value Expression to return the cell text for this column
                    cols.Add().WithColumnName("LastName")
                    .WithHeaderText(Resources.Resources.LastName)
                    .WithValueExpression(i => i.LastName)
                    .WithAllowChangeVisibility(true)
                    .WithFiltering(true)
                    .WithSorting(true)
                    .WithVisibility(true, true);     // use the Value Expression to return the cell text for this column
                    cols.Add().WithColumnName("Username")
                    .WithHeaderText(Resources.Resources.Email)
                    .WithValueExpression(i => i.User.UserName)
                    .WithAllowChangeVisibility(true)
                    .WithFiltering(true)
                    .WithSorting(true)
                    .WithVisibility(true, true);     // use the Value Expression to return the cell text for this column
                    cols.Add().WithColumnName("ProfessionalNumber")
                    .WithHeaderText(Resources.Resources.ProfessionalNumber)
                    .WithValueExpression(i => i.ProfessionalNumber)
                    .WithAllowChangeVisibility(true)
                    .WithFiltering(true)
                    .WithSorting(true)
                    .WithVisibility(true, true);     // use the Value Expression to return the cell text for this column
                    cols.Add("CreateDate")
                    .WithSorting(true)
                    .WithHeaderText(Resources.Resources.RegisterDate)
                    .WithCellCssClassExpression(p => "dateCell")
                    .WithValueExpression(p => p.CreateDate.ToString("dd-MM-yyyy"))
                    .WithVisibility(true, true);
                    cols.Add("Active").WithHtmlEncoding(false)
                    .WithSorting(true)
                    .WithHeaderText(Resources.Resources.Active)
                    .WithValueExpression((p, c) => !p.User.LockoutEndDateUtc.HasValue ? "checked" : "")
                    .WithValueTemplate("<input type=\"checkbox\" disabled=\"disabled\" {Value}>")
                    .WithCellCssClassExpression(p => "mvcgrid-cell")
                    .WithVisibility(true, true);
                    cols.Add("Edit").WithHtmlEncoding(false)
                    .WithSorting(false)
                    .WithHeaderText(" ")
                    .WithValueExpression((p, c) => c.UrlHelper.Action("Edit", "UsersManagement", new { id = p.ID }))
                    .WithValueTemplate("<a href='{Value}' class='btn btn-warning lnkEdit'>" + Resources.Resources.Edit + "</a>")
                    .WithVisibility(true, false);
                    cols.Add("Delete").WithHtmlEncoding(false)
                    .WithSorting(false)
                    .WithHeaderText(" ")
                    .WithValueExpression((p, c) => c.UrlHelper.Action("Delete", "UsersManagement", new { id = p.ID }))
                    .WithValueTemplate("<a href='{Value}' class='btn btn-danger lnkDelete' role='button'>" + Resources.Resources.Delete + "</a>")
                    .WithVisibility(true, false);
                })
                                           .WithAdditionalQueryOptionNames("Search")
                                           .WithSorting(true, "FirstName")
                                           .WithPaging(paging: true, itemsPerPage: 100, allowChangePageSize: true, maxItemsPerPage: 100)
                                           .WithProcessingMessage(Resources.Resources.Loading)
                                           .WithNextButtonCaption(Resources.Resources.Next)
                                           .WithPreviousButtonCaption(Resources.Resources.Previous)
                                           .WithSummaryMessage(Resources.Resources.ShowingGridEntries)
                                           .WithRetrieveDataMethod((context) =>
                {
                    // Query your data here. Obey Ordering, paging and filtering parameters given in the context.QueryOptions.
                    // Use Entity Framework, a module from your IoC Container, or any other method.
                    // Return QueryResult object containing IEnumerable<YouModelItem>

                    var options = context.QueryOptions;
                    var result  = new QueryResult <UserProfileModelObject>();
                    var query   = BusinessItemsLists.GetUsers();
                    if (!String.IsNullOrWhiteSpace(options.SortColumnName))
                    {
                        switch (options.SortColumnName.ToLower())
                        {
                        case "firstname":
                            if (options.SortDirection == SortDirection.Asc ||
                                options.SortDirection == SortDirection.Unspecified)
                            {
                                query = query.OrderBy(p => p.FirstName).ToList();
                            }
                            else
                            {
                                query = query.OrderByDescending(p => p.FirstName).ToList();
                            }

                            break;

                        case "lastname":
                            if (options.SortDirection == SortDirection.Asc ||
                                options.SortDirection == SortDirection.Unspecified)
                            {
                                query = query.OrderBy(p => p.LastName).ToList();
                            }
                            else
                            {
                                query = query.OrderByDescending(p => p.LastName).ToList();
                            }

                            break;

                        case "username":
                            if (options.SortDirection == SortDirection.Asc ||
                                options.SortDirection == SortDirection.Unspecified)
                            {
                                query = query.OrderBy(p => p.User.UserName).ToList();
                            }
                            else
                            {
                                query = query.OrderByDescending(p => p.User.UserName).ToList();
                            }

                            break;

                        case "active":
                            if (options.SortDirection == SortDirection.Asc ||
                                options.SortDirection == SortDirection.Unspecified)
                            {
                                query = query.OrderBy(p => p.Active).ToList();
                            }
                            else
                            {
                                query = query.OrderByDescending(p => p.Active).ToList();
                            }

                            break;

                        case "createdate":
                            if (options.SortDirection == SortDirection.Asc ||
                                options.SortDirection == SortDirection.Unspecified)
                            {
                                query = query.OrderBy(p => p.CreateDate).ToList();
                            }
                            else
                            {
                                query = query.OrderByDescending(p => p.CreateDate).ToList();
                            }

                            break;
                        }
                    }

                    string globalSearch = options.GetAdditionalQueryOptionString("Search");
                    if (null != globalSearch)
                    {
                        query = query.Where(i =>
                                            (null != i.FirstName && i.FirstName.ToLower().Contains(globalSearch.ToLower())) ||
                                            (null != i.LastName && i.LastName.ToLower().Contains(globalSearch.ToLower())) ||
                                            (null != i.User && null != i.User.UserName && i.User.UserName.ToLower().Contains(globalSearch.ToLower()))
                                            //|| (null != i.ContactEmail && i.ContactEmail.Contains(globalSearch))
                                            ).ToList();
                    }

                    result.TotalRecords = query.Count();

                    if (options.GetLimitOffset().HasValue)
                    {
                        query = query
                                .Skip(options.GetLimitOffset().Value)
                                .Take(options.GetLimitRowcount().Value)
                                .ToList();
                    }

                    result.Items = query;

                    return(result);

                    //return new QueryResult<UserProfileModelObject>()
                    //{
                    //    Items = query,
                    //    TotalRecords = query.Count // if paging is enabled, return the total number of records of all pages
                    //};
                })
                                           );
            }

            return(View(model));
        }