示例#1
0
        void MoveTaskAlertForm_onUpdateRegionFailed(UpdateRegionRequest request, System.Net.HttpStatusCode statusCode, string messageText)
        {
            if (!request.Type.Equals(UpdateRegionType.MoveTasksToNewRegion.ToString()))
                return;

            OKButton.Enabled = true;
            MessageBox.Show(messageText + "failed, status=" + statusCode.ToString());
            Close();
        }
示例#2
0
        private void AddReagionToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string regionName = "";
            if (DialogResult.Cancel == InputDialog.Show("Add region",
                "Input region name",
                ref regionName,
                new CheckInputDelegate(CheckRegionName)))
                return;

            UpdateRegionRequest request = new UpdateRegionRequest();
            request.Type = UpdateRegionType.AddRegion.ToString();
            request.Region = new SubRegion();
            request.Region.ParentID = ((SubRegion)RegionTreeView.SelectedNode.Tag).ID;
            request.Region.Name = regionName;

            HTTPAgent.instance().updateRegion(this, DataCenter.Instance().GlobalRegion.Version, request, "Add region '" + regionName + "'", null);
        }
示例#3
0
        void WorkspaceForm_onUpdateRegionFailed(UpdateRegionRequest request, System.Net.HttpStatusCode statusCode, string messageText)
        {
            if (request.Type.Equals(UpdateRegionType.MoveTasksToNewRegion.ToString()))
                return;

            MessageBox.Show(messageText + " failed, status=" + statusCode.ToString());

            if (UpdateRegionType.AddRegion.ToString().Equals(request.Type))
            {
                ReLoad();
                FocusNode(NodeType.Region, request.Region.ParentID);
            }
            else if (UpdateRegionType.RenameRegion.ToString().Equals(request.Type))
            {
                ReLoad();
                FocusNode(NodeType.Region, request.Region.ID);
            }
            else if (UpdateRegionType.RemoveRegion.ToString().Equals(request.Type))
            {
                ReLoad();
                FocusNode(NodeType.Region, request.Region.ID);
            }
            else if (UpdateRegionType.AddManager.ToString().Equals(request.Type))
            {
                ReLoad();
                FocusNode(NodeType.RegionManagers, request.Region.ID);
            }
            else if (UpdateRegionType.RemoveManager.ToString().Equals(request.Type))
            {
                ReLoad();
                FocusNode(NodeType.RegionManagers, request.Region.ID);
            }
            else if (UpdateRegionType.AddSite.ToString().Equals(request.Type))
            {
                ReLoad();
                FocusNode(NodeType.RegionSites, request.Region.ID);
            }
            else if (UpdateRegionType.RemoveSite.ToString().Equals(request.Type))
            {
                ReLoad();
                FocusNode(NodeType.RegionSites, request.Region.ID);
            }
            else if (UpdateRegionType.UpdateChanSettingID.ToString().Equals(request.Type))
            {
                ReLoad();
                FocusNode(NodeType.RegionChannelSetting, request.Region.ID);
            }
            else if (UpdateRegionType.UpdateLinkConfigID.ToString().Equals(request.Type))
            {
                ReLoad();
                FocusNode(NodeType.RegionLinkConfiguration, request.Region.ID);
            }
            else if (UpdateRegionType.UpdateEquipParamID.ToString().Equals(request.Type))
            {
                ReLoad();
                FocusNode(NodeType.RegionEquipmentParameter, request.Region.ID);
            }
        }
