private static void Main(string[] args) { // Declare credentials to be used with the Stage Transaction Request string credentialsName = "TEST MERCHANT"; string credentialsSiteID = "XXXXXXXX"; string credentialsKey = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"; // Build Transport request details Console.WriteLine("Staging Transaction{0}", Environment.NewLine); TransportServiceSoapClient transportServiceSoapClient = new TransportServiceSoapClient(); TransportRequest transportRequest = new TransportRequest { TransactionType = "sale", Amount = 1.01M, ClerkId = "1", OrderNumber = "1126", Dba = "Test DBA", SoftwareName = "Test Software", SoftwareVersion = "1.0", TransactionId = "102911", TerminalId = "01", PoNumber = "PO12345", ForceDuplicate = true, }; // Stage Transaction TransportResponse transportResponse = transportServiceSoapClient.CreateTransaction(credentialsName, credentialsSiteID, credentialsKey, transportRequest); string transportKey = transportResponse.TransportKey; Console.WriteLine("TransportKey Received = {0}{1}", transportKey, Environment.NewLine); // Close application Console.WriteLine("Press Any Key to Close"); Console.ReadKey(); }
public async Task <IHttpActionResult> AssignJob([FromBody] AsssignJobRequest request) { try { var pickUp = new AddressDetail(request.PickupAddress); var delivery = new AddressDetail(request.DeliveryAddress); var newJob = new TransportRequest(pickUp, delivery) { DeliveryDate = DateTime.Now, PreferredDeliveryTime = StaticTransportRequest.DeliveryTime.Morning }; var response = await _transportManagementService.AddTransportRequest(newJob); if (response.IsValid == false) { return(Ok(new ApiBadRequestResponse(400, response.Errors))); } return(Ok(new ApiOkResponse(response.Object, response.Object != null ? 1 : 0))); } catch (Exception ex) { //Log here return(BadRequest()); } }
private static void Main(string[] args) { // Declare credentials to be used with the Stage Transaction Request string credentialsName = "TEST MERCHANT"; string credentialsSiteID = "XXXXXXXX"; string credentialsKey = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"; string ipAddress = "192.168.0.123"; // Build Transport request details Console.WriteLine("Staging Transaction{0}", Environment.NewLine); TransportServiceSoapClient transportServiceSoapClient = new TransportServiceSoapClient(); TransportRequest transportRequest = new TransportRequest { TransactionType = "sale", Amount = 1.01M, ClerkId = "1", OrderNumber = "1126", Dba = "Test DBA", SoftwareName = "Test Software", SoftwareVersion = "1.0", TransactionId = "102911", TerminalId = "01", PoNumber = "PO12345", ForceDuplicate = true, }; // Stage Transaction TransportResponse transportResponse = transportServiceSoapClient.CreateTransaction(credentialsName, credentialsSiteID, credentialsKey, transportRequest); string transportKey = transportResponse.TransportKey; Console.WriteLine("TransportKey Received = {0}{1}", transportKey, Environment.NewLine); // Initiate transaction with TransportKey WebRequest webReq = WebRequest.Create($"http://{ipAddress}:8080/v2/pos?TransportKey={transportKey}&Format=XML"); using (WebResponse webResp = webReq.GetResponse()) { using (Stream responseStream = webResp.GetResponseStream()) { // Validate XML to Genius XSD class StreamReader streamReader = new StreamReader(responseStream); XmlSerializer xmlSerializer = new XmlSerializer(typeof(TransactionResult)); TransactionResult transactionResult = (TransactionResult)xmlSerializer.Deserialize(streamReader); Console.WriteLine("Transaction Result: {0}", transactionResult.Status); Console.WriteLine("Amount: {0}", transactionResult.AmountApproved); Console.WriteLine("AuthCode: {0}", transactionResult.AuthorizationCode); Console.WriteLine("Token: {0}", transactionResult.Token); Console.WriteLine("Account Number: {0}", transactionResult.AccountNumber); } } // Close application Console.WriteLine("Press Any Key to Close"); Console.ReadKey(); }
private static void Main(string[] args) { // Declare credentials to be used with the Stage Transaction Request string credentialsName = "TEST MERCHANT"; string credentialsSiteID = "XXXXXXXX"; string credentialsKey = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"; string ipAddress = "192.168.0.123"; // Build Transport request details Console.WriteLine("Staging Transaction{0}", Environment.NewLine); TransportServiceSoapClient transportServiceSoapClient = new TransportServiceSoapClient(); TransportRequest transportRequest = new TransportRequest { TransactionType = "sale", Amount = 1.01M, ClerkId = "1", OrderNumber = "1126", Dba = "Test DBA", SoftwareName = "Test Software", SoftwareVersion = "1.0", TransactionId = "102911", TerminalId = "01", PoNumber = "PO12345", ForceDuplicate = true, }; // Stage Transaction TransportResponse transportResponse = transportServiceSoapClient.CreateTransaction(credentialsName, credentialsSiteID, credentialsKey, transportRequest); string transportKey = transportResponse.TransportKey; Console.WriteLine("TransportKey Received = {0}{1}", transportKey, Environment.NewLine); // Initiate transaction thread with received TransportKey Task <object> transactionResultTask = GeniusRequest($"http://{ipAddress}:8080/v2/pos?TransportKey={transportKey}&Format=XML", typeof(TransactionResult)); // Wait 5 seconds Console.WriteLine("Waiting 5 seconds before canceling transaction"); Thread.Sleep(5000); CancelResult cancelResult = (CancelResult)GeniusRequest($"http://{ipAddress}:8080/pos?Action=Cancel&Format=XML", typeof(CancelResult)).Result; Console.WriteLine("Cancel Result: {0}", cancelResult.Status); // Wait for Transaction Results then output transactionResultTask.Wait(); TransactionResult transactionResult = (TransactionResult)transactionResultTask.Result; Console.WriteLine("Transaction Result: {0}", transactionResult.Status); Console.WriteLine("Amount: {0}", transactionResult.AmountApproved); Console.WriteLine("AuthCode: {0}", transactionResult.AuthorizationCode); Console.WriteLine("Token: {0}", transactionResult.Token); Console.WriteLine("Account Number: {0}", transactionResult.AccountNumber); // Close application Console.WriteLine("Press Any Key to Close"); Console.ReadKey(); }
public void transportRequest(int c2s_transportId, Action <PomeloException, TransportResponse> cb, object option = null) { var request = new TransportRequest(); request.c2s_transportId = c2s_transportId; _socket.request <TransportResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => { var rsp = msg as TransportResponse; s2c_code = rsp.s2c_code; s2c_msg = rsp.s2c_msg; return(s2c_code == 200); }, cb, option); }
// Methods public ResultPromise <TransportResponse> Send(TransportRequest request) { #region Contracts if (request == null) { throw new ArgumentNullException(); } #endregion // Send throw new NotImplementedException(); }
private bool IsAllowAnonymous(TransportRequest request) { #region Contracts if (request == null) { throw new ArgumentNullException(); } #endregion // Require if (request.Headers.ContainsKey(AllowAnonymousHeaderKey) == true) { if (request.Headers[AllowAnonymousHeaderKey] == "true") { return(true); } } // Return return(false); }
public async Task <EntityValidationResult <TransportRequest> > AddTransportRequest(TransportRequest data) { try { var result = new EntityValidationResult <TransportRequest>(); var validationResult = _validator.Validate(data); result.IsValid = validationResult.IsValid; result.Object = data; if (validationResult.IsValid) { data.Id = Guid.NewGuid(); _transportRequestRepository.Create(data); await _transportRequestRepository.SaveAsync(); } else { result.Errors = validationResult.Errors.Select(x => new EntityValidationFailure { PropertyName = x.PropertyName, ErrorMessage = x.ErrorMessage }).ToList(); } return(result); } catch (Exception ex) { throw ex; } }
// Methods public override ResultPromise <TransportResponse> Send(TransportRequest request) { #region Contracts if (request == null) { throw new ArgumentNullException(); } #endregion // Result ResultPromise <TransportResponse> promise = new ResultPromise <TransportResponse>(); // IsAuthenticated if (_identityContext.CurrentUser.IsAuthenticated() == false) { if (this.IsAllowAnonymous(request) == false) { // Reject promise.Reject(new UnauthorizedException()); // Return return(promise); } } // Send base.Send(request) // Success .Then(delegate(TransportResponse response) { // Resolve promise.Resolve(response); }) // Fail .Fail(delegate(Exception error) { try { // Require if (error is UnauthorizedException) { if (this.IsAllowAnonymous(request) == true) { error = new Exception(error.Message); } } // Reject promise.Reject(error); // Notify if (error is UnauthorizedException) { this.OnUnauthorized(); } } catch (Exception ex) { // Reject promise.Reject(ex); } }); // Return return(promise); }
static void Main(string[] args) { GeniusMethods gMethods = new GeniusMethods(); //Ask user to input MerchantWARE Credentials //Console.WriteLine("Enter MerchantWARE credentials - Name, SiteID, Key" + Environment.NewLine); //Console.WriteLine("Press Enter after each value" + Environment.NewLine); //Declare credentials entered as String, to be used with the Stage Transaction Request string credentialsName = "mltest"; //Console.ReadLine(); string credentialsSiteID = "11111111"; // Console.ReadLine(); string credentialsKey = "11111-11111-11111-11111-11111"; //Console.ReadLine(); //Console.WriteLine("" + Environment.NewLine); //Request for TransportKey Console.WriteLine("Staging Transaction" + Environment.NewLine); TransportServiceSoapClient TransportSoap = new TransportServiceSoapClient(); TransportRequest TransportReq = new TransportRequest(); TransportResponse TransportRes = new TransportResponse(); //TransportRequest Object Parameters TransportReq.TransactionType = "sale"; TransportReq.Amount = 1.01M; TransportReq.ClerkId = "1"; TransportReq.OrderNumber = "1126"; TransportReq.Dba = "Test DBA"; TransportReq.SoftwareName = "Test Software"; TransportReq.SoftwareVersion = "1.0"; TransportReq.TransactionId = "102911"; TransportReq.TerminalId = "01"; TransportReq.PoNumber = "PO12345"; TransportReq.ForceDuplicate = true; //Stage Transaction Request Parameters TransportRes = TransportSoap.CreateTransaction(credentialsName, credentialsSiteID, credentialsKey, TransportReq); //Receive TransportKey, Declare as String, display TransportKey on-screen string TPKey = TransportRes.TransportKey; Console.WriteLine("TransportKey Received = " + TPKey + Environment.NewLine); //Ask user to input IP Address of Genius Console.WriteLine("Enter Genius IP Address and press Enter" + Environment.NewLine); string ipAddress = Console.ReadLine(); Console.WriteLine(lineBreak); //Initiate transaction GeniusThreader(ipAddress, TPKey, "TransportKey", "XML"); Thread.Sleep(200); GeniusThreader(ipAddress, "", "Status", "XML"); Thread.Sleep(200); GeniusThreader(ipAddress, "", "Status", "XML"); //Default function to status string function = "status"; //Start loop for additional functions while (true) { //Request function from user. Escape the loop on a blank input function = Console.ReadLine(); if (function != "") { GeniusThreader(ipAddress, TPKey, function, "XML"); } else { break; } } //Close application Console.WriteLine("Press Enter to Close"); Console.ReadKey(); }