internal static void AddWrapper(ComWrapper wrapper) { if (s_wrappers != null) { s_wrappers.Add(wrapper); } }
public void SettlementInit_OnValidResponse_ReturnObjects() { // arrange var secrets = SpiClientTestUtils.SetTestSecrets(); const string jsonStr = @"{""message"":{""data"":{""accumulacxted_purchase_count"":""1"",""accumulated_purchase_value"":""1000"",""accumulated_settle_by_acquirer_count"":""1"",""accumulated_settle_by_acquirer_value"":""1000"",""accumulated_total_count"":""1"",""accumulated_total_value"":""1000"",""bank_date"":""14062019"",""bank_time"":""160940"",""host_response_code"":""941"",""host_response_text"":""CUTOVER COMPLETE"",""merchant_acquirer"":""EFTPOS FROM BANK SA"",""merchant_address"":""213 Miller Street"",""merchant_city"":""Sydney"",""merchant_country"":""Australia"",""merchant_name"":""Merchant4"",""merchant_postcode"":""2060"",""merchant_receipt"":""EFTPOS FROM BANK SA\r\nMerchant4\r\n213 Miller Street\r\nSydney 2060\r\n\r\nAustralia\r\n\r\n\r\n SETTLEMENT CUTOVER\r\nTSP 100612348842\r\nTIME 14JUN19 16:09\r\nTRAN 001137-001137\r\nFROM 13JUN19 20:00\r\nTO 14JUN19 16:09\r\n\r\nDebit\r\nTOT 0 $0.00\r\n\r\nMasterCard\r\nTOT 0 $0.00\r\n\r\nVisa\r\nPUR 1 $10.00\r\nTOT 1 $10.00\r\n\r\nBANKED 1 $10.00\r\n\r\nAmex\r\nTOT 0 $0.00\r\n\r\nDiners\r\nTOT 0 $0.00\r\n\r\nJCB\r\nTOT 0 $0.00\r\n\r\nUnionPay\r\nTOT 0 $0.00\r\n\r\nTOTAL\r\nPUR 1 $10.00\r\nTOT 1 $10.00\r\n\r\n (941) CUTOVER COMP\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"",""schemes"":[{""scheme_name"":""Debit"",""settle_by_acquirer"":""Yes"",""total_count"":""0"",""total_value"":""0""},{""scheme_name"":""MasterCard"",""settle_by_acquirer"":""Yes"",""total_count"":""0"",""total_value"":""0""},{""scheme_name"":""Visa"",""settle_by_acquirer"":""Yes"",""total_count"":""1"",""total_purchase_count"":""1"",""total_purchase_value"":""1000"",""total_value"":""1000""},{""scheme_name"":""Amex"",""settle_by_acquirer"":""No"",""total_count"":""0"",""total_value"":""0""},{""scheme_name"":""Diners"",""settle_by_acquirer"":""No"",""total_count"":""0"",""total_value"":""0""},{""scheme_name"":""JCB"",""settle_by_acquirer"":""No"",""total_count"":""0"",""total_value"":""0""},{""scheme_name"":""UnionPay"",""settle_by_acquirer"":""No"",""total_count"":""0"",""total_value"":""0""}],""settlement_period_end_date"":""14Jun19"",""settlement_period_end_time"":""16:09"",""settlement_period_start_date"":""13Jun19"",""settlement_period_start_time"":""20:00"",""settlement_triggered_date"":""14Jun19"",""settlement_triggered_time"":""16:09:40"",""stan"":""000000"",""success"":true,""terminal_id"":""100612348842"",""transaction_range"":""001137-001137""},""datetime"":""2019-06-14T16:09:46.395"",""event"":""settle_response"",""id"":""settle116""}}"; // act var msg = Message.FromJson(jsonStr, secrets); var comWrapper = new ComWrapper(); var response = comWrapper.SettlementInit(msg); // assert Assert.Equal("settle_response", msg.EventName); Assert.True(response.Success); Assert.Equal("settle116", response.RequestId); Assert.Equal(1, response.GetSettleByAcquirerCount()); Assert.Equal(1000, response.GetSettleByAcquirerValue()); Assert.Equal(1, response.GetTotalCount()); Assert.Equal(1000, response.GetTotalValue()); Assert.Equal(DateTime.ParseExact(msg.GetDataStringValue("settlement_period_start_time") + msg.GetDataStringValue("settlement_period_start_date"), "HH:mmddMMMyy", CultureInfo.InvariantCulture), response.GetPeriodStartTime()); Assert.Equal(DateTime.ParseExact(msg.GetDataStringValue("settlement_period_end_time") + msg.GetDataStringValue("settlement_period_end_date"), "HH:mmddMMMyy", CultureInfo.InvariantCulture), response.GetPeriodEndTime()); Assert.Equal(DateTime.ParseExact(msg.GetDataStringValue("settlement_triggered_time") + msg.GetDataStringValue("settlement_triggered_date"), "HH:mm:ssddMMMyy", CultureInfo.InvariantCulture), response.GetTriggeredTime()); Assert.Equal("CUTOVER COMPLETE", response.GetResponseText()); Assert.NotNull(response.GetReceipt()); Assert.Equal("001137-001137", response.GetTransactionRange()); Assert.Equal("100612348842", response.GetTerminalId()); Assert.False(response.WasMerchantReceiptPrinted()); Assert.Equal(msg.Data["schemes"].ToArray().Select(jToken => new SchemeSettlementEntry((JObject)jToken)).ToList().Count, response.GetSchemeSettlementEntries().ToList().Count); }
/// <summary> /// Call this to get the running outlook application, or create a new instance /// </summary> /// <returns>IOutlookApplication</returns> private static IOutlookApplication GetOrCreateOutlookApplication() { var outlookApplication = ComWrapper.GetOrCreateInstance <IOutlookApplication>(); InitializeVariables(outlookApplication); return(outlookApplication); }
public void GetSchemeSettlementEntries_OnValidResponse_ReturnCount() { // arrange var stlEnqMsg = new SettlementEnquiryRequest(RequestIdHelper.Id("stlenq")).ToMessage(); var transactionFlowState = new TransactionFlowState("1", TransactionType.SettlementEnquiry, 0, stlEnqMsg, $"Waiting for EFTPOS connection to make a settlement enquiry"); var secrets = SpiClientTestUtils.SetTestSecrets(); const string jsonStr = @"{""message"":{""data"":{""accumulacxted_purchase_count"":""1"",""accumulated_purchase_value"":""1000"",""accumulated_settle_by_acquirer_count"":""1"",""accumulated_settle_by_acquirer_value"":""1000"",""accumulated_total_count"":""1"",""accumulated_total_value"":""1000"",""bank_date"":""14062019"",""bank_time"":""160940"",""host_response_code"":""941"",""host_response_text"":""CUTOVER COMPLETE"",""merchant_acquirer"":""EFTPOS FROM BANK SA"",""merchant_address"":""213 Miller Street"",""merchant_city"":""Sydney"",""merchant_country"":""Australia"",""merchant_name"":""Merchant4"",""merchant_postcode"":""2060"",""merchant_receipt"":""EFTPOS FROM BANK SA\r\nMerchant4\r\n213 Miller Street\r\nSydney 2060\r\n\r\nAustralia\r\n\r\n\r\n SETTLEMENT CUTOVER\r\nTSP 100612348842\r\nTIME 14JUN19 16:09\r\nTRAN 001137-001137\r\nFROM 13JUN19 20:00\r\nTO 14JUN19 16:09\r\n\r\nDebit\r\nTOT 0 $0.00\r\n\r\nMasterCard\r\nTOT 0 $0.00\r\n\r\nVisa\r\nPUR 1 $10.00\r\nTOT 1 $10.00\r\n\r\nBANKED 1 $10.00\r\n\r\nAmex\r\nTOT 0 $0.00\r\n\r\nDiners\r\nTOT 0 $0.00\r\n\r\nJCB\r\nTOT 0 $0.00\r\n\r\nUnionPay\r\nTOT 0 $0.00\r\n\r\nTOTAL\r\nPUR 1 $10.00\r\nTOT 1 $10.00\r\n\r\n (941) CUTOVER COMP\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"",""schemes"":[{""scheme_name"":""Debit"",""settle_by_acquirer"":""Yes"",""total_count"":""0"",""total_value"":""0""},{""scheme_name"":""MasterCard"",""settle_by_acquirer"":""Yes"",""total_count"":""0"",""total_value"":""0""},{""scheme_name"":""Visa"",""settle_by_acquirer"":""Yes"",""total_count"":""1"",""total_purchase_count"":""1"",""total_purchase_value"":""1000"",""total_value"":""1000""},{""scheme_name"":""Amex"",""settle_by_acquirer"":""No"",""total_count"":""0"",""total_value"":""0""},{""scheme_name"":""Diners"",""settle_by_acquirer"":""No"",""total_count"":""0"",""total_value"":""0""},{""scheme_name"":""JCB"",""settle_by_acquirer"":""No"",""total_count"":""0"",""total_value"":""0""},{""scheme_name"":""UnionPay"",""settle_by_acquirer"":""No"",""total_count"":""0"",""total_value"":""0""}],""settlement_period_end_date"":""14Jun19"",""settlement_period_end_time"":""16:09"",""settlement_period_start_date"":""13Jun19"",""settlement_period_start_time"":""20:00"",""settlement_triggered_date"":""14Jun19"",""settlement_triggered_time"":""16:09:40"",""stan"":""000000"",""success"":true,""terminal_id"":""100612348842"",""transaction_range"":""001137-001137""},""datetime"":""2019-06-14T16:09:46.395"",""event"":""settle_response"",""id"":""settle116""}}"; // act var msg = Message.FromJson(jsonStr, secrets); transactionFlowState.Response = msg; var comWrapper = new ComWrapper(); var schemeArray = comWrapper.GetSchemeSettlementEntries(transactionFlowState); var settleResponse = new Settlement(transactionFlowState.Response); var schemes = settleResponse.GetSchemeSettlementEntries(); var schemeList = new List <SchemeSettlementEntry>(); foreach (var s in schemes) { schemeList.Add(s); } // assert Assert.Equal(schemeArray.ToList().Count, schemeList.Count); }
/// <summary> /// Call this to get the running Excel application, or create a new instance /// </summary> /// <returns>IExcelApplication</returns> private static IExcelApplication GetOrCreateExcelApplication() { var excelApplication = ComWrapper.GetOrCreateInstance <IExcelApplication>(); InitializeVariables(excelApplication); return(excelApplication); }
/// <summary> /// Call this to get the running powerpoint application, or create a new instance /// </summary> /// <returns>IPowerpointApplication</returns> private static IPowerpointApplication GetOrCreatePowerpointApplication() { var powerpointApplication = ComWrapper.GetOrCreateInstance <IPowerpointApplication>(); InitializeVariables(powerpointApplication); return(powerpointApplication); }
/// <summary> /// Call this to get the running word application, or create a new instance /// </summary> /// <returns>IWordApplication</returns> private static IWordApplication GetOrCreateWordApplication() { var wordApplication = ComWrapper.GetOrCreateInstance <IWordApplication>(); InitializeVariables(wordApplication); return(wordApplication); }
/// <summary> /// Export the capture to the specified page /// </summary> /// <param name="surfaceToUpload">ISurface</param> /// <param name="page">OneNotePage</param> /// <returns>bool true if everything worked</returns> public static bool ExportToPage(ISurface surfaceToUpload, OneNotePage page) { using (var oneNoteApplication = ComWrapper.GetOrCreateInstance <IOneNoteApplication>()) { return(ExportToPage(oneNoteApplication, surfaceToUpload, page)); } }
public void AccountVerifyResponseInit_OnValidResponse_ReturnObjects() { // arrange var secrets = SpiClientTestUtils.SetTestSecrets(); const string jsonStr = @"{""message"":{""data"":{""account_type"":""CREDIT"",""auth_code"":""316810"",""bank_date"":""11062019"",""bank_settlement_date"":""11062019"",""bank_time"":""182739"",""card_entry"":""EMV_INSERT"",""currency"":""AUD"",""customer_receipt"":""EFTPOS FROM BANK SA\r\nMerchant4\r\n213 Miller Street\r\nSydney 2060\r\nAustralia\r\n\r\nTIME 11JUN19 18:27\r\nMID 22341842\r\nTSP 100612348842\r\nRRN 190611001109\r\nVisa Credit \r\nVisa(I) CR\r\nCARD............3952\r\nAID A0000000031010\r\nTVR 0080048000\r\nAUTH 316810\r\n\r\nA/C VERIFIED AUD0.00\r\n\r\n (000) APPROVED\r\n\r\n *CUSTOMER COPY*\r\n\r\n\r\n\r\n\r\n\r\n\r\n"",""customer_receipt_printed"":false,""emv_actioncode"":""TC"",""emv_actioncode_values"":""F1F17B37A5BEF2B1"",""emv_pix"":""1010"",""emv_rid"":""A000000003"",""emv_tsi"":""F800"",""emv_tvr"":""0080048000"",""expiry_date"":""1122"",""host_response_code"":""000"",""host_response_text"":""APPROVED"",""informative_text"":"" "",""masked_pan"":""............3952"",""merchant_acquirer"":""EFTPOS FROM BANK SA"",""merchant_addr"":""213 Miller Street"",""merchant_city"":""Sydney"",""merchant_country"":""Australia"",""merchant_id"":""22341842"",""merchant_name"":""Merchant4"",""merchant_postcode"":""2060"",""merchant_receipt"":""EFTPOS FROM BANK SA\r\nMerchant4\r\n213 Miller Street\r\nSydney 2060\r\nAustralia\r\n\r\nTIME 11JUN19 18:27\r\nMID 22341842\r\nTSP 100612348842\r\nRRN 190611001109\r\nVisa Credit \r\nVisa(I) CR\r\nCARD............3952\r\nAID A0000000031010\r\nTVR 0080048000\r\nAUTH 316810\r\n\r\nA/C VERIFIED AUD0.00\r\n\r\n (000) APPROVED\r\n\r\n\r\n\r\n\r\n\r\n\r\n"",""merchant_receipt_printed"":false,""online_indicator"":""Y"",""pos_ref_id"":""actvfy-11-06-2019-18-27-39"",""rrn"":""190611001109"",""scheme_app_name"":""Visa Credit"",""scheme_name"":""Visa"",""stan"":""001109"",""success"":true,""terminal_id"":""100612348842"",""terminal_ref_id"":""12348842_11062019182754"",""transaction_type"":""A/C VERIFIED""},""datetime"":""2019-06-11T18:27:54.933"",""event"":""account_verify_response"",""id"":""prav15""}}"; // act var msg = Message.FromJson(jsonStr, secrets); var comWrapper = new ComWrapper(); var response = comWrapper.AccountVerifyResponseInit(msg); // assert Assert.Equal("account_verify_response", msg.EventName); Assert.Equal("actvfy-11-06-2019-18-27-39", response.PosRefId); Assert.True(response.Details.Success); Assert.Equal("prav15", response.Details.RequestId); Assert.Equal("Visa", response.Details.SchemeName); Assert.Equal("190611001109", response.Details.GetRRN()); Assert.NotNull(response.Details.GetCustomerReceipt()); Assert.NotNull(response.Details.GetMerchantReceipt()); Assert.Equal("APPROVED", response.Details.GetResponseText()); Assert.Equal("000", response.Details.GetResponseCode()); Assert.Equal("EMV_INSERT", response.Details.GetCardEntry()); Assert.Equal("CREDIT", response.Details.GetAccountType()); Assert.Equal("316810", response.Details.GetAuthCode()); Assert.Equal("11062019", response.Details.GetBankDate()); Assert.Equal("182739", response.Details.GetBankTime()); Assert.Equal("............3952", response.Details.GetMaskedPan()); Assert.Equal("100612348842", response.Details.GetTerminalId()); Assert.False(response.Details.WasCustomerReceiptPrinted()); Assert.False(response.Details.WasMerchantReceiptPrinted()); Assert.Equal(DateTime.ParseExact(msg.GetDataStringValue("bank_settlement_date"), "ddMMyyyy", CultureInfo.InvariantCulture).Date, response.Details.GetSettlementDate()); }
public void CashoutOnlyResponseInit_OnValidResponse_ReturnObjects() { // arrange const string jsonStr = @"{""message"": {""data"":{""account_type"":""SAVINGS"",""auth_code"":""265035"",""bank_cash_amount"":1200,""bank_date"":""17062018"",""bank_settlement_date"":""18062018"",""bank_time"":""170950"",""card_entry"":""EMV_INSERT"",""cash_amount"":1200,""currency"":""AUD"",""customer_receipt"":""EFTPOS FROM WESTPAC\\r\\nMerchant4\\r\\n213 Miller Street\\r\\nSydney 2060\\r\\nAustralia\\r\\n\\r\\nTIME 17JUN18 17:09\\r\\nMID 22341845\\r\\nTSP 100312348845\\r\\nRRN 180617000151\\r\\nDebit(I) SAV\\r\\nCARD............2797\\r\\nAUTH 265035\\r\\n\\r\\nCASH AUD10.00\\r\\nSURCHARGE AUD2.00\\r\\nTOTAL AUD12.00\\r\\n\\r\\n (000) APPROVED\\r\\n\\r\\n *CUSTOMER COPY*\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n"",""customer_receipt_printed"":true,""expiry_date"":""0722"",""host_response_code"":""000"",""host_response_text"":""APPROVED"",""informative_text"":"" "",""masked_pan"":""............2797"",""merchant_acquirer"":""EFTPOS FROM WESTPAC"",""merchant_addr"":""213 Miller Street"",""merchant_city"":""Sydney"",""merchant_country"":""Australia"",""merchant_id"":""22341845"",""merchant_name"":""Merchant4"",""merchant_postcode"":""2060"",""merchant_receipt"":""EFTPOS FROM WESTPAC\\r\\nMerchant4\\r\\n213 Miller Street\\r\\nSydney 2060\\r\\nAustralia\\r\\n\\r\\nTIME 17JUN18 17:09\\r\\nMID 22341845\\r\\nTSP 100312348845\\r\\nRRN 180617000151\\r\\nDebit(I) SAV\\r\\nCARD............2797\\r\\nAUTH 265035\\r\\n\\r\\nCASH AUD10.00\\r\\nSURCHARGE AUD2.00\\r\\nTOTAL AUD12.00\\r\\n\\r\\n (000) APPROVED\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n"",""merchant_receipt_printed"":true,""online_indicator"":""Y"",""pos_ref_id"":""launder-18-06-2018-03-09-17"",""rrn"":""180617000151"",""scheme_name"":""Debit"",""stan"":""000151"",""success"":true,""surcharge_amount"":200,""terminal_id"":""100312348845"",""terminal_ref_id"":""12348845_18062018031010"",""transaction_type"":""CASH""},""datetime"":""2018-06-18T03:10:10.580"",""event"":""cash_response"",""id"":""cshout4""}}"; // act var msg = Message.FromJson(jsonStr, null); var comWrapper = new ComWrapper(); var response = comWrapper.CashoutOnlyResponseInit(msg); // assert Assert.True(response.Success); Assert.Equal("cshout4", response.RequestId); Assert.Equal("launder-18-06-2018-03-09-17", response.PosRefId); Assert.Equal("Debit", response.SchemeName); Assert.Equal("180617000151", response.GetRRN()); Assert.Equal(1200, response.GetCashoutAmount()); Assert.Equal(0, response.GetBankNonCashAmount()); Assert.Equal(1200, response.GetBankCashAmount()); Assert.Equal(200, response.GetSurchargeAmount()); Assert.NotNull(response.GetCustomerReceipt()); Assert.Equal("APPROVED", response.GetResponseText()); Assert.Equal("000", response.GetResponseCode()); Assert.Equal("12348845_18062018031010", response.GetTerminalReferenceId()); Assert.Equal("SAVINGS", response.GetAccountType()); Assert.Equal("17062018", response.GetBankDate()); Assert.NotNull(response.GetMerchantReceipt()); Assert.Equal("170950", response.GetBankTime()); Assert.Equal("............2797", response.GetMaskedPan()); Assert.Equal("100312348845", response.GetTerminalId()); Assert.Equal("265035", response.GetAuthCode()); Assert.True(response.WasCustomerReceiptPrinted()); Assert.True(response.WasMerchantReceiptPrinted()); Assert.Equal(response.GetResponseValue("pos_ref_id"), response.PosRefId); }
public void GetLastTransactionResponseInit_OnValidResponse_ReturnObjects() { // arrange var secrets = SpiClientTestUtils.SetTestSecrets(); const string jsonStr = @"{""message"":{""data"":{""account_type"":""CREDIT"",""auth_code"":""139059"",""bank_date"":""14062019"",""bank_noncash_amount"":1000,""bank_settlement_date"":""14062019"",""bank_time"":""153747"",""card_entry"":""EMV_CTLS"",""currency"":""AUD"",""customer_receipt"":"""",""customer_receipt_printed"":false,""emv_actioncode"":""ARP"",""emv_actioncode_values"":""9BDDE227547B41F43030"",""emv_pix"":""1010"",""emv_rid"":""A000000003"",""emv_tsi"":""0000"",""emv_tvr"":""0000000000"",""expiry_date"":""1122"",""host_response_code"":""000"",""host_response_text"":""APPROVED"",""informative_text"":"" "",""masked_pan"":""............3952"",""merchant_acquirer"":""EFTPOS FROM BANK SA"",""merchant_addr"":""213 Miller Street"",""merchant_city"":""Sydney"",""merchant_country"":""Australia"",""merchant_id"":""22341842"",""merchant_name"":""Merchant4"",""merchant_postcode"":""2060"",""merchant_receipt"":""EFTPOS FROM BANK SA\r\nMerchant4\r\n213 Miller Street\r\nSydney 2060\r\nAustralia\r\n\r\nTIME 14JUN19 15:37\r\nMID 22341842\r\nTSP 100612348842\r\nRRN 190614001137\r\nVisa Credit \r\nVisa(C) CR\r\nCARD............3952\r\nAID A0000000031010\r\nTVR 0000000000\r\nAUTH 139059\r\n\r\nPURCHASE AUD10.00\r\n\r\n (000) APPROVED\r\n\r\n*DUPLICATE RECEIPT*\r\n\r\n\r\n\r\n\r\n\r\n\r\n"",""merchant_receipt_printed"":false,""online_indicator"":""Y"",""pos_ref_id"":""prchs-14-06-2019-15-37-49"",""purchase_amount"":1000,""rrn"":""190614001137"",""scheme_app_name"":""Visa Credit"",""scheme_name"":""Visa"",""stan"":""001137"",""success"":true,""terminal_id"":""100612348842"",""terminal_ref_id"":""12348842_14062019153831"",""transaction_type"":""PURCHASE""},""datetime"":""2019-06-14T15:38:31.620"",""event"":""last_transaction"",""id"":""glt10""}}"; // act var msg = Message.FromJson(jsonStr, secrets); var comWrapper = new ComWrapper(); var response = comWrapper.GetLastTransactionResponseInit(msg); // assert Assert.Equal("last_transaction", msg.EventName); Assert.True(response.WasRetrievedSuccessfully()); Assert.Equal(Message.SuccessState.Success, response.GetSuccessState()); Assert.True(response.WasSuccessfulTx()); Assert.Equal("PURCHASE", response.GetTxType()); Assert.Equal("prchs-14-06-2019-15-37-49", response.GetPosRefId()); Assert.Equal(1000, response.GetBankNonCashAmount()); Assert.Equal("Visa", response.GetSchemeName()); Assert.Equal("Visa", response.GetSchemeApp()); Assert.Equal(0, response.GetAmount()); Assert.Equal(0, response.GetTransactionAmount()); Assert.Equal("14062019153747", response.GetBankDateTimeString()); Assert.Equal("190614001137", response.GetRRN()); Assert.Equal("APPROVED", response.GetResponseText()); Assert.Equal("000", response.GetResponseCode()); }
public void DiscardOutBuffer() { if (!this.fd.HasValue) { throw new Exception(); } ComWrapper.com_tcoflush(this.fd.Value); }
/// <summary> /// A factory method for creating managed E3 API objects. /// </summary> /// <typeparam name="T">.NET public interface of E3 API object</typeparam> /// <returns>Managed E3 API object</returns> internal static T CreateObject <T>(this ComWrapper entity) where T : IDisposable { entity.GuardDisposed(); var typeName = typeof(T).Name.ReplaceSuffix("I", "E3"); var t = Type.GetType(string.Format("E3Series.Wrapper.Entities.{0}", typeName), true); return((T)Activator.CreateInstance(t, entity)); }
/// <summary> /// Factory method to create and return the correct OutlookItem object (MailItem) for the given COM object. /// </summary> /// <param name="comObj"></param> /// <returns></returns> internal static OutlookItem ResolveType(object comObj) { if (ComWrapper.SupportsInterface(comObj, ComWrapper.GetMustSupport(typeof(MailItem)))) { return(new MailItem(comObj)); } throw new NotImplementedException("Unknown object when attempting to resolve Outlook item type."); }
public void NewBillId_ValidRequest_ReturnObject() { // act var comWrapper = new ComWrapper(); var newBillId = comWrapper.NewBillId(); // assert Assert.Equal((DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalMilliseconds.ToString(), newBillId); }
public void GetPosVersion_OnValidResponse_ReturnObject() { // act var comWrapper = new ComWrapper(); var comPosVersion = comWrapper.GetPosVersion(); // assert Assert.Equal("0", comPosVersion); }
internal List <string> Export() { var contents = new List <string>(); using (var ppt = new ComWrapper <PowerPoint.Presentation>( ppts.Open(file, ReadOnly: Microsoft.Office.Core.MsoTriState.msoTrue, WithWindow: Microsoft.Office.Core.MsoTriState.msoFalse) )) { var tempFiles = new string[2]; var success = false; try { tempFiles[0] = Path.GetTempFileName(); tempFiles[1] = Path.GetTempFileName(); //Text in PPT //Save as rich text file. ppt.ComObject.SaveAs(tempFiles[0], FileFormat: PowerPoint.PpSaveAsFileType.ppSaveAsRTF); //Read and save as a text file. string richText = File.ReadAllText(tempFiles[0], Encoding.Default); //Cheep trick to convert text from rtf. RichTextBox richTextBox = new RichTextBox(); richTextBox.Rtf = richText; File.WriteAllText(tempFiles[0], richTextBox.Text, Encoding.Default); //Text in shapes & comments var slideContents = new List <string>(); foreach (PowerPoint.Slide slide in ppt.ComObject.Slides) { foreach (PowerPoint.Shape shape in slide.Shapes) { ExtractShapeContents(slideContents, shape); } foreach (PowerPoint.Comment comment in slide.Comments) { slideContents.Add(comment.Author + ":" + comment.Text); } slideContents.Add(slide.NotesPage.Shapes.Placeholders[2].TextFrame.TextRange.Text);//placefolders[1] is slide itself. } File.WriteAllLines(tempFiles[1], slideContents, Encoding.Default); success = true; } finally { ppt.ComObject.Close(); //merge contents after closing ppt. if (success) { contents = FileUtils.MergeTextContents(tempFiles); } FileUtils.DeleteFiles(tempFiles); } return(contents); } }
private void ExportPowerPoint(string file, ComWrapper <PowerPoint.Presentations> ppts) { var exporter = new PowerPointTextExporter(file, ppts.ComObject); List <string> contents = exporter.Export(); if (contents.Count != 0) { File.WriteAllLines(GetSavePath(file), contents, Encoding.Default); } }
public void Close() { if (!this.fd.HasValue) { throw new Exception(); } this.cts.Cancel(); ComWrapper.com_close(this.fd.Value); Marshal.FreeHGlobal(this.readingBuffer); }
private void ExportExcel(string file, ComWrapper <Excel.Workbooks> books) { var exporter = new ExcelTextExpoter(file, books.ComObject); List <string> contents = exporter.Export(); if (contents.Count != 0) { File.WriteAllLines(GetSavePath(file), contents, Encoding.Default); } }
public void GetSpiVersion_OnValidResponse_ReturnObject() { // act var spiVersion = Spi.GetVersion(); var comWrapper = new ComWrapper(); var comSpiVersion = comWrapper.GetSpiVersion(); // assert Assert.Equal(spiVersion, comSpiVersion); }
private void ExportWord(string file, ComWrapper <Word.Documents> docs) { var exporter = new WordTextExporter(file, docs.ComObject); var contents = exporter.Export(); if (contents.Count != 0) { File.WriteAllLines(GetSavePath(file), contents, Encoding.Default); } }
public void Write(byte[] buf, int offset, int len) { if (!this.fd.HasValue) { throw new Exception(); } IntPtr ptr = Marshal.AllocHGlobal(len); Marshal.Copy(buf, offset, ptr, len); ComWrapper.com_write(this.fd.Value, ptr, len); Marshal.FreeHGlobal(ptr); }
/// <summary> /// Factory method to create and return the correct Sheet object (Worksheet or Chart) for the given COM object. /// </summary> /// <param name="comObj"></param> /// <returns></returns> internal static Sheet ResolveType(object comObj) { if (ComWrapper.SupportsInterface(comObj, ComWrapper.GetMustSupport(typeof(Worksheet)))) { return(new Worksheet(comObj)); } else if (ComWrapper.SupportsInterface(comObj, ComWrapper.GetMustSupport(typeof(Chart)))) { return(new Chart(comObj)); } throw new NotImplementedException("Unknown object when attempting to resolve sheet type."); }
public void SecretsInit_OnValidRequest_IsSet() { // arrange const string encKey = "81CF9E6A14CDAF244A30B298D4CECB505C730CE352C6AF6E1DE61B3232E24D3F"; const string hmacKey = "D35060723C9EECDB8AEA019581381CB08F64469FC61A5A04FE553EBDB5CD55B9"; // act var comWrapper = new ComWrapper(); var secrets = comWrapper.SecretsInit(encKey, hmacKey); // assert Assert.Equal(encKey, secrets.EncKey); Assert.Equal(hmacKey, secrets.HmacKey); }
/// <summary> /// Attempts to attach to an already running Outlook process. /// </summary> /// <param name="processToAttach">The Process object to which to attach.</param> /// <returns>An Application wrapper.</returns> public static Application FromProcess(Process processToAttach) { using (Application application = ComWrapper.FromProcess <Application>(processToAttach, "OUTLOOK")) { if (application != null) { return(application); } else { return(null); } } }
/// <summary> /// Attempts to attach to an already running Word process. /// </summary> /// <param name="processToAttach">The Process object to which to attach.</param> /// <returns>An Application wrapper.</returns> public static Application FromProcess(Process processToAttach) { using (Window window = ComWrapper.FromProcess <Window>(processToAttach, "_WwG")) { if (window != null) { return(window.GetNewApplication()); } else { return(null); } } }
public void TerminalBatteryInit_OnValidResponse_ReturnObjects() { // arrange var secrets = SpiClientTestUtils.SetTestSecrets(); const string jsonStr = @"{""message"":{""data"":{""battery_level"":""40""},""datetime"":""2019-06-18T13:02:41.777"",""event"":""battery_level_changed"",""id"":""C1.3""}}"; // act var msg = Message.FromJson(jsonStr, secrets); var comWrapper = new ComWrapper(); var response = comWrapper.TerminalBatteryInit(msg); // assert Assert.Equal("battery_level_changed", msg.EventName); Assert.Equal("40", response.BatteryLevel); }
public void Open() { // open serial port int fd = ComWrapper.com_open(this.portName); if (fd == -1) { throw new Exception($"failed to open port ({this.portName})"); } ComWrapper.com_set_interface_attribs(fd, this.baudRate, this.dataBits, (int)this.parity, (int)this.stopBits); // start reading //Task.Run((Action)StartReading, CancellationToken); this.fd = fd; }
internal List <string> Export() { var contents = new List <string>(); using (var doc = new ComWrapper <Word.Document>( docs.Open(file, ReadOnly: true, AddToRecentFiles: false, Visible: false) )) { var tempFiles = new string[2]; bool success = false; try { tempFiles[0] = Path.GetTempFileName(); tempFiles[1] = Path.GetTempFileName(); //Text in word. doc.ComObject.SaveAs2(tempFiles[0], FileFormat: Word.WdSaveFormat.wdFormatText); //Text in shapes. List <string> otherContents = new List <string>(); foreach (Word.Shape shape in doc.ComObject.Shapes) { ExtractShapeContents(otherContents, shape); } foreach (Word.Comment comment in doc.ComObject.Comments) { otherContents.Add(comment.Author + ":" + comment.Range.Text); } File.WriteAllLines(tempFiles[1], otherContents, Encoding.Default); success = true; } finally { doc.ComObject.Close(false); //merge contents after closing doc. if (success) { contents = FileUtils.MergeTextContents(tempFiles); } FileUtils.DeleteFiles(tempFiles); } return(contents); } }
internal static void AddWrapper(ComWrapper wrapper) { if (s_wrappers != null) s_wrappers.Add(wrapper); }