示例#4
0
        private void UnSetLinkToolStripMenuItem_Click(object sender, EventArgs e)
        {
            long linkID = ((LinkModel)WorkspaceTreeView.SelectedNode.Tag).ID;
            if (MessageBox.Show("Unset link setting '" + DataCenter.Instance().LinkConfigurationDescriptions[linkID].Title,
                "Warning", MessageBoxButtons.YesNo) == DialogResult.No)
            {
                return;
            }

            TreeNode linkNode = WorkspaceTreeView.SelectedNode;
            SubRegion originRegion = (SubRegion)linkNode.Parent.Parent.Tag;
            UpdateRegionRequest request = new UpdateRegionRequest();
            request.Type = UpdateRegionType.UpdateLinkConfigID.ToString();
            request.Region = new SubRegion();
            request.Region.ID = originRegion.ID;
            request.Region.LinkConfigurationID = -1;

            HTTPAgent.instance().updateRegion(this, DataCenter.Instance().GlobalRegion.Version, request,
                "Change link id to '-1'", linkNode);
        }
示例#5
0
        private void UnSetEquipmentToolStripMenuItem_Click(object sender, EventArgs e)
        {
            long equipmentID = ((EquipmentModel)WorkspaceTreeView.SelectedNode.Tag).ID;
            if (MessageBox.Show("Unset equipment setting '" + DataCenter.Instance().EquipmentParameterDescriptions[equipmentID].Title,
                "Warning", MessageBoxButtons.YesNo) == DialogResult.No)
            {
                return;
            }

            TreeNode equipmentNode = WorkspaceTreeView.SelectedNode;
            SubRegion originRegion = (SubRegion)equipmentNode.Parent.Parent.Tag;
            UpdateRegionRequest request = new UpdateRegionRequest();
            request.Type = UpdateRegionType.UpdateEquipParamID.ToString();
            request.Region = new SubRegion();
            request.Region.ID = originRegion.ID;
            request.Region.EquipmentParameterID = -1;

            HTTPAgent.instance().updateRegion(this, DataCenter.Instance().GlobalRegion.Version, request,
                "Change equipment id to '-1'", equipmentNode);
        }
示例#6
0
        private void SetLinkToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LinkConfigurationManagementForm linkConfigurationManagmentForm = new LinkConfigurationManagementForm();
            linkConfigurationManagmentForm.UseForSelect = true;
            if (linkConfigurationManagmentForm.ShowDialog() == DialogResult.Cancel)
                return;

            long selectedLink = linkConfigurationManagmentForm.SelectedLink;
            if (selectedLink == -1)
                return;

            TreeNode linkNode = WorkspaceTreeView.SelectedNode;
            SubRegion originRegion = (SubRegion)linkNode.Parent.Parent.Tag;

            UpdateRegionRequest request = new UpdateRegionRequest();
            request.Type = UpdateRegionType.UpdateLinkConfigID.ToString();
            request.Region = new SubRegion();
            request.Region.ID = originRegion.ID;
            request.Region.LinkConfigurationID = selectedLink;

            HTTPAgent.instance().updateRegion(this, DataCenter.Instance().GlobalRegion.Version, request,
                "Change link id to '" + selectedLink + "'", linkNode);
        }
示例#7
0
        private void SetEquipmentToolStripMenuItem_Click(object sender, EventArgs e)
        {
            EquipmentParameterManagementForm equipmentManagmentForm = new EquipmentParameterManagementForm();
            equipmentManagmentForm.UseForSelect = true;
            if (equipmentManagmentForm.ShowDialog() == DialogResult.Cancel)
                return;

            long selectedEquipment = equipmentManagmentForm.SelectedEquipment;
            if (selectedEquipment == -1)
                return;

            TreeNode equipmentNode = WorkspaceTreeView.SelectedNode;
            SubRegion originRegion = (SubRegion)equipmentNode.Parent.Parent.Tag;

            UpdateRegionRequest request = new UpdateRegionRequest();
            request.Type = UpdateRegionType.UpdateEquipParamID.ToString();
            request.Region = new SubRegion();
            request.Region.ID = originRegion.ID;
            request.Region.EquipmentParameterID = selectedEquipment;

            HTTPAgent.instance().updateRegion(this, DataCenter.Instance().GlobalRegion.Version, request,
                "Change equipment id to '" + selectedEquipment + "'", equipmentNode);
        }
