public DocumentChunkStream(Guid documentID, NetWorkSetting networkSetting) { this.documentID = documentID; this.networkSetting = networkSetting; }
private void UploadRequest(HubRequest request) { NetWorkSetting networkSetting = Configuration.Instance.GetNetworkSetting(request.NetworkId); _log.Info(String.Format("BackgroundProcess: Processing query {0} (RequestId: {3}, DataMartId: {1}, NetworkId: {2})", request.Source.Identifier, request.DataMartId, networkSetting.NetworkId, request.Source.ID)); try { string requestId = request.Source.ID.ToString(); Lpp.Dns.DataMart.Model.Document[] responseDocuments = request.Processor.Response(requestId); Guid[] documentIds = DnsServiceManager.PostResponseDocuments(requestId, request.DataMartId, responseDocuments, networkSetting); _log.Info("Number of portal document ids returned by PostResponseDocuments: " + documentIds.Length); for (int i = 0; i < documentIds.Length; i++) { _log.Info("About to post content for portal document id: " + documentIds[i] + " corresponding to response document id: " + responseDocuments[i].DocumentID); Stream contentStream = null; try { request.Processor.ResponseDocument(requestId, responseDocuments[i].DocumentID, out contentStream, 60000); DnsServiceManager.PostResponseDocumentContent(documentIds[i], contentStream, networkSetting) .LogExceptions(_log.Error) .Catch() .SubscribeOn(Scheduler.Default) .LastOrDefault(); } finally { contentStream.CallDispose(); } } if (request.RoutingStatus == Lpp.Dns.DTO.DataMartClient.Enums.DMCRoutingStatus.Failed) { HubRequestStatus hubRequestStatus = DnsServiceManager.ConvertModelRequestStatus(request.Processor.Status(requestId)); hubRequestStatus.Message = request.Processor.Status(requestId).Message; DnsServiceManager.SetRequestStatus(request, hubRequestStatus, request.Properties, networkSetting); _log.Info(String.Format("The following query {0} (ID: {3}) failed to execute on behalf of {1}:\n\n{2}", request.Source.Identifier, networkSetting.Profile.Username, hubRequestStatus.Message, request.Source.ID)); } else { //MantisID:6331:Zero out low-cell counts if they exist. //string strReason = request.Processor.Status(requestId).Code == RequestStatus.StatusCode.CompleteWithMessage ? request.Processor.Status(requestId).Message : string.Empty; //DnsServiceManager.SetRequestStatus(request, new HubRequestStatus(Lpp.Dns.DTO.DataMartClient.Enums.DMCRoutingStatus.Completed), request.Properties, networkSetting); //if (string.IsNullOrEmpty(strReason)) //{ //DnsServiceManager.SetRequestStatus(request, new HubRequestStatus(HubRequestStatus.StatusCode.Completed), request.Properties, networkSetting); _log.Info(String.Format("The following query {0} (ID: {2}) was executed and results were uploaded automatically on behalf of {1}", request.Source.Identifier, networkSetting.Profile.Username, request.Source.ID)); //} //else //{ // //DnsServiceManager.SetRequestStatus(request, new HubRequestStatus(HubRequestStatus.StatusCode.Completed, strReason), request.Properties, networkSetting); // _log.Info(String.Format("The following query {0} (ID: {3}) was executed and results were uploaded automatically on behalf of {1}:\n\n{2}", // request.Source.Identifier, networkSetting.Profile.Username, strReason, request.Source.ID)); //} } } catch (Exception ex) { string message = string.Format("An error occurred while attempting unattended processing of the following query {0} (ID: {1})", request.Source.Identifier, request.Source.ID); _log.Error(message, ex); DnsServiceManager.SetRequestStatus(request, new HubRequestStatus(Lpp.Dns.DTO.DataMartClient.Enums.DMCRoutingStatus.Failed, message), request.Properties, networkSetting); } _log.Info(String.Format("BackgroundProcess: Finished Processing / Uploading results for query {0} (RequestID: {3}, DataMartId: {1}, NetworkId: {2})", request.Source.Identifier, request.DataMartId, networkSetting.NetworkId, request.Source.ID)); }
public void AddNetworkSetting(NetWorkSetting ns) { ns.NetworkId = FindUnusedNetworkId(); NetworkSettingCollection.NetWorkSettings.Add(ns); }
private void PopulateDataMarts(ref NetWorkSetting ns) { try { if (!DnsServiceManager.LogIn(ns)) { return; } // Find matching existing datamarts and update their info. Append new datamarts and remove deleted ones. var newDMs = ns.GetDataMartsByUser().EmptyIfNull(); if ((dgvDataMarts.DataSource as IEnumerable <DataMartDescription>).NullOrEmpty()) { dgvDataMarts.DataSource = newDMs; } else { (from oldDataMarts in dgvDataMarts.DataSource as IEnumerable <DataMartDescription> join newDataMarts in newDMs on oldDataMarts.DataMartId equals newDataMarts.DataMartId select new { oldDM = oldDataMarts, newDM = newDataMarts }).ForEach(d => { // Append new datamarts. // For each existing datamart, find matching existing model and update their info. d.oldDM.DataMartName = d.newDM.DataMartName; d.oldDM.OrganizationId = d.newDM.OrganizationId; d.oldDM.OrganizationName = d.newDM.OrganizationName; if (d.oldDM.ModelList != null && d.newDM.ModelList != null) { (from oldModel in d.oldDM.ModelList.Cast <ModelDescription>() join newModel in d.newDM.ModelList.Cast <ModelDescription>() on oldModel.ModelId equals newModel.ModelId select new { oldModel = oldModel, newModel = newModel }).ForEach(m => { m.oldModel.ModelName = m.newModel.ModelName; m.oldModel.ModelDisplayName = m.newModel.ModelDisplayName; }); } }); var ds = new List <DataMartDescription>(); ds.AddRange(dgvDataMarts.DataSource as IEnumerable <DataMartDescription>); ds.AddRange(from newDataMart in newDMs where !ds.Any(es => (es.DataMartId == newDataMart.DataMartId)) select newDataMart); ds.RemoveAll(r => !newDMs.Any(es => es.DataMartId == r.DataMartId)); dgvDataMarts.DataSource = ds; } dgvDataMarts.Refresh(); if (ns.DataMartList != null && ns.DataMartList.Count > 0) { Configuration.Instance.LoadModels(ns); btnEdit.Enabled = btnRefreshDMlist.Enabled = true; btnApply.Enabled = btnOk.Enabled = true; dgvDataMarts.Enabled = true; } else { dgvDataMarts.Enabled = false; btnEdit.Enabled = false; MessageBox.Show("No network DataMart(s) found", Application.ProductName); } } catch (Exception ex) { throw ex; } }
private void NetworkSettingChanged_EventHandler(object sender, NetWorkSetting ns) { LoadPage(); ConfigurationChanged(sender, ns); }
public void OnConfigurationChanged(NetWorkSetting updatedNetworkSetting) { Network = updatedNetworkSetting; AutoProcessor.UpdateNetworkSetting(Network); ReloadDatamarts(); }
public RequestListGridView(NetWorkSetting ns) : this() { Network = ns; AutoProcessor = new AutoProcessor(Network); }
private void btnOk_Click(object sender, EventArgs e) { try { this.Cursor = Cursors.WaitCursor; // Get the network setting for this service url if it exists already. NetWorkSetting ns = null; try { ns = (from n in Configuration.Instance.NetworkSettingCollection.NetWorkSettings.ToArray(typeof(NetWorkSetting)) as NetWorkSetting[] where n.HubWebServiceUrl == txtServiceUrl.Text select n).FirstOrDefault(); } catch { Configuration.CreateNewNetworkSettingsFile(); } // If not, create one. if (ns == null) { ns = new NetWorkSetting(); ns.HubWebServiceUrl = txtServiceUrl.Text; Configuration.Instance.AddNetworkSetting(ns); } else { if (MessageBox.Show("This will override your existing configuration for this network.\nAre you sure you want to do that?", "Override Network Configuration?", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel) { this.Close(); return; } } ns.Username = txtUsername.Text; ns.EncryptedPassword = txtPassword.Text; ns.NetworkName = txtNetworkname.Text; var selectedCert = cbCertificates.SelectedItem as Cert; ns.X509CertThumbprint = selectedCert == null ? null : selectedCert.Thumbprint; ns.GetDataMartsByUser(); Configuration.Instance.LoadModels(ns); CredentialManager.SaveCredential(ns.CredentialKey, ns.Username, ns.Password); // Get the configuration for all models for all datamarts at this service url. var dmc = DnsServiceManager.GetDataMartModelConfigurations(ns); // Find the model processor in the existing network if exists. If not, create it. XmlSerializer serializer = new XmlSerializer(typeof(ModelProperties)); foreach (var c in dmc) { var d = ns.DataMartList.FirstOrDefault(dm => dm.DataMartId == c.DataMartId); var mp = d.ModelList.FirstOrDefault(m => m.ModelId == c.ModelId && m.ProcessorId == c.ModelProcessorId); if (d != null && mp != null && !string.IsNullOrEmpty(c.Properties)) { using (XmlTextReader reader = new XmlTextReader(new MemoryStream(new System.Text.UTF8Encoding().GetBytes(c.Properties)))) { d.AllowUnattendedOperation = c.UnattendedMode != Lpp.Dns.DataMart.Lib.Classes.UnattendedMode.NoUnattendedOperation; d.NotifyOfNewQueries = c.UnattendedMode == Lpp.Dns.DataMart.Lib.Classes.UnattendedMode.NotifyOnly; d.ProcessQueriesAndNotUpload = c.UnattendedMode == Lpp.Dns.DataMart.Lib.Classes.UnattendedMode.ProcessNoUpload; d.ProcessQueriesAndUploadAutomatically = c.UnattendedMode == Lpp.Dns.DataMart.Lib.Classes.UnattendedMode.ProcessAndUpload; var p = new List <PropertyData>(); p.AddRange(((ModelProperties)serializer.Deserialize(reader)).Properties.Where(prop => prop.Name != "ConfirmPassword")); mp.Properties = p; if (mp.ProcessorId != Guid.Empty) { try { //TODO: confirm the latest package exists for the model/processor combination var packageIdentifier = DnsServiceManager.GetRequestTypeIdentifier(ns, mp.ModelId, mp.ProcessorId); if (packageIdentifier != null && !File.Exists(Path.Combine(Configuration.PackagesFolderPath, packageIdentifier.Identifier + "." + packageIdentifier.Version + ".zip"))) { DnsServiceManager.DownloadPackage(ns, packageIdentifier); } //string processorPath, className; //ProcessorManager.FindProcessor(mp.ModelId, mp.ProcessorId, out processorPath, out className); //mp.ProcessorPath = processorPath; //mp.ClassName = className; } catch (Exception ex) { log.Error("Unable to load processor.", ex); } } } } } Configuration.SaveNetworkSettings(); if (NetworkSettingChanged != null) { NetworkSettingChanged(this, ns); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Update Failed", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { this.Cursor = Cursors.Default; this.Close(); } }
public RequestListGridView(NetWorkSetting ns) : this() { Network = ns; }