Ejemplo n.º 1
0
        public static bool GetConfiguration(string docGuid, out DTMConfigurations config)
        {
            bool found = false;

            config = new DTMConfigurations();
            try
            {
                List <ProjectFile> projectFiles = GetProjectFiles(docGuid.ToString());
                if (projectFiles.Count > 0)
                {
                    ProjectFile projectFile = projectFiles.First();
                    config.ProjectFileInfo = projectFile;
                    string         projectId = config.ProjectFileInfo.Project_Id;
                    List <Project> projects  = GetProjects(projectId);
                    if (projects.Count > 0)
                    {
                        config.ProjectFileInfo.ProjectInfo = projects.First();
                    }

                    List <ProjectUpdater> updaters = GetProjectUpdater("projectfileid/" + projectFile._id);
                    if (updaters.Count > 0)
                    {
                        for (int i = 0; i < updaters.Count; i++)
                        {
                            ProjectUpdater         updater  = updaters[i];
                            List <CategoryTrigger> triggers = GetCategoryTriggers("updaterid/" + updater._id);
                            for (int j = 0; j < triggers.Count; j++)
                            {
                                CategoryTrigger     trigger = triggers[j];
                                List <RequestQueue> queues  = GetRequestQueues("triggerid/" + trigger._id);
                                for (int k = 0; k < queues.Count; k++)
                                {
                                    RequestQueue queue = queues[k];
                                    trigger.Requests.Add(queue);
                                }
                                updater.CategoryTriggers.Add(trigger);
                            }

                            config.ProjectUpdaters.Add(updater);
                        }
                    }
                }

                found = true;
            }
            catch (Exception ex)
            {
                string message = ex.Message;
                MessageBox.Show("Failed to get configuration. \n" + ex.Message, "Server Util: Get Configuration", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            return(found);
        }
Ejemplo n.º 2
0
 public void IgnoreExecuted(object param)
 {
     try
     {
         CategoryTrigger selectedTrigger = this.Configuration.ProjectUpdaters[selectedUpdaterIndex].CategoryTriggers[selectedTriggerIndex];
         this.Configuration.ProjectUpdaters[selectedUpdaterIndex].CategoryTriggers[selectedTriggerIndex].Requests.Clear();
         string         content = "";
         string         errMsg  = "";
         HttpStatusCode status  = ServerUtil.DeleteItem(out content, out errMsg, ControllerType.requestqueues, "triggerid/" + selectedTrigger._id.ToString());
     }
     catch (Exception ex)
     {
         string message = ex.Message;
     }
 }
Ejemplo n.º 3
0
 private void AddElementToStorage(Guid docId, Element element)
 {
     try
     {
         string categoryName = element.Category.Name;
         var    triggerFound = from trigger in registeredUpdaters[docId].CategoryTriggers where trigger.CategoryName == categoryName select trigger;
         if (triggerFound.Count() > 0)
         {
             CategoryTrigger      trigger = triggerFound.First();
             ReportingElementInfo eInfo   = new ReportingElementInfo(docId, trigger._id, trigger.CategoryName, element.Id, element.UniqueId);
             reportingElements.Add(eInfo);
         }
     }
     catch (Exception ex)
     {
         string message = ex.Message;
         MessageBox.Show("Failed to add element.\n" + ex.Message, "DTM Updater", MessageBoxButton.OK, MessageBoxImage.Warning);
     }
 }
Ejemplo n.º 4
0
        private void buttonRequest_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                //update configuration
                if (AppCommand.Instance.Configurations.ContainsKey(reportingInfo.DocId.ToString()))
                {
                    var updaterFound = from updater in AppCommand.Instance.Configurations[reportingInfo.DocId.ToString()].ProjectUpdaters where updater.UpdaterId == DTMUpdater.updaterGuid.ToString() select updater;
                    if (updaterFound.Count() > 0)
                    {
                        ProjectUpdater updater      = updaterFound.First();
                        int            updaterIndex = AppCommand.Instance.Configurations[reportingInfo.DocId.ToString()].ProjectUpdaters.IndexOf(updater);

                        var triggerFound = from trigger in updater.CategoryTriggers where trigger._id == reportingInfo.TriggerId select trigger;
                        if (triggerFound.Count() > 0)
                        {
                            CategoryTrigger trigger      = triggerFound.First();
                            int             triggerIndex = AppCommand.Instance.Configurations[reportingInfo.DocId.ToString()].ProjectUpdaters[updaterIndex].CategoryTriggers.IndexOf(trigger);

                            RequestQueue queue = new RequestQueue(Guid.NewGuid().ToString(), trigger._id, RequestState.Requested.ToString(), Environment.UserName, reportingInfo.ReportingUniqueId);
                            AppCommand.Instance.Configurations[reportingInfo.DocId.ToString()].ProjectUpdaters[updaterIndex].CategoryTriggers[triggerIndex].Requests.Add(queue);

                            string         content = "";
                            string         errMsg  = "";
                            HttpStatusCode status  = ServerUtil.PostRequestQueues(out content, out errMsg, queue);
                        }
                    }
                }

                this.Close();
            }
            catch (Exception ex)
            {
                string message = ex.Message;
                MessageBox.Show("Failed to ignore warning window.\n" + ex.Message, "Warning Window", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
Ejemplo n.º 5
0
        private DTMConfigurations GetConfiguration(Document doc)
        {
            DTMConfigurations config = new DTMConfigurations();

            try
            {
                string projectFileId = DataStorageUtil.GetProjectFileId(doc).ToString();
                string centralPath   = FileInfoUtil.GetCentralFilePath(doc);
                if (projectFileId == Guid.Empty.ToString())
                {
                    //first time use
                    List <ProjectFile> items = ServerUtil.GetProjectFiles("centralpath/" + centralPath);
                    if (items.Count > 0)
                    {
                        //import file info by central path
                        ProjectFile projectFile = items.First();
                        bool        found       = ServerUtil.GetConfiguration(projectFile._id, out config);
                        projectFileId = projectFile._id;
                    }
                    else
                    {
                        //create file info
                        projectFileId = Guid.NewGuid().ToString();

                        Project        projectInfo  = FileInfoUtil.GetProjectInfo(centralPath);
                        List <Project> projects     = ServerUtil.GetProjects("");
                        var            projectFound = from p in projects where p.ProjectNumber == projectInfo.ProjectNumber && p.ProjectName == projectInfo.ProjectName select p;
                        if (projectFound.Count() > 0)
                        {
                            projectInfo = projectFound.First();
                        }
                        else
                        {
                            projectInfo._id = Guid.NewGuid().ToString();
                        }

                        ProjectFile pFile = new ProjectFile(projectFileId, centralPath, projectInfo._id, projectInfo);
                        config.ProjectFileInfo = pFile;

                        ProjectUpdater pUpdater = new ProjectUpdater(Guid.NewGuid().ToString(), DTMUpdater.updaterGuid.ToString(), dtmUpdater.GetUpdaterName(), addInGuid.ToString(), addInName, false, pFile._id);
                        foreach (string categoryName in updaterCategories)
                        {
                            CategoryTrigger catTrigger = new CategoryTrigger(Guid.NewGuid().ToString(), categoryName, pUpdater._id, false, Environment.UserName, DateTime.Now);
                            pUpdater.CategoryTriggers.Add(catTrigger);
                        }
                        config.ProjectUpdaters.Add(pUpdater);

                        string         content = "";
                        string         errMsg  = "";
                        HttpStatusCode status  = ServerUtil.PostConfiguration(out content, out errMsg, config);
                    }

                    bool stored = DataStorageUtil.StoreProjectFileId(doc, new Guid(projectFileId));
                }
                else
                {
                    bool found = ServerUtil.GetConfiguration(projectFileId, out config);
                }
            }
            catch (Exception ex)
            {
                string message = ex.Message;
                MessageBox.Show("Failed to get configuration.\n" + ex.Message, "Get Configuration from Database", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            return(config);
        }
Ejemplo n.º 6
0
        private void buttonEdit_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                //update category trigger settings
                bool settingsUpdated = false;
                string centralPath = reportingInfo.CentralPath;
                if (AppCommand.Instance.ConfigDictionary.ContainsKey(centralPath))
                {
                    Configuration config = AppCommand.Instance.ConfigDictionary[centralPath];
                    var updaterFound = from updater in config.updaters where updater.updaterId.ToLower() == reportingInfo.UpdaterId.ToLower() select updater;
                    if (updaterFound.Count() > 0)
                    {
                        ProjectUpdater pUpdater = updaterFound.First();
                        int updaterIndex = config.updaters.IndexOf(pUpdater);

                        var triggerFound = from trigger in pUpdater.CategoryTriggers where trigger.categoryName == reportingInfo.CategoryName select trigger;
                        if (triggerFound.Count() > 0)
                        {
                            CategoryTrigger cTrigger = triggerFound.First();
                            int triggerIndex = pUpdater.CategoryTriggers.IndexOf(cTrigger);

                            config.updaters[updaterIndex].CategoryTriggers[triggerIndex].isEnabled = false;

                            AppCommand.Instance.ConfigDictionary.Remove(centralPath);
                            AppCommand.Instance.ConfigDictionary.Add(centralPath, config);
                            
                            //refresh category trigger
                            AppCommand.Instance.DTMUpdaterInstance.Unregister(currentDoc);
                            AppCommand.Instance.DTMUpdaterInstance.Register(currentDoc, config.updaters[updaterIndex]);

                            settingsUpdated = true;
                        }
                    }
                }

                if (settingsUpdated)
                {
                    //database updated
                    TriggerRecord record = new TriggerRecord()
                    {
                        configId = reportingInfo.ConfigId,
                        centralPath = reportingInfo.CentralPath,
                        updaterId = reportingInfo.UpdaterId,
                        categoryName = reportingInfo.CategoryName,
                        elementUniqueId = reportingInfo.ReportingUniqueId,
                        edited = DateTime.Now,
                        editedBy = Environment.UserName
                    };

                    string content;
                    string errMessage;
                    
                    HttpStatusCode status = ServerUtil.PostTriggerRecords(out content, out errMessage, record);

                    this.DialogResult = false;
                }
                this.Close();
                
            }
            catch (Exception ex)
            {
                LogUtil.AppendLog("DTMWindow-buttonEdit_Click:" + ex.Message);
            }
        }
Ejemplo n.º 7
0
        public static HttpStatusCode UpdateCategoryTrigger(out string content, out string errorMessage, CategoryTrigger trigger, string id)
        {
            HttpStatusCode status = HttpStatusCode.Unused;

            content      = "";
            errorMessage = "";
            try
            {
                var client  = new RestClient(RestApiBaseUrl);
                var request = new RestRequest(apiVersion + "/" + ControllerType.categorytriggers.ToString() + "/" + id, Method.PUT);
                request.RequestFormat = RestSharp.DataFormat.Json;
                request.AddBody(trigger);

                IRestResponse response = client.Execute(request);

                content      = response.Content;
                errorMessage = response.ErrorMessage;
                status       = response.StatusCode;
            }
            catch (Exception ex)
            {
                string message = ex.Message;
                MessageBox.Show("Failed to update items in categorytriggers:id=" + id + "\n" + ex.Message, "Server Util: Update Category Triggers", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            return(status);
        }