示例#8
0
        private void OKButton_Click(object sender, EventArgs e)
        {
            RegionNameEditor.Text = RegionNameEditor.Text.Trim();
            if (RegionNameEditor.Text.Length == 0)
            {
                MessageBox.Show("Region name is empty !");
                RegionNameEditor.Focus();
                return;
            }

            if (Utility.FindRegionByName(DataCenter.Instance().GlobalRegion.Root, RegionNameEditor.Text) != null)
            {
                MessageBox.Show("Region \"" + RegionNameEditor.Text + "\" already exists !");
                return;
            }

            UpdateRegionRequest request = new UpdateRegionRequest();
            request.Type = UpdateRegionType.MoveTasksToNewRegion.ToString();
            request.Region = (SubRegion)mRegionNode.Tag;
            request.NewRegionName = RegionNameEditor.Text;

            HTTPAgent.instance().updateRegion(this, DataCenter.Instance().GlobalRegion.Version,
                request, "Move tasks", mRegionNode);

            OKButton.Enabled = false;
        }
示例#9
0
        private void AddSubRegionToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SubRegion region = (SubRegion)WorkspaceTreeView.SelectedNode.Tag;
            if (region.Task.Count > 0)
            {
                MoveTaskForm moveTaskForm = new MoveTaskForm(WorkspaceTreeView.SelectedNode, region.Task.Count);
                moveTaskForm.ShowDialog();
                if (moveTaskForm.UserCancel)
                    return;

                if (!moveTaskForm.Success)
                {
                    ReLoad();
                    FocusNode(NodeType.Region, region.ID);
                    return;
                }
            }

            string regionName = "";
            if (DialogResult.Cancel == InputDialog.Show("Add region",
                "Input region name",
                ref regionName,
                new CheckInputDelegate(CheckRegionName)))
                return;

            UpdateRegionRequest request = new UpdateRegionRequest();
            request.Type = UpdateRegionType.AddRegion.ToString();
            request.Region = new SubRegion();
            request.Region.ParentID = ((SubRegion)WorkspaceTreeView.SelectedNode.Tag).ID;
            request.Region.Name = regionName;

            HTTPAgent.instance().updateRegion(this, DataCenter.Instance().GlobalRegion.Version, request, "Add region '" + regionName + "'", (SubRegion)WorkspaceTreeView.SelectedNode.Tag);
        }
示例#10
0
        private void RemoveSiteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string prompt = "Remove site '" + WorkspaceTreeView.SelectedNode.Text + "', are you sure ?";
            if (DialogResult.No == MessageBox.Show(prompt, "Warning", MessageBoxButtons.YesNo))
                return;

            TreeNode siteNode = WorkspaceTreeView.SelectedNode;
            if (siteNode.Parent.Parent.Tag is SubRegion)
            {
                SubRegion origionRegion = (SubRegion)siteNode.Parent.Parent.Tag;
                UpdateRegionRequest request = new UpdateRegionRequest();
                request.Type = UpdateRegionType.RemoveSite.ToString();
                request.Region = new SubRegion();
                request.Region.ID = origionRegion.ID;

                string siteID = ((SiteModel)siteNode.Tag).Site.SiteID;
                if (!origionRegion.Site.Contains(siteID))
                    return;

                request.Region.Site.Add(siteID);
                HTTPAgent.instance().updateRegion(this, DataCenter.Instance().GlobalRegion.Version, request,
                    "Remove site '" + siteID + "'", siteNode);

            }
            else if (siteNode.Parent.Parent.Tag is TaskModel)
            {
                BindingTask task = ((TaskModel)siteNode.Parent.Parent.Tag).mTask;
                UpdateTaskRequest request = new UpdateTaskRequest();
                request.Type = UpdateTaskType.RemoveSite.ToString();

                string siteID = ((SiteModel)siteNode.Tag).Site.SiteID;
                if (!task.Site.Contains(siteID))
                    return;

                request.Site.Add(siteID);
                HTTPAgent.instance().updateTask(this, task.ID, request, "Remove site '" + siteID + "'", siteNode);
            }
        }
