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); }
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; } }
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); } }
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); } }
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); }
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); } }
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); }