/// <summary> /// Sets the Goal Met /// </summary> /// <param name="currentItem"></param> /// <param name="linkedItem"></param> /// <param name="goalItem"></param> /// <param name="visitId"></param> /// <param name="visitorId"></param> /// <returns></returns> public bool SetGoalMet(Item currentItem, Item linkedItem, Item goalItem, Guid visitId, Guid visitorId) { try { using (AnalyticsDataContext AnalyticsDataContext = new AnalyticsDataContext(ConfigurationManager.ConnectionStrings["analytics"].ConnectionString)) { //check to see if page exists Page currentPage = AnalyticsDataContext.Pages.Where(x => x.ItemId == currentItem.ID.Guid && x.VisitId == visitId).FirstOrDefault(); if(currentPage == null) { Logger.Error("Page Statistics Context - Could not retrieve page"); return false; } PageEventDefinition pageEventDefinition = AnalyticsDataContext.PageEventDefinitions.Where(x => x.Name == goalItem.Name).FirstOrDefault(); if(pageEventDefinition == null) { Logger.Error("Page Statistics Context - Could not retrieve page event definition: " + goalItem.Name); return false; } //verify there is not already a page event PageEvent existantPageEvent = AnalyticsDataContext.PageEvents. Where(x => x.VisitId == visitId && x.PageId == currentPage.PageId && x.PageEventDefinitionId == pageEventDefinition.PageEventDefinitionId && x.ItemId == linkedItem.ID.Guid).FirstOrDefault(); if(existantPageEvent != null) { Logger.Warn("Page Statistics Context - Page event already exists"); return false; } //insert page event try { Guid pageEventId = Guid.NewGuid(); PageEvent pageEvent = new PageEvent(); pageEvent.PageEventId = pageEventId; pageEvent.VisitId = visitId; pageEvent.VisitorId = visitorId; pageEvent.PageEventDefinitionId = pageEventDefinition.PageEventDefinitionId; pageEvent.PageEventDefinition = pageEventDefinition; pageEvent.PageId = currentPage.PageId; pageEvent.Page = currentPage; pageEvent.ItemId = linkedItem.ID.Guid; pageEvent.IntegrationId = Guid.Empty; pageEvent.DataKey = linkedItem.Paths.FullPath; pageEvent.DateTime = DateTime.Now.ToUniversalTime(); pageEvent.DataCode = 0; pageEvent.CustomSorting = 0; pageEvent.IntegrationLabel = string.Empty; pageEvent.Data = string.Empty; pageEvent.Timestamp = 634891148665341607; pageEvent.Text = string.Empty; AnalyticsDataContext.PageEvents.InsertOnSubmit(pageEvent); AnalyticsDataContext.SubmitChanges(); } catch (Exception ex) { Logger.Error("Page Statistics Context - Could not create page record"); Logger.Error(ex.Message); Logger.Error(ex.InnerException); } } } catch (Exception e) { Logger.Error("Page Statistics Context - Could not set goal met"); Logger.Error(e.Message); Logger.Error(e.InnerException); } return false; }
/// <summary> /// Initializes a new instance. /// </summary> /// <param name="ev"></param> public UnhandledPageThrowException(PageEvent ev) : base(ev.Event + ": " + ev.Message) { Event = ev; }
/// <summary> /// Instructs Chrome to navigate to the given <paramref name="uri" /> /// </summary> /// <param name="uri"></param> /// <param name="countdownTimer">If a <see cref="CountdownTimer"/> is set then /// the method will raise an <see cref="ConversionTimedOutException"/> if the /// <see cref="CountdownTimer"/> reaches zero before finishing navigation</param> /// <param name="mediaLoadTimeout">When set a timeout will be started after the DomContentLoaded /// event has fired. After a timeout the NavigateTo method will exit as if the page /// has been completely loaded</param> /// <param name="urlBlacklist">A list of URL's that need to be blocked (use * as a wildcard)</param> /// <exception cref="ChromeException">Raised when an error is returned by Chrome</exception> /// <exception cref="ConversionTimedOutException">Raised when <paramref name="countdownTimer"/> reaches zero</exception> public void NavigateTo( Uri uri, CountdownTimer countdownTimer = null, int?mediaLoadTimeout = null, List <string> urlBlacklist = null) { var waitEvent = new ManualResetEvent(false); var mediaLoadTimeoutCancellationTokenSource = new CancellationTokenSource(); var absoluteUri = uri.AbsoluteUri.Substring(0, uri.AbsoluteUri.LastIndexOf('/') + 1); var navigationError = string.Empty; var waitforNetworkIdle = false; var mediaTimeoutTaskSet = false; var messageHandler = new EventHandler <string>(delegate(object sender, string data) { //System.IO.File.AppendAllText("d:\\logs.txt", DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fff") + " - " + data + Environment.NewLine); var message = Message.FromJson(data); switch (message.Method) { case "Fetch.requestPaused": { var fetch = Fetch.FromJson(data); var requestId = fetch.Params.RequestId; var url = fetch.Params.Request.Url; if (!RegularExpression.IsRegExMatch(urlBlacklist, url, out var matchedPattern) || url.StartsWith(absoluteUri, StringComparison.InvariantCultureIgnoreCase)) { WriteToLog($"The url '{url}' has been allowed"); var fetchContinue = new Message { Method = "Fetch.continueRequest" }; fetchContinue.Parameters.Add("requestId", requestId); _pageConnection.SendAsync(fetchContinue).GetAwaiter(); } else { WriteToLog($"The url '{url}' has been blocked by url blacklist pattern '{matchedPattern}'"); var fetchFail = new Message { Method = "Fetch.failRequest" }; fetchFail.Parameters.Add("requestId", requestId); // Failed, Aborted, TimedOut, AccessDenied, ConnectionClosed, ConnectionReset, ConnectionRefused, // ConnectionAborted, ConnectionFailed, NameNotResolved, InternetDisconnected, AddressUnreachable, // BlockedByClient, BlockedByResponse fetchFail.Parameters.Add("errorReason", "BlockedByClient"); _pageConnection.SendAsync(fetchFail).GetAwaiter(); } break; } default: { var page = PageEvent.FromJson(data); switch (page.Method) { // The DOMContentLoaded event is fired when the document has been completely loaded and parsed, without // waiting for stylesheets, images, and sub frames to finish loading (the load event can be used to // detect a fully-loaded page). case "Page.lifecycleEvent" when page.Params?.Name == "DOMContentLoaded": if (mediaLoadTimeout.HasValue && !mediaTimeoutTaskSet) { try { Task.Run(async delegate { await Task.Delay(mediaLoadTimeout.Value, mediaLoadTimeoutCancellationTokenSource.Token); WriteToLog($"Media load timed out after {mediaLoadTimeout.Value} milliseconds"); waitEvent?.Set(); }, mediaLoadTimeoutCancellationTokenSource.Token); mediaTimeoutTaskSet = true; } catch { // Ignore } } break; case "Page.frameNavigated": WriteToLog("The 'Page.frameNavigated' event has been fired, waiting for the 'Page.lifecycleEvent' with name 'networkIdle'"); waitforNetworkIdle = true; break; case "Page.lifecycleEvent" when page.Params?.Name == "networkIdle" && waitforNetworkIdle: WriteToLog("The 'Page.lifecycleEvent' event with name 'networkIdle' has been fired, the page is now fully loaded"); waitEvent?.Set(); break; default: var pageNavigateResponse = PageNavigateResponse.FromJson(data); if (!string.IsNullOrEmpty(pageNavigateResponse.Result?.ErrorText) && !pageNavigateResponse.Result.ErrorText.Contains("net::ERR_BLOCKED_BY_CLIENT")) { navigationError = $"{pageNavigateResponse.Result.ErrorText} occured when navigating to the page '{uri}'"; waitEvent?.Set(); } break; } break; } } }); _pageConnection.MessageReceived += messageHandler; _pageConnection.Closed += (sender, args) => waitEvent?.Set(); // Enable Fetch when we want to blacklist certain URL's if (urlBlacklist?.Count > 0) { WriteToLog("Enabling Fetch to block url's that are in the url blacklist'"); _pageConnection.SendAsync(new Message { Method = "Fetch.enable" }).GetAwaiter(); } _pageConnection.SendAsync(new Message { Method = "Page.enable" }).GetAwaiter(); var lifecycleEventEnabledMessage = new Message { Method = "Page.setLifecycleEventsEnabled" }; lifecycleEventEnabledMessage.AddParameter("enabled", true); _pageConnection.SendAsync(lifecycleEventEnabledMessage).GetAwaiter(); var pageNavigateMessage = new Message { Method = "Page.navigate" }; pageNavigateMessage.AddParameter("url", uri.ToString()); _pageConnection.SendAsync(pageNavigateMessage).GetAwaiter(); if (countdownTimer != null) { waitEvent.WaitOne(countdownTimer.MillisecondsLeft); if (countdownTimer.MillisecondsLeft == 0) { throw new ConversionTimedOutException($"The {nameof(NavigateTo)} method timed out"); } } else { waitEvent.WaitOne(); } _pageConnection.MessageReceived -= messageHandler; if (mediaTimeoutTaskSet) { mediaLoadTimeoutCancellationTokenSource.Cancel(); mediaLoadTimeoutCancellationTokenSource.Dispose(); } var lifecycleEventDisableddMessage = new Message { Method = "Page.setLifecycleEventsEnabled" }; lifecycleEventDisableddMessage.AddParameter("enabled", false); _pageConnection.SendAsync(lifecycleEventDisableddMessage).GetAwaiter(); _pageConnection.SendAsync(new Message { Method = "Page.disable" }).GetAwaiter(); // Disable Fetch again if it was enabled if (urlBlacklist?.Count > 0) { _pageConnection.SendAsync(new Message { Method = "Fetch.disable" }).GetAwaiter(); } waitEvent.Dispose(); waitEvent = null; if (!string.IsNullOrEmpty(navigationError)) { WriteToLog(navigationError); throw new ChromeNavigationException(navigationError); } }
private void Page_Load(object sender, EventArgs e) { //**NB** GP: Added This Code To Ignore Certificate Validation In Staging ** Has To Be Removed When Code Is Published ServicePointManager.ServerCertificateValidationCallback = ((sender1, certificate, chain, sslPolicyErrors) => true); { try { XmlDocument Action_14 = new XmlDocument(); StringWriter stringWriter = new StringWriter(); XmlTextWriter xmlTextWriter = new XmlTextWriter(stringWriter); Action_14.Load(ThreeDSecureLoopUp14); Action_14.WriteTo(xmlTextWriter); string WS_Action14 = stringWriter.ToString(); MyGate_Global_3D_Secure_Enterprise_Example.API.APIServiceClient MGAPI = new MyGate_Global_3D_Secure_Enterprise_Example.API.APIServiceClient(); try { var ThreeDSecure_LookUp_Response = MGAPI.execRequest(WS_Action14); try { if (ThreeDSecure_LookUp_Response.status.Equals("-1")) { Response.Write("<br />"); Response.Write("<table align='center' width='75%' style='border:1px solid black;'>"); Response.Write("<tr>"); Response.Write("<td align='center' colspan='2' style='background-color:Red; font-size:14px; font-family:Verdana;'><font color='FFFFFF'><b>*** E R R O R S ** D U R R I N G ** I N V O K A T I O N ***</b></font></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>Error Code :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Code' value='" + ThreeDSecure_LookUp_Response.errors.error.code + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>Error Desc :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Desc' value='" + ThreeDSecure_LookUp_Response.errors.error.message + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>Remidiate Action :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Desc' value='" + ThreeDSecure_LookUp_Response.errors.error.description + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>DateTime :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Desc' value='" + ThreeDSecure_LookUp_Response.dtResponseSent + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>TransactionIndex :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Desc' value='" + ThreeDSecure_LookUp_Response.uidTransactionIndex + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td align='center'><a href='http://localhost:33213/Response_SubData/UpdateXML.aspx'><button>Show SubMission Data</button></a></td>"); Response.Write("</tr>"); Response.Write("</table>"); } else { try { //CARD HOLDER ENROLLED if (ThreeDSecure_LookUp_Response.tdsLookup.enrolled.Equals("Y")) { Response.Write("<br />"); Response.Write("<form name='frmLaunchACS' runat ='server' method='POST' action='" + ThreeDSecure_LookUp_Response.tdsLookup.acsUrl + "'>"); Response.Write("<table align='center' width='75%' style='border:1px solid black;'>"); Response.Write("<tr>"); Response.Write("<td align='center' colspan='2' style='background-color:Green; font-size:14px; font-family:Verdana;'><font color='FFFFFF'><b>** POST ** DATA ** TO ** ACS ** *** ** CARD ** HOLDER ** ENROLLED **</b></font></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>PaReq :<font><font color='FFFFFF'>__________</font></div></td>"); Response.Write("<td ><textarea cols='50' rows='5' style='width:550' name='PaReq' >" + ThreeDSecure_LookUp_Response.tdsLookup.payload + "</textarea></textarea></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>TermUrl :</div></td>"); Response.Write("<td ><input type='text' style='width:550' name='TermUrl' value='" + ACSCallbackURL + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>MD :</div></td>"); Response.Write("<td ><input type='text' style='width:550' name='MD' value='" + ThreeDSecure_LookUp_Response.uidTransactionIndex + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td colspan='2' align='center'><input type='submit' value='Submit Form' runat= server'style='width:250'></td>"); Response.Write("</tr>"); Response.Write("</table>"); Response.Write("</form>"); } else { try { //CARD HOLDER NOT ENROLLED OR UNDEFINED if (ThreeDSecure_LookUp_Response.tdsLookup.enrolled.Equals("N") || ThreeDSecure_LookUp_Response.tdsLookup.enrolled.Equals("U")) { Response.Write("<br />"); Response.Write("<table align='center' width='75%' style='border:1px solid black;'>"); Response.Write("<tr>"); Response.Write("<td align='center' colspan='2' style='background-color:Green; font-size:14px; font-family:Verdana;'><font color='FFFFFF'><b>*** LOOKUP RESULTS *** CARD ** HOLDER ** NOT ENROLLED ***</b></font></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>Enrolled :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Desc' value='" + ThreeDSecure_LookUp_Response.tdsLookup.enrolled + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>ECI Flag :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Code' value='" + ThreeDSecure_LookUp_Response.tdsLookup.eciFlag + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>Auth Required :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Code' value='" + ThreeDSecure_LookUp_Response.tdsLookup.authRequired + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>Liability Shift :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Code' value='" + ThreeDSecure_LookUp_Response.tdsLookup.liabilityShift + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>DateTime :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Code' value='" + ThreeDSecure_LookUp_Response.dtResponseSent + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>TransactionIndex :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='TransactionIndex' value='" + ThreeDSecure_LookUp_Response.uidTransactionIndex + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>Message :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Message' value='" + ThreeDSecure_LookUp_Response.tdsLookup.message + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td align='center'><a href='http://localhost:33213/Response_SubData/UpdateXML.aspx'><button>Show SubMission Data</button></a></td>"); Response.Write("</tr>"); Response.Write("</table>"); } } catch (InvalidDataException DataMissMatch) { PageEvent.LogErrorIntoTextFile(DataMissMatch, "ThreeDSecure_14: ThreeDSecure_LookUp_Response"); } } } catch (XmlException WriteRequestData) { PageEvent.LogErrorIntoTextFile(WriteRequestData, "ThreeDSecure_14: RequestXML_14.Load(Action_14_3DSLookUp)"); } } } catch (HttpRequestValidationException requestVarrialbes) { PageEvent.LogErrorIntoTextFile(requestVarrialbes, "ThreeDSecure_14: ThreeDSecure"); } } catch (DataMisalignedException Response) { PageEvent.LogErrorIntoTextFile(Response, "ThreeDSecure_14: Error Mapping Response To Action 15 XML"); } } catch (NullReferenceException ResError) { PageEvent.LogErrorIntoTextFile(ResError, "ThreeDSecure_14: Error Retrieving Response From WebService Action 14"); } } }
public bool Approve(int id, int approvalId, string userId) { var eventVer = _db.PageEventVersions.First(d => d.Id == id); if (eventVer != null) { var pageRouteId = _db.PageRouteVersions.Find(eventVer.PageRouteVersionId).PageRouteId; PageEvent pageEvent; if (eventVer.ChangeActionEnum == ChangeActionEnum.New) { pageEvent = new PageEvent { ApprovalDate = DateTime.Now, ApprovedById = userId, ArDescription = eventVer.ArDescription, CreatedById = eventVer.CreatedById, ArTitle = eventVer.ArTitle, CreationDate = eventVer.CreationDate, EnDescription = eventVer.EnDescription, EnTitle = eventVer.EnTitle, IsActive = eventVer.IsActive, IsDeleted = false, PageRouteId = pageRouteId.Value, ArAddress = eventVer.ArAddress, ArImageAlt = eventVer.ArImageAlt, ArUrl = eventVer.ArUrl, EnAddress = eventVer.EnAddress, EnImageAlt = eventVer.EnImageAlt, EnUrl = eventVer.EnUrl, EventCaption = eventVer.EventCaption, EventDateColor = eventVer.EventDateColor, EventEndDate = eventVer.EventEndDate, EventLat = eventVer.EventLat, EventLocation = eventVer.EventLocation, EventLocationUrl = eventVer.EventLocationUrl, EventLon = eventVer.EventLon, EventSocialLinks = eventVer.EventSocialLinks, EventStartDate = eventVer.EventStartDate, Order = eventVer.Order, SeoDescriptionAR = eventVer.SeoDescriptionAR, SeoDescriptionEN = eventVer.SeoDescriptionEN, SeoOgTitleAR = eventVer.SeoOgTitleAR, SeoOgTitleEN = eventVer.SeoOgTitleEN, SeoTitleAR = eventVer.SeoTitleAR, SeoTitleEN = eventVer.SeoTitleEN, SeoTwitterCardAR = eventVer.SeoTwitterCardAR, SeoTwitterCardEN = eventVer.SeoTwitterCardEN, ShowInHome = eventVer.ShowInHome }; _db.PageEvents.Add(pageEvent); } else if (eventVer.ChangeActionEnum == ChangeActionEnum.Update) { pageEvent = _db.PageEvents.Find(eventVer.PageEventId); pageEvent.ApprovalDate = DateTime.Now; pageEvent.ApprovedById = userId; pageEvent.ArDescription = eventVer.ArDescription; pageEvent.CreatedById = eventVer.CreatedById; pageEvent.ArTitle = eventVer.ArTitle; pageEvent.CreationDate = eventVer.CreationDate; pageEvent.EnDescription = eventVer.EnDescription; pageEvent.EnTitle = eventVer.EnTitle; pageEvent.IsActive = eventVer.IsActive; pageEvent.IsDeleted = false; pageEvent.PageRouteId = pageRouteId.Value; pageEvent.ArAddress = eventVer.ArAddress; pageEvent.ArImageAlt = eventVer.ArImageAlt; pageEvent.ArUrl = eventVer.ArUrl; pageEvent.EnAddress = eventVer.EnAddress; pageEvent.EnImageAlt = eventVer.EnImageAlt; pageEvent.EnUrl = eventVer.EnUrl; pageEvent.EventCaption = eventVer.EventCaption; pageEvent.EventDateColor = eventVer.EventDateColor; pageEvent.EventEndDate = eventVer.EventEndDate; pageEvent.EventLat = eventVer.EventLat; pageEvent.EventLocation = eventVer.EventLocation; pageEvent.EventLocationUrl = eventVer.EventLocationUrl; pageEvent.EventLon = eventVer.EventLon; pageEvent.EventSocialLinks = eventVer.EventSocialLinks; pageEvent.EventStartDate = eventVer.EventStartDate; pageEvent.Order = eventVer.Order; pageEvent.SeoDescriptionAR = eventVer.SeoDescriptionAR; pageEvent.SeoDescriptionEN = eventVer.SeoDescriptionEN; pageEvent.SeoOgTitleAR = eventVer.SeoOgTitleAR; pageEvent.SeoOgTitleEN = eventVer.SeoOgTitleEN; pageEvent.SeoTitleAR = eventVer.SeoTitleAR; pageEvent.SeoTitleEN = eventVer.SeoTitleEN; pageEvent.SeoTwitterCardAR = eventVer.SeoTwitterCardAR; pageEvent.SeoTwitterCardEN = eventVer.SeoTwitterCardEN; pageEvent.ShowInHome = eventVer.ShowInHome; _db.PageEvents.Update(pageEvent); } else { pageEvent = _db.PageEvents.Find(eventVer.PageEventId); pageEvent.IsDeleted = true; _db.PageEvents.Update(pageEvent); } _db.SaveChanges(); eventVer.VersionStatusEnum = VersionStatusEnum.Approved; eventVer.PageEventId = pageEvent.Id; _db.PageEventVersions.Update(eventVer); var notification = _db.ApprovalNotifications.Find(approvalId); notification.VersionStatusEnum = VersionStatusEnum.Approved; _db.ApprovalNotifications.Update(notification); var submittedEvents = _db.PageEventVersions.Where(d => d.PageRouteVersionId == eventVer.PageRouteVersionId && d.Id != id & d.VersionStatusEnum == VersionStatusEnum.Submitted).Any(); if (!submittedEvents) { var pageVer = _db.PageRouteVersions.Find(eventVer.PageRouteVersionId); pageVer.ContentVersionStatusEnum = VersionStatusEnum.Approved; _db.PageRouteVersions.Update(pageVer); } _db.SaveChanges(); return(true); } return(false); }
public override kCura.EventHandler.Console GetConsole(PageEvent pageEvent) { kCura.EventHandler.Console returnConsole = new kCura.EventHandler.Console() { Items = new List <IConsoleItem>(), Title = "Shiba Processor" };; //TODO: strings should be variables returnConsole.Items.Add(new ConsoleButton() { Name = "GetImage", DisplayText = "Get Image", Enabled = true, RaisesPostBack = true }); returnConsole.Items.Add(new ConsoleButton() { Name = "Correct", DisplayText = "Mark as Correct", Enabled = true, RaisesPostBack = true }); returnConsole.Items.Add(new ConsoleButton() { Name = "FalseNegative", DisplayText = "Mark as False Negative", Enabled = true, RaisesPostBack = true }); returnConsole.Items.Add(new ConsoleButton() { Name = "FalsePositive", DisplayText = "Mark as False Positive", Enabled = true, RaisesPostBack = true }); var viewImageButton = new ConsoleButton { Name = "ViewImage", DisplayText = "View Image", ToolTip = "View Image", RaisesPostBack = false, Enabled = true }; var imageLocation = String.Empty; DTOs.FieldValue field; using (IRSAPIClient proxy = Helper.GetServicesManager().CreateProxy <IRSAPIClient>(ExecutionIdentity.System)) { //Set the proxy to use the current workspace proxy.APIOptions.WorkspaceID = Helper.GetActiveCaseID(); var imageArtifactId = ActiveArtifact.ArtifactID; var rdoToRead = proxy.Repositories.RDO.ReadSingle(imageArtifactId); rdoToRead.ArtifactTypeGuids.Add(Helpers.Constants.IMAGE_OBJECT_GUID); field = rdoToRead.Fields.Get(Shibativity.Helpers.Constants.IMAGE_URL_FIELD_GUID); } if (field.Value == null) { return(returnConsole); } imageLocation = field.Value.ToString(); var openImageWindowJavaScript = $"window.open('{imageLocation}', '', 'location=no,scrollbars=no,menubar=no,toolbar=no,status=no,resizable=yes,width=800,height=800');"; viewImageButton.OnClickEvent = openImageWindowJavaScript; returnConsole.Items.Add(viewImageButton); return(returnConsole); }
public XPage() { this.AutoDataBindingEvent = PageEvent.PreRender; }
public override Console GetConsole(PageEvent pageEvent) { SvcManager = Helper.GetServicesManager(); WorkspaceArtifactId = Application.ArtifactID; Identity = ExecutionIdentity.CurrentUser; CurrentArtifactId = ActiveArtifact.ArtifactID; CurrentUserArtifactId = Helper.GetAuthenticationManager().UserInfo.ArtifactID; DbContextWorkspace = Helper.GetDBContext(WorkspaceArtifactId); DbContextEdds = Helper.GetDBContext(-1); var console = new Console { Items = new List <IConsoleItem>(), Title = "Manage Redaction Import Job" }; var validateButton = new ConsoleButton { Name = Constant.Buttons.VALIDATE, DisplayText = "Validate", ToolTip = "Click here to validate that redactions and documents exist before importing.", RaisesPostBack = true }; var submitButton = new ConsoleButton { Name = Constant.Buttons.SUBMIT, DisplayText = "Submit", ToolTip = "Click here to add this Import job to the queue.", RaisesPostBack = true }; var cancelButton = new ConsoleButton { Name = Constant.Buttons.CANCEL, DisplayText = "Cancel", ToolTip = "Click here to remove this Import job from the queue.", RaisesPostBack = true }; // ******************************************************************************************************* // // ********* // * * // ********* * // * * * * // * ********* // * * // ********* // // This functionality currently needs to be completed. // // If you are interested in building this functionality, please make sure to write associated unit tests. // The basic concept is that the Import Worker Agent will retrieve all the redactrions that were imported // for the selected job and delete them from the Redaction table. // ******************************************************************************************************* //var revertButton = new ConsoleButton //{ // Name = Constant.Buttons.REVERT, // DisplayText = "Revert", // ToolTip = "Click here to remove redactions created by this job.", // RaisesPostBack = true //}; if (pageEvent == PageEvent.PreRender) { var jobStatus = ActiveArtifact.Fields[GetArtifactIdByGuid(Constant.Guids.Field.MarkupUtilityImportJob.Status)].Value.Value.ToString(); SetButtonState(jobStatus, validateButton, submitButton, cancelButton); } console.Items.Add(validateButton); console.Items.Add(submitButton); console.Items.Add(cancelButton); //TODO - Complete Revert functionality //console.Items.Add(revertButton); console.AddRefreshLinkToConsole().Enabled = true; return(console); }
private void Page_Load(object sender, EventArgs e) { try { string MD = Request.Form["MD"]; string PaRes = Request.Form["PaRes"]; try { XmlDocument Action15_XML = new XmlDocument(); Action15_XML.Load(ThreeDSecure15); Action15_XML.SelectSingleNode("//transactionIndex").InnerText = MD; Action15_XML.SelectSingleNode("//paresPayload").InnerText = PaRes; Action15_XML.Save(ThreeDSecure15); try { XmlDocument Action_15 = new XmlDocument(); StringWriter stringWriter = new StringWriter(); XmlTextWriter xmlTextWriter = new XmlTextWriter(stringWriter); Action_15.Load(ThreeDSecure15); Action_15.WriteTo(xmlTextWriter); string WS_Action15 = stringWriter.ToString(); //**NB** GP: Added This Code To Ignore Certificate Validation In Staging ** Has To Be Removed When Code Is Published ServicePointManager.ServerCertificateValidationCallback = ((sender1, certificate, chain, sslPolicyErrors) => true); MyGate_Global_3D_Secure_Enterprise_Example.Authenticate.APIServiceClient ThreeDSecureAuthenticate = new MyGate_Global_3D_Secure_Enterprise_Example.Authenticate.APIServiceClient(); try { var ThreeDSecureAuthenticateResponse = ThreeDSecureAuthenticate.execRequest(WS_Action15); if (ThreeDSecureAuthenticateResponse.status.Equals("0")) { Response.Write("<br />"); Response.Write("<table align='center' width='75%' style='border:1px solid black;'>"); Response.Write("<tr>"); Response.Write("<td align='center' colspan='2' style='background-color:Green; font-size:14px; font-family:Verdana;'><font color='FFFFFF'><b>*** AUTHENTICATION RESULTS *** CARD ** HOLDER ** ENROLLED ***</b></font></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>cavv :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='cavv' value='" + ThreeDSecureAuthenticateResponse.tdsAuth.cavv + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>code :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Code' value='" + ThreeDSecureAuthenticateResponse.tdsAuth.code + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>eciFlag :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='eciFlag' value='" + ThreeDSecureAuthenticateResponse.tdsAuth.eciFlag + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>Liability Shift :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Liability Shift' value='" + ThreeDSecureAuthenticateResponse.tdsAuth.liabilityShift + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>message :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='message' value='" + ThreeDSecureAuthenticateResponse.tdsAuth.message + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>ParesStatus :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='ParesStatus' value='" + ThreeDSecureAuthenticateResponse.tdsAuth.paresStatus + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>signatureVerification :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='signatureVerification' value='" + ThreeDSecureAuthenticateResponse.tdsAuth.signatureVerification + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>xid :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='xid' value='" + ThreeDSecureAuthenticateResponse.tdsAuth.xid + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td align='center'><a href='http://localhost:33213/Response_SubData/UpdateXML.aspx'><button>ShowAllSubMissionData</button></a></td>"); Response.Write("</tr>"); Response.Write("</table>"); } else if (ThreeDSecureAuthenticateResponse.status.Equals("-1")) { Response.Write("<br />"); Response.Write("<table align='center' width='75%' style='border:1px solid black;'>"); Response.Write("<tr>"); Response.Write("<td align='center' colspan='2' style='background-color:Red; font-size:14px; font-family:Verdana;'><font color='FFFFFF'><b>*** E R R O R S ** D U R R I N G ** I N V O K A T I O N ***</b></font></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>Error Code :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Code' value='" + ThreeDSecureAuthenticateResponse.errors.error.code + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>Error Desc :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Desc' value='" + ThreeDSecureAuthenticateResponse.errors.error.message + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>Remidiate Action :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Desc' value='" + ThreeDSecureAuthenticateResponse.errors.error.description + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>DateTime :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Desc' value='" + ThreeDSecureAuthenticateResponse.dtResponseSent + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>TransactionIndex :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Desc' value='" + ThreeDSecureAuthenticateResponse.uidTransactionIndex + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td align='center'><a href='http://localhost:33213/Response_SubData/UpdateXML.aspx'><button>Show SubMission Data</button></a></td>"); Response.Write("</tr>"); Response.Write("</table>"); } } catch (HttpRequestValidationException CallWS_ACT15_PostConstruction) { PageEvent.LogErrorIntoTextFile(CallWS_ACT15_PostConstruction, "ThreeDSecure_15: CallWS_ACT15_PostConstruction"); } } catch (XmlException ConstructAction_15_XML_Doccument) { PageEvent.LogErrorIntoTextFile(ConstructAction_15_XML_Doccument, "ThreeDSecure_15: ConstructAction_15_XML_Doccument"); } try { XmlDocument Action1_XML = new XmlDocument(); Action1_XML.Load(ccPayements_1); Action1_XML.SelectSingleNode("//transactionIndex").InnerText = MD; Action1_XML.Save(ccPayements_1); try { AuthTxnID = MD; } catch (NullReferenceException PrePareForAction_1) { PageEvent.LogErrorIntoTextFile(PrePareForAction_1, "ThreeDSecure_15: PrePareForAction_1"); } try { XmlDocument Action_1 = new XmlDocument(); StringWriter stringWriter = new StringWriter(); XmlTextWriter xmlTextWriter = new XmlTextWriter(stringWriter); Action_1.Load(ccPayements_1); Action_1.WriteTo(xmlTextWriter); string WS_Action_1 = stringWriter.ToString(); MyGate_Global_3D_Secure_Enterprise_Example.ccPayments.APIServiceClient ccPayment = new MyGate_Global_3D_Secure_Enterprise_Example.ccPayments.APIServiceClient(); try { if (AuthTxnID == MD) { var Action_1_Response = ccPayment.execRequest(WS_Action_1); if (Action_1_Response.status.Equals("0")) { Response.Write("<br />"); Response.Write("<table align='center' width='75%' style='border:1px solid black;'>"); Response.Write("<tr>"); Response.Write("<td align='center' colspan='2' style='background-color:Green; font-size:14px; font-family:Verdana;'><font color='FFFFFF'><b>*** ACTION ** 1 ** RESULTS *** BANK ** RESPONSE ***</b></font></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>status :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='status' value='" + Action_1_Response.status + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>Date :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Date' value='" + Action_1_Response.dtRequestReceived + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>code :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='code' value='" + Action_1_Response.fspMessage.code + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>Processor Response :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='processorResponse' value='" + Action_1_Response.fspMessage.processorResponse + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>message :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='message' value='" + Action_1_Response.fspMessage.message + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>uiTransactionIndex :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='uiTransactionIndex' value='" + Action_1_Response.uidTransactionIndex + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>authorizationCode :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='authorizationCode' value='" + Action_1_Response.fspMessage.authorizationCode + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>cardCountry :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='cardCountry' value='" + Action_1_Response.mgMessage.cardCountry + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>currencyCode :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='currencyCode' value='" + Action_1_Response.mgMessage.currencyCode + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>eciFlag :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='eciFlag' value='" + Action_1_Response.mgMessage.eciFlag + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td align='center'><a href='http://localhost:33213/Response_SubData/UpdateXML.aspx'><button>Show SubMission Data</button></a></td>"); Response.Write("</tr>"); Response.Write("</table>"); try { XmlDocument Action3_XML = new XmlDocument(); Action3_XML.Load(ccPayements_3); Action3_XML.SelectSingleNode("//transactionIndex").InnerText = MD; Action3_XML.Save(ccPayements_3); XmlDocument Action2_XML = new XmlDocument(); Action2_XML.Load(ccPayements_2); Action2_XML.SelectSingleNode("//transactionIndex").InnerText = MD; Action2_XML.Save(ccPayements_2); } catch (XmlException) { throw new XmlException(); } } else { Response.Write("<br />"); Response.Write("<table align='center' width='75%' style='border:1px solid black;'>"); Response.Write("<tr>"); Response.Write("<td align='center' colspan='2' style='background-color:Red; font-size:14px; font-family:Verdana;'><font color='FFFFFF'><b>*** A C T I O N - 1 ** E R R O R S ** D U R R I N G ** I N V O K A T I O N ***</b></font></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>Error Code :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Code' value='" + Action_1_Response.errors.error.code + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>Error Desc :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Desc' value='" + Action_1_Response.errors.error.message + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>Remidiate Action :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Desc' value='" + Action_1_Response.errors.error.description + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>DateTime :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Desc' value='" + Action_1_Response.dtResponseSent + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td ><div align='left'>TransactionIndex :</div></td>"); Response.Write("<td ><input type='text' style='width:572' name='Error Desc' value='" + Action_1_Response.uidTransactionIndex + "'/></td>"); Response.Write("</tr>"); Response.Write("<tr>"); Response.Write("<td align='center'><a href='http://localhost:33213/Response_SubData/UpdateXML.aspx'><button>Show SubMission Data</button></a></td>"); Response.Write("</tr>"); Response.Write("</table>"); } } } catch (HttpRequestValidationException CallWS_ACT1_PostConstruction) { PageEvent.LogErrorIntoTextFile(CallWS_ACT1_PostConstruction, "ThreeDSecure_15: CallWS_ACT1_PostConstruction"); } } catch (XmlException ConstructAction_1_XML_Doccument) { PageEvent.LogErrorIntoTextFile(ConstructAction_1_XML_Doccument, "ThreeDSecure_15: ConstructAction_1_XML_Doccument"); } } catch (XmlException UpdateAction_1_RequestData) { PageEvent.LogErrorIntoTextFile(UpdateAction_1_RequestData, "ThreeDSecure_15: UpdateAction_1_RequestData"); } } catch (XmlException UpdateAction_15_RequestData) { PageEvent.LogErrorIntoTextFile(UpdateAction_15_RequestData, "ThreeDSecure_15: UpdateAction_15_RequestData"); } } catch (NullReferenceException SetPostBackValues) { PageEvent.LogErrorIntoTextFile(SetPostBackValues, "ThreeDSecure_15: SetPostBackValues"); } }
public XUserControl() { this.AutoDataBindingEvent = PageEvent.PreRender; }
public override kCura.EventHandler.Console GetConsole(PageEvent pageEvent) { int activeWorkspaceId = this.Helper.GetActiveCaseID(); //Construct a console object to build the console appearing in the UI. kCura.EventHandler.Console returnConsole = new kCura.EventHandler.Console(); returnConsole.Items = new List <IConsoleItem>(); returnConsole.Title = CONSOLE_TITLE; string select = "<h3 style='color:#11599E'>Comments Tree</h3>"; List <string> elements = new List <string>(); elements.Add(select); using (kCura.Relativity.Client.IRSAPIClient client = this.Helper.GetServicesManager().CreateProxy <kCura.Relativity.Client.IRSAPIClient>(Relativity.API.ExecutionIdentity.System)) { client.APIOptions.WorkspaceID = this.Helper.GetActiveCaseID(); Service.SqlService.CommentSqlService commentService = new Service.SqlService.CommentSqlService(this.Helper.GetDBContext(this.Helper.GetActiveCaseID())); Service.RSAPIService.CommentRSAPIService commentRSAPIService = new Service.RSAPIService.CommentRSAPIService(client); Data.Entities.Comment comment = commentRSAPIService.Get(this.ActiveArtifact.ArtifactID); comment.CommentChilds = commentService.GetCommentsChild(comment.ArtifactId); drawCommentTree2(ref elements, (comment.CommentChilds).ToList()); returnConsole.HTMLBlocks = elements; } ConsoleHeader header = new ConsoleHeader("Console Application"); //Construct the submit job button. ConsoleButton submitJobButton = new ConsoleButton(); submitJobButton.Name = INSERT_JOB_BUTTON_NAME; submitJobButton.DisplayText = INSERT_JOB_DISPLAY_TEXT; submitJobButton.ToolTip = INSERT_JOB_TOOL_TIP; submitJobButton.RaisesPostBack = true; submitJobButton.Enabled = true; //Construct the delete job button ConsoleButton deleteJobButton = new ConsoleButton() { Name = DELETE_JOB_BUTTON_NAME, DisplayText = DELETE_JOB_DISPLAY_TEXT, ToolTip = DELETE_JOB_TOOL_TIP, RaisesPostBack = true, Enabled = true }; //Button to see the comment data ConsoleButton seeCommentButton = new ConsoleButton() { Name = "See Comment Data", DisplayText = "Commen Data", ToolTip = "Comment Data", RaisesPostBack = true, Enabled = true }; ConsoleSeparator separador = new ConsoleSeparator(); //If a job is already in the queue, change the text and disable the button. if (pageEvent == PageEvent.PreRender) { SqlParameter commentArtifactId = new SqlParameter("@commentArtifacId", System.Data.SqlDbType.Int); commentArtifactId.Value = ActiveArtifact.ArtifactID; int jobCount = this.Helper.GetDBContext(activeWorkspaceId).ExecuteSqlStatementAsScalar <Int32>(JOB_EXISTS_QUERY, new SqlParameter[] { commentArtifactId }); //Use the helper function to check if a job currently exists. Set Enabled to the opposite value. if (jobCount > 0) { submitJobButton.Enabled = false; deleteJobButton.Enabled = true; } else { submitJobButton.Enabled = true; deleteJobButton.Enabled = false; } //Get the base path to the application. String basePath = this.Application.ApplicationUrl.Substring(0, this.Application.ApplicationUrl.IndexOf("/Case/Mask/")); //Construct the path to the custom page with the current patient artifact id and current workspace. String patientProfilePageUrl = String.Format("{0}/CustomPages/{1}/Home/Index/?artifacId={2}", basePath, COMMENT_HISTORY_APPLICATION_GUID, ActiveArtifact.ArtifactID); //Create the JavaScript for the button and set the button property. String windowOpenJavaScript = String.Format("window.open('{0}', '', 'location=no,scrollbars=yes,menubar=no,toolbar=no,status=no,resizable=yes,width=300,height=400');", patientProfilePageUrl); seeCommentButton.OnClickEvent = windowOpenJavaScript; } //Add the buttons to the console. returnConsole.Items.Add(header); returnConsole.Items.Add(submitJobButton); returnConsole.Items.Add(deleteJobButton); returnConsole.Items.Add(seeCommentButton); returnConsole.Items.Add(separador); return(returnConsole); }