示例#11
0
        private void RemoveRegionToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string prompt = "Remove region '" + WorkspaceTreeView.SelectedNode.Text + "', are you sure ?";
            if (DialogResult.No == MessageBox.Show(prompt, "Warning", MessageBoxButtons.YesNo))
                return;

            UpdateRegionRequest request = new UpdateRegionRequest();
            request.Type = UpdateRegionType.RemoveRegion.ToString();
            request.Region = new SubRegion();
            request.Region.ParentID = ((SubRegion)WorkspaceTreeView.SelectedNode.Parent.Tag).ID;
            request.Region.ID = ((SubRegion)WorkspaceTreeView.SelectedNode.Tag).ID;

            HTTPAgent.instance().updateRegion(this, DataCenter.Instance().GlobalRegion.Version, request,
                "Remove region '" + WorkspaceTreeView.SelectedNode.Text + "'", WorkspaceTreeView.SelectedNode);
        }
示例#12
0
        private void RemoveManagerToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string prompt = "Remove manager '" + WorkspaceTreeView.SelectedNode.Text + "', are you sure ?";
            if (DialogResult.No == MessageBox.Show(prompt, "Warning", MessageBoxButtons.YesNo))
                return;

            SubRegion origionRegion = (SubRegion)WorkspaceTreeView.SelectedNode.Parent.Parent.Tag;
            UpdateRegionRequest request = new UpdateRegionRequest();
            request.Type = UpdateRegionType.RemoveManager.ToString();
            request.Region = new SubRegion();
            request.Region.ID = origionRegion.ID;

            TreeNode managerNode = WorkspaceTreeView.SelectedNode;
            TreeNode managersNode = managerNode.Parent;
            string manager = managerNode.Text;
            if (!origionRegion.Manager.Contains(manager))
                return;

            request.Region.Manager.Add(manager);
            HTTPAgent.instance().updateRegion(this, DataCenter.Instance().GlobalRegion.Version, request,
                "Remove manager '" + manager + "'", managerNode);
        }
示例#13
0
        private void RemoveAllSitesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("You will remove all sites, are you sure ?", "Warning", MessageBoxButtons.YesNo);
            if (DialogResult.No == result)
                return;

            SiteModel siteModel;

            SubRegion origionRegion = (SubRegion)WorkspaceTreeView.SelectedNode.Parent.Tag;
            UpdateRegionRequest request = new UpdateRegionRequest();
            request.Type = UpdateRegionType.RemoveSite.ToString();
            request.Region = new SubRegion();
            request.Region.ID = origionRegion.ID;
            string siteID;
            foreach (TreeNode node in WorkspaceTreeView.SelectedNode.Nodes)
            {
                siteModel = (SiteModel)node.Tag;
                siteID = siteModel.Site.SiteID;

                if (!origionRegion.Site.Contains(siteID))
                    continue;

                request.Region.Site.Add(siteID);
            }

            HTTPAgent.instance().updateRegion(this, DataCenter.Instance().GlobalRegion.Version, request,
                "Remove all sites of region '" + origionRegion.Name + "'", null);
        }
示例#14
0
 void AdminForm_onUpdateRegionFailed(UpdateRegionRequest request, HttpStatusCode statusCode, string messageText)
 {
     MessageBox.Show(messageText + " failed, status=" + statusCode.ToString());
 }
