예제 #1
0
        private void StepInit(string stepID)
        {
            XPathNavigator mainSourceNav = this.MainDataSource.CreateNavigator();

            GetUnits();

            WorkFlow wf = new WorkFlow();

            string parammsStr = String.Format("<Parametrs><Param Name='CurrentUser'>{0}</Param></Parametrs>",
                                                System.Environment.UserName.ToLower()
                                              );
            XmlNode stepNode = wf.GetSteps(
                                            _xmlFileConfigUrl,
                                            parammsStr,
                                            "1",
                                            "1",
                                            stepID
                                          );

            mainSourceNav.SelectSingleNode("/my:myFields/my:Functionality/my:StepID", NamespaceManager).SetValue(stepID);
            mainSourceNav.SelectSingleNode("/my:myFields/my:Functionality/my:StepName", NamespaceManager).SetValue(stepNode.SelectSingleNode("CurrentStep").Attributes["Name"].Value);

            _prevStepID = stepNode.SelectSingleNode("PrevStep").Attributes["Id"].Value;
            _nextStepID = stepNode.SelectSingleNode("NextStep").Attributes["Id"].Value;

            string currUser = System.Environment.UserName.ToLower();
            DataSources["Vars"].CreateNavigator().SelectSingleNode("/Root/ReadAccess").SetValue("0");
            DataSources["Vars"].CreateNavigator().SelectSingleNode("/Root/BtnSaveAccess").SetValue("0");
            DataSources["Vars"].CreateNavigator().SelectSingleNode("/Root/BtnProcessingAccess").SetValue("0");
            DataSources["Vars"].CreateNavigator().SelectSingleNode("/Root/GeneralFieldAccess").SetValue("0");

            if (stepNode.SelectSingleNode("CurrentStep/Read/Users").InnerText.Contains(currUser))
            {
                DataSources["Vars"].CreateNavigator().SelectSingleNode("/Root/ReadAccess").SetValue("1");
                if (_isNewItem)
                {
                    DataSources["Vars"].CreateNavigator().SelectSingleNode("/Root/BtnProcessingAccess").SetValue("1");
                }
            }

            if (stepNode.SelectSingleNode("CurrentStep/Save/Users").InnerText.Contains(currUser))
            {
                DataSources["Vars"].CreateNavigator().SelectSingleNode("/Root/ReadAccess").SetValue("0");
                DataSources["Vars"].CreateNavigator().SelectSingleNode("/Root/BtnSaveAccess").SetValue("1");
                if (_isNewItem)
                {
                    DataSources["Vars"].CreateNavigator().SelectSingleNode("/Root/BtnProcessingAccess").SetValue("1");
                }
                else
                {
                    DataSources["Vars"].CreateNavigator().SelectSingleNode("/Root/GeneralFieldAccess").SetValue("1");
                }
            }
        }
예제 #2
0
파일: FormCode.cs 프로젝트: iurcik/Projects
        private void StepInit(string stepID)
        {
            XPathNavigator mainSourceNav = this.MainDataSource.CreateNavigator();

            WorkFlow wf = new WorkFlow();

            string currUser = System.Environment.UserName.ToLower();

            string parammsStr = String.Format("<Parametrs><Param Name='CurrentUser'>{0}</Param></Parametrs>",
                                                currUser);
            XmlNode stepNode = wf.GetSteps(
                                            _xmlFileConfigUrl,
                                            parammsStr,
                                            "1",
                                            "1",
                                            stepID
                                          );

            DataSources["Vars"].CreateNavigator().SelectSingleNode("/Root/ReadAccess").SetValue("0");

            if (stepNode.SelectSingleNode("CurrentStep/Read/Users").InnerText.Contains(currUser))
            {
                DataSources["Vars"].CreateNavigator().SelectSingleNode("/Root/ReadAccess").SetValue("1");
            }

            if (stepNode.SelectSingleNode("CurrentStep/Save/Users").InnerText.Contains(currUser))
            {
                DataSources["Vars"].CreateNavigator().SelectSingleNode("/Root/ReadAccess").SetValue("0");
            }
        }