public DonutContext(IRedisCacher cacher, Data.DataIntegration integration, IServiceProvider serviceProvider) { _cacher = cacher; ApiAuth = integration.APIKey; CacheRunInterval = 10; _currentCacheRunIndex = 0; Integration = integration; CurrentCache = new ConcurrentDictionary <string, List <HashEntry> >(); ConfigureCacheMap(); Prefix = $"integration_context:{Integration.Id}"; new ContextSetDiscoveryService(this, serviceProvider).Initialize(); _cachingService = new CachingPersistеnceService(this); if (integration != null && !string.IsNullOrEmpty(integration.FeaturesCollection)) { _encoder = FieldEncoder.Factory.Create(Integration); // var dbConfig = DBConfig.GetGeneralDatabase(); // var mongoList = new MongoList(dbConfig, integration.FeaturesCollection);//Make sure the collection exists // var murlBuilder = new MongoUrlBuilder(""); // murlBuilder.AuthenticationSource = "admin"; // var murl = murlBuilder.ToMongoUrl(); // var connection = new MongoClient(murl); // var database = connection.GetDatabase(""); //IMongoDatabase db = MongoHelper.GetDatabase(); //db.CreateCollection(integration.FeaturesCollection); } }
//JAVA TO C# CONVERTER WARNING: 'final' parameters are not allowed in .NET: //ORIGINAL LINE: protected GenotypesWriter(final Bio.VCF.VCFHeader header, final BCF2FieldEncoder fieldEncoder) protected internal GenotypesWriter(VCFHeader header, BCF2FieldEncoder fieldEncoder) : base(header, fieldEncoder) { if (fieldEncoder.hasConstantNumElements()) { nValuesPerGenotype = FieldEncoder.numElements(); } }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public void addGenotype(final BCF2Encoder encoder, final org.broadinstitute.variant.variantcontext.VariantContext vc, final org.broadinstitute.variant.variantcontext.Genotype g) throws java.io.IOException //JAVA TO C# CONVERTER WARNING: 'final' parameters are not allowed in .NET: public override void addGenotype(BCF2Encoder encoder, VariantContext vc, Genotype g) { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final String fieldValue = g.getFilters(); string fieldValue = g.Filters; FieldEncoder.encodeValue(encoder, fieldValue, encodingType, nValuesPerGenotype); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Requires({"encodingType != null", "nValuesPerGenotype >= 0"}) public void addGenotype(final BCF2Encoder encoder, final org.broadinstitute.variant.variantcontext.VariantContext vc, final org.broadinstitute.variant.variantcontext.Genotype g) throws java.io.IOException //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //JAVA TO C# CONVERTER WARNING: 'final' parameters are not allowed in .NET: public virtual void addGenotype(BCF2Encoder encoder, VariantContext vc, Genotype g) { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final Object fieldValue = g.getExtendedAttribute(getField(), null); object fieldValue = g.getExtendedAttribute(Field, null); FieldEncoder.encodeValue(encoder, fieldValue, encodingType, nValuesPerGenotype); }
/// <summary> /// /// </summary> /// <param name="options"></param> public DataImportTask(DataImportTaskOptions options) { _options = options; string tmpGuid = Guid.NewGuid().ToString(); _harvester = new Harvester <T>(_options.ThreadCount); if (options.Integration != null) { if (options.Integration.Fields.Count == 0) { throw new InvalidOperationException("Integration needs to have at least 1 field."); } _integration = options.Integration; _integration.APIKey = _options.ApiKey; if (string.IsNullOrEmpty(_integration.FeaturesCollection)) { _integration.FeaturesCollection = $"{_integration.Collection}_features"; } if (string.IsNullOrEmpty(_integration.Collection)) { _integration.Collection = tmpGuid; } _harvester.AddIntegration(options.Integration, _options.Source); } else { _integration = _harvester.AddIntegrationSource(_options.Source, _options.ApiKey, _options.IntegrationName, tmpGuid); } var outCollection = new DestinationCollection(_integration.Collection, _integration.GetReducedCollectionName()); OutputDestinationCollection = outCollection; if (options.TotalEntryLimit > 0) { _harvester.LimitEntries(options.TotalEntryLimit); } if (options.ShardLimit > 0) { _harvester.LimitShards(options.ShardLimit); } this.EncodeOnImport = options.EncodeInput; if (this.EncodeOnImport) { _encoder = FieldEncoder.Factory.Create(_integration); } // new OneHotEncoding(new FieldEncodingOptions { Integration = _integration }); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Override @Requires({"encodingType != null", "nValuesPerGenotype >= 0 || ! getFieldEncoder().hasConstantNumElements()"}) @Ensures("nValuesPerGenotype >= 0") public void start(final BCF2Encoder encoder, final org.broadinstitute.variant.variantcontext.VariantContext vc) throws java.io.IOException //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //JAVA TO C# CONVERTER WARNING: 'final' parameters are not allowed in .NET: public override void start(BCF2Encoder encoder, VariantContext vc) { // writes the key information base.start(encoder, vc); // only update if we need to if (!FieldEncoder.hasConstantNumElements()) { if (FieldEncoder.hasContextDeterminedNumElements()) // we are cheap -- just depends on genotype of allele counts { nValuesPerGenotype = FieldEncoder.numElements(vc); } else // we have to go fishing through the values themselves (expensive) { nValuesPerGenotype = computeMaxSizeOfGenotypeFieldFromValues(vc); } } encoder.encodeType(nValuesPerGenotype, encodingType); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public void start(final BCF2Encoder encoder, final org.broadinstitute.variant.variantcontext.VariantContext vc) throws java.io.IOException //JAVA TO C# CONVERTER WARNING: 'final' parameters are not allowed in .NET: public override void start(BCF2Encoder encoder, VariantContext vc) { // TODO // TODO this piece of code consumes like 10% of the runtime alone because fo the vc.getGenotypes() iteration // TODO encodingType = BCF2Type.INT8; foreach (Genotype g in vc.Genotypes) { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final int[] pls = ige.getValues(g); int[] pls = ige.getValues(g); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final org.broadinstitute.variant.bcf2.BCF2Type plsType = getFieldEncoder().getType(pls); BCF2Type plsType = FieldEncoder.getType(pls); encodingType = BCF2Utils.maxIntegerType(encodingType, plsType); if (encodingType == BCF2Type.INT32) { break; // stop early } } base.start(encoder, vc); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public void site(final BCF2Encoder encoder, final org.broadinstitute.variant.variantcontext.VariantContext vc) throws java.io.IOException //JAVA TO C# CONVERTER WARNING: 'final' parameters are not allowed in .NET: public override void site(BCF2Encoder encoder, VariantContext vc) { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final Object rawValue = vc.getAttribute(getField(), null); object rawValue = vc.getAttribute(Field, null); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final org.broadinstitute.variant.bcf2.BCF2Type type = getFieldEncoder().getType(rawValue); BCF2Type type = FieldEncoder.getType(rawValue); if (rawValue == null) { // the value is missing, just write in null encoder.encodeType(0, type); } else { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final int valueCount = getFieldEncoder().numElements(vc, rawValue); int valueCount = FieldEncoder.numElements(vc, rawValue); encoder.encodeType(valueCount, type); FieldEncoder.encodeValue(encoder, rawValue, type, valueCount); } }
/// <summary> /// Sends the MSG. /// </summary> /// <param name="RequestType">Type of the request.</param> /// <param name="HicapsParams">The hicaps params.</param> /// <param name="bRequestMsg">The b request MSG.</param> /// <returns></returns> internal static string ToTerminalMessage(string RequestType, TerminalParameters HicapsParams, out byte[] bRequestMsg) { // John P locals string strHexin = "", strHexout = ""; // string strSalesAmnt, strCashOut; // Original string[] TransCodes = { "20", "21", "22", "26", "42", "50", "55", "61", "A4", "A5", "D0", "E7", "E8", "EF", "MP", "MC", "DP", "AP", "AM", "A0", "HT", "HL", "EL", "KC", "A6", "A7", "A8" }; string[] ReqTypes = { "Sale", "Claim", "Quote", "Refund", "Void", "Card Read", "55", "Settlement", "Providers Info", "Card Tables", "Test", "Cashout", "Plus Cash", "Cancel", "Medicare Providers", "Medicare Claim", "Eftpos Deposit", "All Providers", "All Merchants", "Print Last Receipt", "Hicaps Totals", "Hicaps Txn Listing", "Eftpos Txn Listing", "Key Check", "Item Response Code", "Txn Response Code", "Item List" }; string strRequestMsg = ""; // int pos = 0; var enc = new UTF8Encoding(); // Check for valid Request Type int index = Array.IndexOf(ReqTypes, RequestType); string strAddInfo = "4D 58 00 02 44 30 1C "; string strAddInfoEncrypt = "4D 58 00 02 46 30 1C "; string strAddPrintReceiptInfo = "4D 58 00 02 44 31 1C "; string strAddPrintReceiptInfoEncrypt = "4D 58 00 02 46 31 1C "; string strAddPrintYesterdayTransactionsPms = "4D 58 00 02 44 31 1C "; string strAddPrintYesterdayTransactionsTerm = "4D 58 00 02 44 32 1C "; string strAddPrintReceiptInfoPms = "4D 58 00 02 44 30 1C "; string strTransCode = TransCodes[index]; // Setup Encryption switch (strTransCode) { case "20": // Sale strHexin = "02 00 34 36 30 30 30 30 30 30 30 30 30 31 30 32 30 30 30 30 1C 4D 58 00 02 46 30 1C 03 00"; string amount = FieldEncoder.encodeHexString(HicapsParams.SaleAmount); if (HicapsParams.MultiMerchant) { // strHexin = strHexin.Replace(strMultiMerchant, ""); strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("MN", HicapsParams.MerchantId.Trim()), strHexin); } if (!HicapsParams.EncryptionFlag) { strHexin = strHexin.Replace("4D 58 00 02 46 30 1C", "4D 58 00 02 44 30 1C"); } strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("CN", HicapsParams.ComputerName), strHexin); strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("VN", HicapsParams.VendorName), strHexin); if (HicapsParams.SaleAmount > 0) { //34 30 00 05 31 32 35 30 30 1C strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("40", FieldEncoder.encodeDecimal(HicapsParams.SaleAmount)), strHexin); } else { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("40", FieldEncoder.encodeDecimal(HicapsParams.SaleAmount)), strHexin); } // Sending down PAN if (!string.IsNullOrEmpty(HicapsParams.PrimaryAccountNumber)) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlphaEncrypt("30", HicapsParams.PrimaryAccountNumber, HicapsParams.KVC), strHexin); strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("31", HicapsParams.USExpiryDate), strHexin); strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("C1", HicapsParams.CCV), strHexin); if (HicapsParams.CCVReason > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("C2", HicapsParams.CCVReason.ToString()), strHexin); } if (HicapsParams.CCVSource > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("C3", HicapsParams.CCVSource.ToString()), strHexin); } } // New 2010 Changes... Add PMSKey to Sale Transactions if (!HicapsParams.Disable54AFields) { if (!string.IsNullOrEmpty(HicapsParams.PmsKey)) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("PK", HicapsParams.PmsKey), strHexin); } strHexin = FieldEncoder.encodePrintOptions(HicapsParams, strHexin); } strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "21": // Claim // Jp Changed... New field called 'LB' = Loyalty Bonus [4C 42 00 01 31 1C] if (!HicapsParams.NonSettlementFlag) { strHexin = "02 00 66 36 30 30 30 30 30 30 30 30 30 31 30 32 31 30 30 30 1C 4D 58 00 02 46 30 1C 4C 42 00 01 31 1C 03 4A"; } else { strHexin = "02 00 66 36 30 30 30 30 30 30 30 30 30 31 30 32 33 30 30 30 1C 4D 58 00 02 46 30 1C 4C 42 00 01 31 1C 03 4A"; } if (!HicapsParams.EncryptionFlag) { strHexin = strHexin.Replace("4D 58 00 02 46 30 1C", "4D 58 00 02 44 30 1C"); } // Print receipt on terminal functionality if (HicapsParams.PrintReceiptOnTerminal) { if (!HicapsParams.EncryptionFlag) { strHexin = strHexin.Replace(strAddInfo, strAddPrintReceiptInfo); } else { strHexin = strHexin.Replace(strAddInfoEncrypt, strAddPrintReceiptInfoEncrypt); } } strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("40", FieldEncoder.encodeDecimal(HicapsParams.TotalClaimAmount)), strHexin); //if (AdditionalInfo != true) //{ // strHexin = strHexin.Replace(strAddInfo, ""); //} if (HicapsParams.ComputerName != null && HicapsParams.ComputerName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("CN", HicapsParams.ComputerName), strHexin); } if (HicapsParams.VendorName != null && HicapsParams.VendorName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("VN", HicapsParams.VendorName), strHexin); } // strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("40", encodeDecimal(HicapsParams.TotalClaimAmount)), strHexin); string claimField = FieldEncoder.Right("00000000" + HicapsParams.ProviderNumberId, 8); string encryptData = ""; if (HicapsParams.EncryptionFlag) { // Bit of a workaround. Only First 8 bytes are encrypted of EA Field. encryptData = FieldEncoder.encodeAlphaEncrypt("30", claimField, HicapsParams.KVC); encryptData = encryptData.Substring(12, 23); claimField = FieldEncoder.ConvertToHex(encryptData); } foreach (string claimData in HicapsParams.ClaimData) { claimField += claimData; } strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("EA", claimField), strHexin); // Add Patient Card Information if (HicapsParams.PatientData != null && HicapsParams.PatientData.Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("PN", HicapsParams.getPatientDataAsFieldString()), strHexin); } if (!string.IsNullOrEmpty(HicapsParams.PrimaryAccountNumber)) { if (!HicapsParams.EncryptionFlag) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("30", HicapsParams.PrimaryAccountNumber), strHexin); } else { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlphaEncrypt("30", HicapsParams.PrimaryAccountNumber, HicapsParams.KVC), strHexin); } } if (!HicapsParams.Disable54AFields) { if (!string.IsNullOrEmpty(HicapsParams.PmsKey)) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("PK", HicapsParams.PmsKey), strHexin); } } strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "22": // Quote strHexin = "02 00 65 36 30 30 30 30 30 30 30 30 30 31 30 32 32 30 30 30 1C 4D 58 00 02 46 30 1C 4C 42 00 01 31 1C 03 49"; if (!HicapsParams.EncryptionFlag) { strHexin = strHexin.Replace("4D 58 00 02 46 30 1C", "4D 58 00 02 44 30 1C"); } // Print receipt on terminal functionality if (HicapsParams.PrintReceiptOnTerminal) { if (!HicapsParams.EncryptionFlag) { strHexin = strHexin.Replace(strAddInfo, strAddPrintReceiptInfo); } else { strHexin = strHexin.Replace(strAddInfoEncrypt, strAddPrintReceiptInfoEncrypt); } } if (HicapsParams.ComputerName != null && HicapsParams.ComputerName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("CN", HicapsParams.ComputerName), strHexin); } if (HicapsParams.VendorName != null && HicapsParams.VendorName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("VN", HicapsParams.VendorName), strHexin); } strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("40", FieldEncoder.encodeDecimal(HicapsParams.TotalClaimAmount)), strHexin); string quoteField = FieldEncoder.Right("00000000" + HicapsParams.ProviderNumberId, 8); string encryptQuoteData = ""; if (HicapsParams.EncryptionFlag) { // Bit of a workaround. Only First 8 bytes are encrypted of EA Field. encryptQuoteData = FieldEncoder.encodeAlphaEncrypt("30", quoteField, HicapsParams.KVC); encryptQuoteData = encryptQuoteData.Substring(12, 23); quoteField = FieldEncoder.ConvertToHex(encryptQuoteData); } foreach (string claimData in HicapsParams.ClaimData) { quoteField += claimData; } strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("EA", quoteField), strHexin); // Add Patient Card Information if (HicapsParams.PatientData != null && HicapsParams.PatientData.Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("PN", HicapsParams.getPatientDataAsFieldString()), strHexin); } if (!string.IsNullOrEmpty(HicapsParams.PrimaryAccountNumber)) { if (!HicapsParams.EncryptionFlag) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("30", HicapsParams.PrimaryAccountNumber), strHexin); } else { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlphaEncrypt("30", HicapsParams.PrimaryAccountNumber, HicapsParams.KVC), strHexin); } } // New 2010 Changes... Add PMSKey to Sale Transactions if (!HicapsParams.Disable54AFields) { if (!string.IsNullOrEmpty(HicapsParams.PmsKey)) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("PK", HicapsParams.PmsKey), strHexin); } } strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "DP": // Eftpos Deposit... Works same as refund strHexin = "02 00 45 36 30 30 30 30 30 30 30 30 30 31 30 44 50 30 30 30 1C 4D 58 00 02 46 30 1C 4D 52 00 06 35 34 38 31 36 30 1C 4D 4E 00 08 31 32 33 34 35 36 37 38 1C 4D 58 00 02 46 30 1C 03 7C"; if (!HicapsParams.EncryptionFlag) { strHexin = strHexin.Replace("4D 58 00 02 46 30 1C", "4D 58 00 02 44 30 1C"); } if (HicapsParams.MRPwd == "") { strHexin = strHexin.Replace("4D 52 00 06 35 34 38 31 36 30 1C ", ""); } else { string strPwd = ""; // Must be only 6 numeric values HicapsParams.MRPwd = HicapsParams.MRPwd.Substring(0, 6); foreach (char c in HicapsParams.MRPwd) { strPwd = strPwd + String.Format("{0:X2} ", (int)c); } strHexin = strHexin.Replace("4D 52 00 06 35 34 38 31 36 30 ", "4D 52 00 0" + HicapsParams.MRPwd.Length.ToString() + " " + strPwd); } string cancelAmount = FieldEncoder.encodeDecimal(HicapsParams.CancelAmount); if (HicapsParams.CancelAmount > 0) { //34 30 00 05 31 32 35 30 30 1C strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("40", FieldEncoder.encodeDecimal(HicapsParams.CancelAmount)), strHexin); } else { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("40", FieldEncoder.encodeDecimal(HicapsParams.CancelAmount)), strHexin); } if (HicapsParams.MerchantId != "") { string strMerchant = ""; foreach (char c in HicapsParams.MerchantId) { strMerchant = strMerchant + String.Format("{0:X2} ", (int)c); } strHexin = strHexin.Replace("4D 4E 00 08 31 32 33 34 35 36 37 38 ", "4D 4E 00 08 " + strMerchant); } if (HicapsParams.ComputerName != null && HicapsParams.ComputerName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("CN", HicapsParams.ComputerName), strHexin); } if (HicapsParams.VendorName != null && HicapsParams.VendorName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("VN", HicapsParams.VendorName), strHexin); } if (!string.IsNullOrEmpty(HicapsParams.PrimaryAccountNumber)) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlphaEncrypt("30", HicapsParams.PrimaryAccountNumber, HicapsParams.KVC), strHexin); strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("31", HicapsParams.USExpiryDate), strHexin); strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("C1", HicapsParams.CCV), strHexin); if (HicapsParams.CCVReason > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("C2", HicapsParams.CCVReason.ToString()), strHexin); } if (HicapsParams.CCVSource > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("C3", HicapsParams.CCVSource.ToString()), strHexin); } } // New 2010 Changes... Add PMSKey to Sale Transactions if (!HicapsParams.Disable54AFields) { if (!string.IsNullOrEmpty(HicapsParams.PmsKey)) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("PK", HicapsParams.PmsKey), strHexin); } strHexin = FieldEncoder.encodePrintOptions(HicapsParams, strHexin); } strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "26": // Refund strHexin = "02 00 45 36 30 30 30 30 30 30 30 30 30 31 30 32 36 30 30 30 1C 4D 52 00 06 35 34 38 31 36 30 1C 4D 4E 00 08 31 32 33 34 35 36 37 38 1C 4D 58 00 02 46 30 1C 03 7C"; if (!HicapsParams.EncryptionFlag) { strHexin = strHexin.Replace("4D 58 00 02 46 30 1C", "4D 58 00 02 44 30 1C"); } if (HicapsParams.MRPwd == "") { strHexin = strHexin.Replace("4D 52 00 06 35 34 38 31 36 30 1C ", ""); } else { string strPwd = ""; // Must be only 6 numeric values HicapsParams.MRPwd = HicapsParams.MRPwd.Substring(0, 6); foreach (char c in HicapsParams.MRPwd) { strPwd = strPwd + String.Format("{0:X2} ", (int)c); } strHexin = strHexin.Replace("4D 52 00 06 35 34 38 31 36 30 ", "4D 52 00 0" + HicapsParams.MRPwd.Length.ToString() + " " + strPwd); } if (HicapsParams.CancelAmount > 0) { //34 30 00 05 31 32 35 30 30 1C strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("40", FieldEncoder.encodeDecimal(HicapsParams.CancelAmount)), strHexin); } else { HicapsParams.CancelAmount = 0; strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("40", FieldEncoder.encodeDecimal(HicapsParams.CancelAmount)), strHexin); } if (HicapsParams.MerchantId != "") { string strMerchant = ""; foreach (char c in HicapsParams.MerchantId) { strMerchant = strMerchant + String.Format("{0:X2} ", (int)c); } strHexin = strHexin.Replace("4D 4E 00 08 31 32 33 34 35 36 37 38 ", "4D 4E 00 08 " + strMerchant); } if (HicapsParams.ComputerName != null && HicapsParams.ComputerName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("CN", HicapsParams.ComputerName), strHexin); } if (HicapsParams.VendorName != null && HicapsParams.VendorName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("VN", HicapsParams.VendorName), strHexin); } if (!string.IsNullOrEmpty(HicapsParams.PrimaryAccountNumber)) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlphaEncrypt("30", HicapsParams.PrimaryAccountNumber, HicapsParams.KVC), strHexin); strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("31", HicapsParams.USExpiryDate), strHexin); strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("C1", HicapsParams.CCV), strHexin); if (HicapsParams.CCVReason > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("C2", HicapsParams.CCVReason.ToString()), strHexin); } if (HicapsParams.CCVSource > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("C3", HicapsParams.CCVSource.ToString()), strHexin); } } // New 2010 Changes... Add PMSKey to Sale Transactions if (!HicapsParams.Disable54AFields) { if (!string.IsNullOrEmpty(HicapsParams.PmsKey)) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("PK", HicapsParams.PmsKey), strHexin); } strHexin = FieldEncoder.encodePrintOptions(HicapsParams, strHexin); } strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "A0": // Print Last Receipt strHexin = "02 00 18 36 30 30 30 30 30 30 30 30 30 31 30 41 30 30 30 30 1C 4D 58 00 02 44 30 1C 03 45"; if (HicapsParams.ComputerName != null && HicapsParams.ComputerName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("CN", HicapsParams.ComputerName), strHexin); } if (HicapsParams.VendorName != null && HicapsParams.VendorName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("VN", HicapsParams.VendorName), strHexin); } if (HicapsParams.PrintReceiptOnTerminal) { // Not sure why b strHexin = strHexin.Replace(strAddPrintReceiptInfoPms, strAddPrintReceiptInfo); } else { // Not sure why, but this requirses 81 instead of C1 to not print strHexin = strHexin.Replace(strAddPrintReceiptInfoPms, strAddPrintReceiptInfoPms); } strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "EF": // Cancel // Jp Changed... New field called 'LB' = Loyalty Bonus [4C 42 00 01 31 1C] if (!HicapsParams.NonSettlementFlag) { strHexin = "02 00 64 36 30 30 30 30 30 30 30 30 30 31 30 45 46 30 30 30 1C 4D 58 00 02 44 30 1C 4C 42 00 01 31 1C 03 6A"; } else { strHexin = "02 00 64 36 30 30 30 30 30 30 30 30 30 31 30 32 34 30 30 30 1C 4D 58 00 02 44 30 1C 4C 42 00 01 31 1C 03 6A"; } strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("EA", HicapsParams.ProviderNumberId), strHexin); if (HicapsParams.PrintReceiptOnTerminal) { strHexin = strHexin.Replace(strAddPrintReceiptInfoPms, strAddPrintReceiptInfo); } else { strHexin = strHexin.Replace(strAddPrintReceiptInfoPms, strAddPrintReceiptInfoPms); } if (HicapsParams.CancelAmount > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("40", FieldEncoder.encodeDecimal(HicapsParams.CancelAmount)), strHexin); } else { HicapsParams.CancelAmount = 0; strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("40", FieldEncoder.encodeDecimal(HicapsParams.CancelAmount)), strHexin); } // Add Patient Card Information if (HicapsParams.PatientData != null && HicapsParams.PatientData.Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("PN", HicapsParams.getPatientDataAsFieldString()), strHexin); } if (HicapsParams.ComputerName != null && HicapsParams.ComputerName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("CN", HicapsParams.ComputerName), strHexin); } if (HicapsParams.VendorName != null && HicapsParams.VendorName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("VN", HicapsParams.VendorName), strHexin); } if (!string.IsNullOrEmpty(HicapsParams.PrimaryAccountNumber)) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("30", HicapsParams.PrimaryAccountNumber), strHexin); } if (!string.IsNullOrEmpty(HicapsParams.RrnNumber)) { HicapsParams.RrnNumber = FieldEncoder.Right("000000000000" + HicapsParams.RrnNumber, 12); strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("79", HicapsParams.RrnNumber), strHexin); } else { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("79", new string(' ', 12)), strHexin); } // New 2010 Changes... Add PMSKey to Sale Transactions if (!HicapsParams.Disable54AFields) { if (!string.IsNullOrEmpty(HicapsParams.PmsKey)) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("PK", HicapsParams.PmsKey), strHexin); } } strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "HT": // Hicaps Totals strHexin = "02 00 18 36 30 30 30 30 30 30 30 30 30 31 30 48 54 30 30 30 1C 4D 58 00 02 44 30 1C 03 45"; if (HicapsParams.TodayTransactions == false) { // Make mx field = 4D 58 00 02 43 31 if (HicapsParams.PrintReceiptOnTerminal) { strHexin = strHexin.Replace(strAddPrintReceiptInfoPms, strAddPrintYesterdayTransactionsTerm); } else { strHexin = strHexin.Replace(strAddPrintReceiptInfoPms, strAddPrintYesterdayTransactionsPms); } } else { if (HicapsParams.PrintReceiptOnTerminal) { strHexin = strHexin.Replace(strAddPrintReceiptInfoPms, strAddPrintReceiptInfo); } else { // Do nothing strHexin = strHexin.Replace(strAddPrintReceiptInfoPms, strAddPrintReceiptInfoPms); } } if (HicapsParams.ComputerName != null && HicapsParams.ComputerName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("CN", HicapsParams.ComputerName), strHexin); } if (HicapsParams.VendorName != null && HicapsParams.VendorName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("VN", HicapsParams.VendorName), strHexin); } if (!string.IsNullOrEmpty(HicapsParams.ProviderNumberId) && HicapsParams.ProviderNumberId != "00000000") { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("PR", HicapsParams.ProviderNumberId), strHexin); } strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "HL": // Hicaps Transaction Listings strHexin = "02 00 18 36 30 30 30 30 30 30 30 30 30 31 30 48 4C 30 30 30 1C 4D 58 00 02 44 30 1C 03 45"; strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("CN", HicapsParams.ComputerName), strHexin); strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("VN", HicapsParams.VendorName), strHexin); if (!string.IsNullOrEmpty(HicapsParams.ProviderNumberId) && HicapsParams.ProviderNumberId != "00000000") { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("PR", HicapsParams.ProviderNumberId), strHexin); } strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "EL": // Eftpos Transaction Listings strHexin = "02 00 18 36 30 30 30 30 30 30 30 30 30 31 30 45 4C 30 30 30 1C 4D 58 00 02 44 30 1C 03 45"; strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("MN", HicapsParams.MerchantId), strHexin); strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("CN", HicapsParams.ComputerName), strHexin); strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("VN", HicapsParams.VendorName), strHexin); strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "50": // Card read strHexin = "02 00 25 36 30 30 30 30 30 30 30 30 30 31 30 35 30 30 30 30 1C 4D 58 00 02 44 30 1C 03 0B"; if (HicapsParams.ComputerName != null && HicapsParams.ComputerName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("CN", HicapsParams.ComputerName), strHexin); } if (HicapsParams.VendorName != null && HicapsParams.VendorName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("VN", HicapsParams.VendorName), strHexin); } strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "61": // Settlement strHexin = "02 00 32 36 30 30 30 30 30 30 30 30 30 31 30 36 31 30 30 30 1C 03 01"; if (HicapsParams.PrintReceiptOnTerminal) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("MX", "D0"), strHexin); } else { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("MX", "D2"), strHexin); } if (!string.IsNullOrEmpty(HicapsParams.MerchantId)) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("MN", HicapsParams.MerchantId.PadRight(15)), strHexin); } if (HicapsParams.ComputerName != null && HicapsParams.ComputerName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("CN", HicapsParams.ComputerName), strHexin); } if (HicapsParams.VendorName != null && HicapsParams.VendorName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("VN", HicapsParams.VendorName), strHexin); } if (!string.IsNullOrEmpty(HicapsParams.SettlementType)) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("ST", HicapsParams.SettlementType), strHexin); } strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "D0": // terminal test strHexin = "02 00 25 36 30 30 30 30 30 30 30 30 30 31 30 44 30 30 30 30 1C 4D 58 00 02 44 30 1C 03 7A"; strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "A4": // providers details //strHexin = "02 00 18 36 30 30 30 30 30 30 30 30 30 31 30 4D 50 30 30 30 1C 03 2D"; strHexin = "02 00 18 36 30 30 30 30 30 30 30 30 30 31 30 41 34 30 30 30 1C 03 45"; strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "AP": // All provider details strHexin = "02 00 18 36 30 30 30 30 30 30 30 30 30 31 30 41 50 30 30 30 1C 03 45"; strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "AM": // All Merchant details strHexin = "02 00 18 36 30 30 30 30 30 30 30 30 30 31 30 41 4D 30 30 30 1C 03 45"; strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "A5": // cards details strHexin = "02 00 25 36 30 30 30 30 30 30 30 30 30 31 30 41 35 30 30 30 1C 4D 58 00 02 44 30 1C 03 7A"; strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "A6": // Item Response Code strHexin = "02 00 18 36 30 30 30 30 30 30 30 30 30 31 30 41 36 30 30 30 1C 03 47"; strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "A7": // Txn Response Code strHexin = "02 00 18 36 30 30 30 30 30 30 30 30 30 31 30 41 37 30 30 30 1C 03 46"; strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "A8": // Item List strHexin = "02 00 18 36 30 30 30 30 30 30 30 30 30 31 30 41 38 30 30 30 1C 03 49"; strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "MP": // providers details strHexin = "02 00 18 36 30 30 30 30 30 30 30 30 30 31 30 4D 50 30 30 30 1C 03 2D"; strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "E7": // cash advance strHexin = "02 00 34 36 30 30 30 30 30 30 30 30 30 31 30 45 37 30 30 30 1C 4D 58 00 02 46 30 1C 03 72"; if (!HicapsParams.EncryptionFlag) { strHexin = strHexin.Replace("4D 58 00 02 46 30 1C", "4D 58 00 02 44 30 1C"); } if (HicapsParams.MultiMerchant) { // strHexin = strHexin.Replace(strMultiMerchant, ""); strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("MN", HicapsParams.MerchantId), strHexin); } if (HicapsParams.ComputerName != null && HicapsParams.ComputerName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("CN", HicapsParams.ComputerName), strHexin); } if (HicapsParams.VendorName != null && HicapsParams.VendorName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("VN", HicapsParams.VendorName), strHexin); } if (HicapsParams.CashOutAmount > 0) { //34 30 00 05 31 32 35 30 30 1C strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("42", FieldEncoder.encodeDecimal(HicapsParams.CashOutAmount)), strHexin); } else { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("42", FieldEncoder.encodeDecimal(HicapsParams.CashOutAmount)), strHexin); } if (!string.IsNullOrEmpty(HicapsParams.PrimaryAccountNumber)) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlphaEncrypt("30", HicapsParams.PrimaryAccountNumber, HicapsParams.KVC), strHexin); strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("31", HicapsParams.USExpiryDate), strHexin); strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("C1", HicapsParams.CCV), strHexin); if (HicapsParams.CCVReason > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("C2", HicapsParams.CCVReason.ToString()), strHexin); } if (HicapsParams.CCVSource > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("C3", HicapsParams.CCVSource.ToString()), strHexin); } } // New 2010 Changes... Add PMSKey to Sale Transactions if (!HicapsParams.Disable54AFields) { if (!string.IsNullOrEmpty(HicapsParams.PmsKey)) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("PK", HicapsParams.PmsKey), strHexin); } strHexin = FieldEncoder.encodePrintOptions(HicapsParams, strHexin); } strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "E8": // cash plus details strHexin = "02 00 43 36 30 30 30 30 30 30 30 30 30 31 30 45 38 30 30 30 1C 4D 58 00 02 46 30 1C 03 15"; if (!HicapsParams.EncryptionFlag) { strHexin = strHexin.Replace("4D 58 00 02 46 30 1C", "4D 58 00 02 44 30 1C"); } if (HicapsParams.MultiMerchant) { // strHexin = strHexin.Replace(strMultiMerchant, ""); strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("MN", HicapsParams.MerchantId), strHexin); } if (HicapsParams.ComputerName != null && HicapsParams.ComputerName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("CN", HicapsParams.ComputerName), strHexin); } if (HicapsParams.VendorName != null && HicapsParams.VendorName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("VN", HicapsParams.VendorName), strHexin); } if (HicapsParams.SaleAmount > 0) { //34 30 00 05 31 32 35 30 30 1C strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("40", FieldEncoder.encodeDecimal(HicapsParams.SaleAmount)), strHexin); } else { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("40", FieldEncoder.encodeDecimal(HicapsParams.SaleAmount)), strHexin); } if (HicapsParams.CashOutAmount > 0) { //34 30 00 05 31 32 35 30 30 1C strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("42", FieldEncoder.encodeDecimal(HicapsParams.CashOutAmount)), strHexin); } else { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("42", FieldEncoder.encodeDecimal(HicapsParams.CashOutAmount)), strHexin); } if (!string.IsNullOrEmpty(HicapsParams.PrimaryAccountNumber)) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlphaEncrypt("30", HicapsParams.PrimaryAccountNumber, HicapsParams.KVC), strHexin); strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("31", HicapsParams.USExpiryDate), strHexin); strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("C1", HicapsParams.CCV), strHexin); if (HicapsParams.CCVReason > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("C2", HicapsParams.CCVReason.ToString()), strHexin); } if (HicapsParams.CCVSource > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("C3", HicapsParams.CCVSource.ToString()), strHexin); } } // New 2010 Changes... Add PMSKey to Sale Transactions if (!HicapsParams.Disable54AFields) { if (!string.IsNullOrEmpty(HicapsParams.PmsKey)) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("PK", HicapsParams.PmsKey), strHexin); } strHexin = FieldEncoder.encodePrintOptions(HicapsParams, strHexin); } strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "KC": strHexin = "02 00 18 36 30 30 30 30 30 30 30 30 30 31 30 4B 43 30 30 30 1C 03 2D"; // Generace Key Value; string keyValue; keyValue = FieldEncoder.getKVCCheck(HicapsParams.KVC); strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("KV", keyValue), strHexin); strHexout = FieldEncoder.ConvertToHex(strHexin); break; case "MC": // Medicare Claim strHexin = "02 00 80 36 30 30 30 30 30 30 30 30 30 31 30 4d 43 30 30 30 1C 4D 58 00 02 46 30 1C 03 21"; if (!HicapsParams.EncryptionFlag) { strHexin = strHexin.Replace("4D 58 00 02 46 30 1C", "4D 58 00 02 44 30 1C"); } if (HicapsParams.ComputerName != null && HicapsParams.ComputerName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("CN", HicapsParams.ComputerName), strHexin); } if (HicapsParams.VendorName != null && HicapsParams.VendorName.Trim().Length > 0) { strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("VN", HicapsParams.VendorName), strHexin); } switch (HicapsParams.ClaimType) { case 1: strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("CT", "1"), strHexin); break; case 2: strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("CT", "2"), strHexin); break; case 3: strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("CT", "3"), strHexin); break; case 4: strHexin = FieldEncoder.addSubHexStringField(FieldEncoder.encodeAlpha("CT", "4"), strHexin); break; default: break; } // Encode m0 field string strM0Field = FieldEncoder.encodeM0Field(HicapsParams); if (HicapsParams.EncryptionFlag) { strM0Field = FieldEncoder.encodeFieldEncrypt(strM0Field, HicapsParams.KVC); } // ENcode m1 field; string strM1Field = FieldEncoder.encodeM1Field(HicapsParams); if (HicapsParams.EncryptionFlag) { strM1Field = FieldEncoder.encodeFieldEncrypt(strM1Field, HicapsParams.KVC); } strHexin = FieldEncoder.addSubHexStringField(strM0Field, strHexin); strHexin = FieldEncoder.addSubHexStringField(strM1Field, strHexin); strHexout = FieldEncoder.ConvertToHex(strHexin); break; } // end switch strTransCode string strLRCvalue = FieldEncoder.GetChecksum(strHexout.Substring(1, strHexout.Length - 2)); // calc LRC of string less _STX and LRC strRequestMsg = strHexout.Substring(0, strHexout.Length - 1) + strLRCvalue; // bRequestMsg = enc.GetBytes(strRequestMsg); // JP fixed. bRequestMsg = Encoding.Default.GetBytes(strRequestMsg); byte[] bMsglen = FieldEncoder.IntToBCD(bRequestMsg.Length - 5, 2); bRequestMsg[1] = bMsglen[0]; // plug in the bcd message length bRequestMsg[2] = bMsglen[1]; byte bLrc = FieldEncoder.GetChecksum(bRequestMsg); // plug in the LRC byte return(strRequestMsg); }
//JAVA TO C# CONVERTER WARNING: 'final' parameters are not allowed in .NET: //ORIGINAL LINE: protected int numElements(final org.broadinstitute.variant.variantcontext.VariantContext vc, final org.broadinstitute.variant.variantcontext.Genotype g) protected internal override int numElements(VariantContext vc, Genotype g) { return(FieldEncoder.numElements(vc, g.Filters)); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public void addGenotype(final BCF2Encoder encoder, final org.broadinstitute.variant.variantcontext.VariantContext vc, final org.broadinstitute.variant.variantcontext.Genotype g) throws java.io.IOException //JAVA TO C# CONVERTER WARNING: 'final' parameters are not allowed in .NET: public override void addGenotype(BCF2Encoder encoder, VariantContext vc, Genotype g) { FieldEncoder.encodeValue(encoder, ige.getValues(g), encodingType, nValuesPerGenotype); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Ensures({"result >= 0"}) protected int numElements(final org.broadinstitute.variant.variantcontext.VariantContext vc, final org.broadinstitute.variant.variantcontext.Genotype g) //JAVA TO C# CONVERTER WARNING: 'final' parameters are not allowed in .NET: protected internal virtual int numElements(VariantContext vc, Genotype g) { return(FieldEncoder.numElements(vc, g.getExtendedAttribute(Field))); }