示例#15
0
        public void updateRegion(Form attachedForm, int curVersion, UpdateRegionRequest request, string messageText, object context)
        {
            new Thread(delegate()
            {
                byte[] respData;
                string json = "";
                WebHeaderCollection headers;
                string url = getUrl(Action.updateregion) + "/" + curVersion;
                HttpStatusCode statusCode = HTTPRequest.MakeRequest(url, "PUT",
                    Constants.JSON_MIME, Constants.JSON_MIME,
                    Encoding.UTF8.GetBytes(Utility.JsonSerialize<UpdateRegionRequest>(request)), out respData, out headers);
                if (statusCode == HttpStatusCode.OK)
                {
                    if (onUpdateRegionSuccessfully != null)
                    {
                        UpdateRegionResult result;
                        if (respData != null)
                        {
                            json = Encoding.UTF8.GetString(respData);

                            result = Utility.JsonDeserialize<UpdateRegionResult>(json);
                            Utility.FillUpdateRegionResult(result);
                            attachedForm.BeginInvoke(onUpdateRegionSuccessfully, result, context);
                        }
                    }
                }
                else
                {
                    if (onUpdateRegionFailed != null)
                    {
                        attachedForm.BeginInvoke(onUpdateRegionFailed, request, statusCode, messageText);
                    }
                }

            }).Start();
        }
示例#16
0
        private void AddManagerToolStripMenuItem_Click(object sender, EventArgs e)
        {
            AssignUserForm assignUserForm = new AssignUserForm();
            assignUserForm.Prompt = "Add task manager";
            TreeNode managersNode = null;
            SubRegion origionRegion;
            if (DialogResult.OK == assignUserForm.ShowDialog())
            {
                managersNode = WorkspaceTreeView.SelectedNode;
                origionRegion = (SubRegion)managersNode.Parent.Tag;
                UpdateRegionRequest request = new UpdateRegionRequest();
                request.Type = UpdateRegionType.AddManager.ToString();
                request.Region = new SubRegion();
                request.Region.ID = origionRegion.ID;

                foreach (string user in assignUserForm.Users)
                {
                    if (origionRegion.Manager.Contains(user))
                        continue;

                    request.Region.Manager.Add(user);
                }

                if (request.Region.Manager.Count == 0)
                    return;

                HTTPAgent.instance().updateRegion(this, DataCenter.Instance().GlobalRegion.Version, request,
                    "Add managers", managersNode);
            }
        }
示例#17
0
        private void AddSiteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SiteManagementForm siteManagementForm = new SiteManagementForm();
            siteManagementForm.UseForSelect = true;

            TreeNode sitesNode = WorkspaceTreeView.SelectedNode;
            if (sitesNode.Parent.Tag is SubRegion)
            {
                if (siteManagementForm.ShowDialog() == DialogResult.Cancel)
                    return;

                List<Site> selectedSites = siteManagementForm.SelectedSites;
                if (selectedSites.Count == 0)
                    return;

                SubRegion originRegion = (SubRegion)sitesNode.Parent.Tag;
                UpdateRegionRequest request = new UpdateRegionRequest();
                request.Type = UpdateRegionType.AddSite.ToString();
                request.Region = new SubRegion();
                request.Region.ID = originRegion.ID;
                if (originRegion.Site == null)
                    originRegion.Site = new List<string>();
                foreach (Site selectedSite in selectedSites)
                {
                    if (originRegion.Site.Contains(selectedSite.SiteID))
                        continue;

                    request.Region.Site.Add(selectedSite.SiteID);
                }

                if (request.Region.Site.Count == 0)
                    return;

                HTTPAgent.instance().updateRegion(this, DataCenter.Instance().GlobalRegion.Version, request,
                    "Add region sites", sitesNode);
            }
            else if (sitesNode.Parent.Tag is TaskModel)
            {
                siteManagementForm.AvailableSites = Utility.GetAvailableSites((SubRegion)sitesNode.Parent.Parent.Tag);
                if (siteManagementForm.ShowDialog() == DialogResult.Cancel)
                    return;

                List<Site> selectedSites = siteManagementForm.SelectedSites;
                if (selectedSites.Count == 0)
                    return;

                BindingTask task = ((TaskModel)sitesNode.Parent.Tag).mTask;
                UpdateTaskRequest request = new UpdateTaskRequest();
                request.Type = UpdateTaskType.AddSite.ToString();
                foreach(Site selectedSite in selectedSites)
                {
                    if (task.Site.Contains(selectedSite.SiteID))
                        continue;

                    request.Site.Add(selectedSite.SiteID);
                }

                if (request.Site.Count == 0)
                    return;

                HTTPAgent.instance().updateTask(this, task.ID, request, "Add task sites", sitesNode);
            }
        }
