예제 #1
0
        private void AliceSubmitButton_Click(object sender, RoutedEventArgs e)
        {
            string strName = "维修任务_" + DateTime.Now.ToShortTimeString();

            if (mainDataSet.GetTaskItem(strName) != null)
            {
                ShowStatus("Task: " + strName + " already exists.");
                return;
            }
            DateTime      dDate   = DateTime.Now + new TimeSpan(14, 0, 0, 0);
            ProcedureTask newTask = new ProcedureTask(strName, DateTime.Now, dDate, strName);
            TaskType      curType = mainDataSet.GetTypeItem("维修任务");

            if (curType == null)
            {
                ShowStatus("Task Type: " + curType.Name + " isn't exists.");
                return;
            }
            newTask.UpdateRealtion(curType,
                                   mainDataSet.GetUserItem("Alice"),
                                   curType.BindingProcedure.GetFirstStep(),
                                   mainDataSet.GetQlevelItem("Q1"));
            mainDataSet.InsertProcedureTask(newTask);
            mainDataSet.UpdateRuntimeDataSet();
        }
예제 #2
0
        public void ExtractRelation(IfDataStrategy DataReader, MainDataSet dataset)
        {
            this.user.ExtractRelation(DataReader, dataset);
            //InferiorUsers[1:n]
            List <string> inferiors = DataReader.GetDNodesBySNodeandEdgeType(this.Name, this.Type, "Inferior");

            foreach (string username in inferiors)
            {
                this.uInferiors.Add(dataset.GetUserItem(username));
            }
        }
예제 #3
0
        private void EditUser()
        {
            IfUser curUser;

            strName = NameComboBox.Text;
            curUser = mainDataSet.GetUserItem(strName);
            if (curUser == null)
            {
                InputWarning.PlacementTarget = NewNameBox;
                WarningInfo.Text             = "Selected User is not exists in DB.";
                InputWarning.IsOpen          = true;
                return;
            }
            curUser.Password = strPassword;
            RefreshUserGroup(curUser);
            if (TypeComboBox.Text == "Manager")
            {
                RefreshInferior((Manager)curUser);
            }
            return;
        }
        private void RefreshUsers(UserGroup curUserGroup)
        {
            bool          bolIsExist;
            List <string> insertUsers;
            List <IfUser> deleteUsers;

            //比较两表生成一个Insert表,一个Delete表
            deleteUsers = new List <IfUser>();
            foreach (IfUser curUser in curUserGroup.Users)
            {
                bolIsExist = false;
                foreach (string sItem in Users)
                {
                    if (curUser.Name == sItem)
                    {
                        bolIsExist = true;
                    }
                }
                if (bolIsExist == false)
                {
                    deleteUsers.Add(curUser);
                }
            }
            insertUsers = new List <string>();
            foreach (string sItem in Users)
            {
                bolIsExist = false;
                foreach (IfUser curUser in curUserGroup.Users)
                {
                    if (curUser.Name == sItem)
                    {
                        bolIsExist = true;
                    }
                }
                if (bolIsExist == false)
                {
                    insertUsers.Add(sItem);
                }
            }
            if (deleteUsers.Count != 0)
            {
                foreach (IfUser curUser in deleteUsers)
                {
                    curUserGroup.Users.Remove(curUser);
                    curUser.UserGroups.Remove(curUserGroup);
                }
            }
            if (insertUsers.Count != 0)
            {
                IfUser newUser;
                foreach (string curItem in insertUsers)
                {
                    newUser = mainDataSet.GetUserItem(curItem);
                    if (newUser == null)
                    {
                        continue;
                    }
                    curUserGroup.Users.Add(newUser);
                    newUser.UserGroups.Add(curUserGroup);
                }
            }
        }