コード例 #1
0
        public override async void Save()
        {
            if (!this.IsValid)
            {
                return;
            }

            if (Mode == ActionMode.Add)
            {
                var addResult = await service.AddUserAsync(Model);

                if (addResult)
                {
                    this.GetPageData(this.PageIndex);
                }
            }
            else
            {
                var updateResult = await service.UpdateUserAsync(Model);

                if (updateResult)
                {
                    var model = GridModelList.FirstOrDefault(t => t.Id == Model.Id);
                    if (model != null)
                    {
                        GridModelList.Remove(model);
                        GridModelList.Add(Model);
                    }
                }
            }
            base.Save();
        }
コード例 #2
0
        public override async void Del <TModel>(TModel CurrentGroup)
        {
            if (!this.GetButtonAuth(Authority.DELETE))
            {
                return;
            }

            if (CurrentGroup != null)
            {
                try
                {
                    tb_Group group = CurrentGroup as tb_Group;
                    if (await Msg.Question(string.Format(Configuration.GROUP_DELETE_TITLE, group.GroupName)))
                    {
                        var req = await ZFSBridge.BridgeFactory.BridgeManager.GetGroupManager().Remove(group.isid);

                        if (req.Success)
                        {
                            var gp = GridModelList.FirstOrDefault(t => t.isid.Equals(group.isid));
                            GridModelList.Remove(gp);
                            Msg.Info(Configuration.DELETE_MSG);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Msg.Error(ex.Message, false);
                }
            }
        }
コード例 #3
0
ファイル: DictionaryViewModel.cs プロジェクト: LimGoSky/ZFS
        public override async void Del <TModel>(TModel model)
        {
            if (!this.GetButtonAuth(Authority.DELETE))
            {
                return;
            }

            if (model != null)
            {
                var dic = model as tb_Dictionary;

                bool result = await Msg.Question(string.Format(Configuration.DIC_EDIT_TITLE, dic.NativeName));

                try
                {
                    if (result)
                    {
                        var DicSerivce = ZFSBridge.BridgeFactory.BridgeManager.GetDictionaryManager();
                        var req        = await DicSerivce.DeleteEntity(dic);

                        if (req.Success)
                        {
                            var mod = GridModelList.FirstOrDefault(t => t.isid.Equals(dic.isid));
                            GridModelList.Remove(mod);
                            Msg.Info(Configuration.DELETE_MSG);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Msg.Error(ex.Message, false);
                }
            }
        }
コード例 #4
0
        public override async void Del <TModel>(TModel CurrentUser)
        {
            if (!this.GetButtonAuth(Authority.DELETE))
            {
                return;
            }

            if (CurrentUser != null)
            {
                var model = CurrentUser as tb_User;

                bool result = await Msg.Question(string.Format(Configuration.USER_DELETE_TITLE, model.UserName));

                try
                {
                    if (result)
                    {
                        ZFSInterface.User.IUser userSerivce = ZFSBridge.BridgeFactory.BridgeManager.GetUserManager();
                        var req = await userSerivce.DeleteEntity(model);

                        if (req.Success)
                        {
                            var mod = GridModelList.FirstOrDefault(t => t.isid.Equals(model.isid));
                            GridModelList.Remove(mod);
                            Msg.Info(Configuration.DELETE_MSG);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Msg.Error(ex.Message, false);
                }
            }
        }
コード例 #5
0
ファイル: MainViewModel.cs プロジェクト: jaywhen/Pmer
        public void Edit(int id)
        {
            var model = fakedb.GetStudentById(id);

            if (model != null)
            {
                UserView view = new UserView(model);
                var      r    = view.ShowDialog();
                if (r.Value)
                {
                    var newModel = GridModelList.FirstOrDefault(t => t.Id == model.Id);
                    if (newModel != null)
                    {
                        newModel.Name = model.Name;
                    }
                }
            }
        }
コード例 #6
0
        public override async void Edit <T>(T CurrentUser)
        {
            if (!this.GetButtonAuth(Authority.EDIT))
            {
                return;
            }

            if (CurrentUser != null)
            {
                try
                {
                    UserDialogViewModel view = new UserDialogViewModel();
                    view.Title = Configuration.USER_EDIT_TITLE;
                    var request = await ZFSBridge.BridgeFactory.BridgeManager.GetUserManager().GetModelByAccount((CurrentUser as tb_User).Account);

                    view.User          = request.Results;
                    view.User.Password = CEncoder.Decode(view.User.Password);/*解密*/
                    var dialog = ServiceProvider.Instance.Get <IModelDialog>("UserViewDlg");
                    dialog.BindViewModel(view);
                    var taskResult = await dialog.ShowDialog(
                        null,
                        view.ExtendedClosingEventHandler);

                    if (taskResult)
                    {
                        ZFSInterface.User.IUser userSerivce = await Task.Run(() => ZFSBridge.BridgeFactory.BridgeManager.GetUserManager());

                        view.User.Password = CEncoder.Encode(view.User.Password);/*加密*/
                        var req = await userSerivce.UpdateEntity(view.User);

                        if (req.Success)
                        {
                            var mod = GridModelList.FirstOrDefault(t => t.isid.Equals(view.User.isid));
                            GridModelList.Remove(mod);
                            GridModelList.Add(view.User);
                            Msg.Info(Configuration.ADD_MSG);
                        }
                    }
                }
                catch (Exception ex)
                { Msg.Error(ex.Message, false); }
            }
        }
コード例 #7
0
ファイル: DictionaryViewModel.cs プロジェクト: LimGoSky/ZFS
        public override async void Edit <TModel>(TModel model)
        {
            if (!this.GetButtonAuth(Authority.EDIT))
            {
                return;
            }

            if (model != null)
            {
                try
                {
                    DictionaryDialogViewModel view = new DictionaryDialogViewModel();
                    view.Title      = Configuration.DIC_EDIT_TITLE;
                    view.Dictionary = model as tb_Dictionary;
                    view.TypeList   = (await ZFSBridge.BridgeFactory.BridgeManager.GetDictionaryTypeManager().GetDictionaryTypes()).Results;
                    var dialog = ServiceProvider.Instance.Get <IModelDialog>("DictionaryViewDlg");
                    dialog.BindViewModel(view);
                    var taskResult = await dialog.ShowDialog(
                        null,
                        view.ExtendedClosingEventHandler);

                    if (taskResult)
                    {
                        view.Dictionary.LastUpdatedBy  = Loginer.LoginerUser.UserName;
                        view.Dictionary.LastUpdateDate = DateTime.Now;
                        var dicSerivce = ZFSBridge.BridgeFactory.BridgeManager.GetDictionaryManager();
                        var req        = await dicSerivce.UpdateEntity(view.Dictionary);

                        if (req.Success)
                        {
                            var mod = GridModelList.FirstOrDefault(t => t.isid.Equals(view.Dictionary.isid));
                            GridModelList.Remove(mod);
                            GridModelList.Add(view.Dictionary);
                            Msg.Info(Configuration.UPDATE_MSG);
                        }
                    }
                }
                catch (Exception ex)
                { Msg.Error(ex.Message, false); }
            }
        }
コード例 #8
0
        public override async void Edit <TModel>(TModel CurrentGroup)
        {
            if (!this.GetButtonAuth(Authority.EDIT))
            {
                return;
            }

            if (CurrentGroup != null)
            {
                try
                {
                    GroupDialogViewModel view = new GroupDialogViewModel();
                    view.Title           = Configuration.GROUP_EDIT_TITLE;
                    view.IsReadOnly      = true;
                    view.Group           = ClassOperation.CopyByReflect(CurrentGroup as tb_Group);
                    view.MenuGroupModels = new List <MenuGroupModel>(MenuManager.ModuleGroups.ToArray());

                    var req = await ZFSBridge.BridgeFactory.BridgeManager.GetGroupManager().GetGroupFuncs(view.Group.GroupCode);

                    if (req.Success)
                    {
                        var funcList = req.Results as List <tb_GroupFunc>;
                        funcList.ForEach(t =>
                        {
                            view.MenuGroupModels.ForEach(q =>
                            {
                                q.Nodes.ForEach(w =>
                                {
                                    if (w.MenuCode.Equals(t.MenuCode))
                                    {
                                        w.IsChecked = true;
                                        w.Nodes.ForEach(s =>
                                        {
                                            if ((t.Authorities & s.AuthValue) == s.AuthValue)
                                            {
                                                s.IsChecked = true;
                                            }
                                        });
                                    }
                                });
                                if (q.Nodes.Where(x => x.IsChecked.Equals(true)).Count() == q.Nodes.Count)
                                {
                                    q.IsChecked = true;
                                }
                            });
                        });
                    }

                    var req_userGroup = await ZFSBridge.BridgeFactory.BridgeManager.GetGroupManager().GetGroupUsers(view.Group.GroupCode); //获取用户组

                    if (req_userGroup.Success)
                    {
                        view.CaCheUser = req_userGroup.Results as List <View_GroupUser>;
                    }
                    var dialog = ServiceProvider.Instance.Get <IModelDialog>("GroupViewDlg");
                    dialog.BindViewModel(view);
                    var taskResult = await dialog.ShowDialog(null, view.ExtendedClosingEventHandler);

                    if (taskResult)
                    {
                        List <tb_GroupFunc> FuncList = new List <tb_GroupFunc>();
                        view.MenuGroupModels.ForEach(t =>
                        {
                            var node = t.Nodes.Where(q => q.IsChecked.Equals(true)).ToList();
                            if (node.Count > 0)
                            {
                                node.ForEach(s =>
                                {
                                    FuncList.Add(new tb_GroupFunc()
                                    {
                                        GroupCode   = view.Group.GroupCode,
                                        MenuCode    = s.MenuCode,
                                        Authorities = s.Nodes.Where(q => q.IsChecked.Equals(true)).Sum(w => w.AuthValue)
                                    });
                                });
                            }
                        });
                        IGroup groupSerivce = ZFSBridge.BridgeFactory.BridgeManager.GetGroupManager();
                        var    reqUpdate    = await groupSerivce.UpdateGroupFunc(view.Group, view.CaCheUser, FuncList);

                        if (reqUpdate.Success)
                        {
                            var EditGroup = GridModelList.FirstOrDefault(t => t.isid.Equals(view.Group.isid));
                            EditGroup.GroupName = view.Group.GroupName;
                        }
                        Msg.Info(Configuration.UPDATE_MSG);
                    }
                    view.Reset(view.MenuGroupModels);
                }
                catch (Exception ex)
                {
                    Msg.Error(ex.Message, false);
                }
            }
        }