示例#18
0
        private void RenameRegionToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string oldRegionName = WorkspaceTreeView.SelectedNode.Text;
            RenameForm renameForm = new RenameForm("Rename region", oldRegionName);
            renameForm.CheckInputDelegate = new CheckInputDelegate(CheckRegionName);
            if (DialogResult.OK == renameForm.ShowDialog() && renameForm.Updated)
            {
                UpdateRegionRequest request = new UpdateRegionRequest();
                request.Type = UpdateRegionType.RenameRegion.ToString();
                request.Region = new SubRegion();
                request.Region.Name = renameForm.NewName;
                request.Region.ID = ((SubRegion)WorkspaceTreeView.SelectedNode.Tag).ID;

                HTTPAgent.instance().updateRegion(this, DataCenter.Instance().GlobalRegion.Version, request,
                    "Rename region '" + oldRegionName + "'", WorkspaceTreeView.SelectedNode);
            }
        }
示例#19
0
        private void BatchedRemoveSitesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Site site;
            List<Site> sites = new List<Site>();
            foreach (TreeNode node in WorkspaceTreeView.SelectedNode.Nodes)
            {
                site = ((SiteModel)node.Tag).Site;
                sites.Add(site);
            }

            RemoveSiteSelectForm selectSiteForm = new RemoveSiteSelectForm();
            selectSiteForm.Sites = sites;
            DialogResult result = selectSiteForm.ShowDialog();
            if (result == DialogResult.Cancel)
                return;

            if (selectSiteForm.Sites.Count == 0)
                return;

            SubRegion origionRegion = (SubRegion)WorkspaceTreeView.SelectedNode.Parent.Tag;
            UpdateRegionRequest request = new UpdateRegionRequest();
            request.Type = UpdateRegionType.RemoveSite.ToString();
            request.Region = new SubRegion();
            request.Region.ID = origionRegion.ID;
            string siteID;

            foreach (Site removeSite in selectSiteForm.Sites)
            {
                siteID = removeSite.SiteID;

                if (!origionRegion.Site.Contains(siteID))
                    continue;

                request.Region.Site.Add(siteID);
            }

            result = MessageBox.Show("You will remove " + selectSiteForm.Sites.Count + " sites, are you sure ?", "Warning", MessageBoxButtons.YesNo);
            if (DialogResult.No == result)
                return;

            HTTPAgent.instance().updateRegion(this, DataCenter.Instance().GlobalRegion.Version, request,
                "Remove " + selectSiteForm.Sites.Count + " sites of region '" + origionRegion.Name + "'", null);
        }
示例#20
0
        private void SetChannelToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ChannelSettingManagementForm channelSettingManagmentForm = new ChannelSettingManagementForm();
            channelSettingManagmentForm.UseForSelect = true;
            if (channelSettingManagmentForm.ShowDialog() == DialogResult.Cancel)
                return;

            long selectedChannel = channelSettingManagmentForm.SelectedChannel;
            if (selectedChannel == -1)
                return;

            TreeNode channelNode = WorkspaceTreeView.SelectedNode;
            SubRegion originRegion = (SubRegion)channelNode.Parent.Parent.Tag;

            UpdateRegionRequest request = new UpdateRegionRequest();
            request.Type = UpdateRegionType.UpdateChanSettingID.ToString();
            request.Region = new SubRegion();
            request.Region.ID = originRegion.ID;
            request.Region.ChannelSettingID = selectedChannel;

            HTTPAgent.instance().updateRegion(this, DataCenter.Instance().GlobalRegion.Version, request,
                "Change channel id to '" + selectedChannel + "'", channelNode);
        }