public void When_Saving_Header_With_Any_Names_Then_Insert_Name_Is_Called() { // arrange const int headerKey = 1; var name = new Type814Name { EntityIdCode = "mock", }; var header = new Type814Header(); header.AddName(name); dataAccess.Stub(x => x.InsertHeader(Arg.Is(header))) .Return(headerKey); dataAccess.Expect(x => x.InsertName(Arg.Is(name))) .Return(1); // act concern.SaveHeader(header); // assert Assert.AreEqual(headerKey, name.HeaderKey); dataAccess.VerifyAllExpectations(); }
public int InsertName(Type814Name model) { using (var connection = new SqlConnection(connectionString)) using (var command = connection.CreateCommand("csp814NameInsert")) { SqlParameter keyParameter; command.AddWithValue("@814_Key", model.HeaderKey) .AddWithValue("@EntityIdType", model.EntityIdType) .AddIfNotEmptyOrDbNull("@EntityName", model.EntityName) .AddIfNotEmptyOrDbNull("@EntityName2", model.EntityName2) .AddIfNotEmptyOrDbNull("@EntityName3", model.EntityName3) .AddIfNotEmptyOrDbNull("@EntityDuns", model.EntityDuns) .AddIfNotEmptyOrDbNull("@EntityIdCode", model.EntityIdCode) .AddIfNotEmptyOrDbNull("@Address1", model.Address1) .AddIfNotEmptyOrDbNull("@Address2", model.Address2) .AddIfNotEmptyOrDbNull("@City", model.City) .AddIfNotEmptyOrDbNull("@State", model.State) .AddIfNotEmptyOrDbNull("@PostalCode", model.PostalCode) .AddIfNotEmptyOrDbNull("@CountryCode", model.CountryCode) .AddWithValue("@County", model.County) .AddWithValue("@ContactCode", model.ContactCode) .AddIfNotEmptyOrDbNull("@ContactName", model.ContactName) .AddIfNotEmptyOrDbNull("@ContactPhoneNbr1", model.ContactPhoneNbr1) .AddWithValue("@ContactPhoneNbr2", model.ContactPhoneNbr2) .AddWithValue("@ContactPhoneNbr3", model.ContactPhoneNbr3) .AddWithValue("@EntityFirstName", model.EntityFirstName) .AddWithValue("@EntityLastName", model.EntityLastName) .AddWithValue("@EntityEmail", model.EntityEmail) .AddWithValue("@CustType", model.CustType) .AddWithValue("@TaxingDistrict", model.TaxingDistrict) .AddWithValue("EntityMiddleName", model.EntityMiddleName) .AddOutParameter("@Name_Key", SqlDbType.Int, out keyParameter); if (connection.State != ConnectionState.Open) { connection.Open(); } command.ExecuteNonQuery(); if (keyParameter.Value == null) { throw new Exception(); } var nameKey = (int)keyParameter.Value; model.NameKey = nameKey; return(nameKey); } }
public Type814Name[] ListNames(int headerKey) { using (var connection = new SqlConnection(connectionString)) using (var command = connection.CreateCommand("esp_814NameList")) { command.AddWithValue("@HeaderKey", headerKey); if (connection.State != ConnectionState.Open) { connection.Open(); } var collection = new List <Type814Name>(); using (var reader = command.ExecuteReader()) { while (reader.Read()) { var item = new Type814Name { NameKey = reader.GetInt32("Name_Key"), HeaderKey = headerKey, }; reader.TryGetString("EntityIdType", x => item.EntityIdType = x); reader.TryGetString("EntityName", x => item.EntityName = x); reader.TryGetString("EntityName2", x => item.EntityName2 = x); reader.TryGetString("EntityName3", x => item.EntityName3 = x); reader.TryGetString("Address1", x => item.Address1 = x); reader.TryGetString("Address2", x => item.Address2 = x); reader.TryGetString("City", x => item.City = x); reader.TryGetString("State", x => item.State = x); reader.TryGetString("PostalCode", x => item.PostalCode = x); reader.TryGetString("CountryCode", x => item.CountryCode = x); reader.TryGetString("ContactName", x => item.ContactName = x); reader.TryGetString("ContactPhoneNbr1", x => item.ContactPhoneNbr1 = x); reader.TryGetString("ContactPhoneNbr2", x => item.ContactPhoneNbr2 = x); reader.TryGetString("ContactPhoneNbr3", x => item.ContactPhoneNbr3 = x); reader.TryGetString("EntityFirstName", x => item.EntityFirstName = x); reader.TryGetString("EntityLastName", x => item.EntityLastName = x); reader.TryGetString("CustType", x => item.CustType = x); reader.TryGetString("TaxingDistrict", x => item.TaxingDistrict = x); reader.TryGetString("EntityMiddleName", x => item.EntityMiddleName = x); reader.TryGetString("County", x => item.County = x); collection.Add(item); } return(collection.ToArray()); } } }
public Type814Name[] ListNames(int headerKey) { using (var connection = new SqlConnection(connectionString)) using (var command = connection.CreateCommand("csp814ExportListNameRecords")) { command.AddWithValue("@814Key", headerKey); if (connection.State != ConnectionState.Open) { connection.Open(); } var collection = new List <Type814Name>(); using (var reader = command.ExecuteReader()) { while (reader.Read()) { var item = new Type814Name { HeaderKey = headerKey, }; reader.TryGetString("EntityIdType", x => item.EntityIdType = x); reader.TryGetString("EntityName", x => item.EntityName = x); reader.TryGetString("EntityName2", x => item.EntityName2 = x); reader.TryGetString("EntityName3", x => item.EntityName3 = x); reader.TryGetString("Address1", x => item.Address1 = x); reader.TryGetString("Address2", x => item.Address2 = x); reader.TryGetString("City", x => item.City = x); reader.TryGetString("State", x => item.State = x); reader.TryGetString("PostalCode", x => item.PostalCode = x); reader.TryGetString("CountryCode", x => item.CountryCode = x); reader.TryGetString("ContactName", x => item.ContactName = x); reader.TryGetString("ContactPhoneNbr1", x => item.ContactPhoneNbr1 = x); reader.TryGetString("ContactPhoneNbr2", x => item.ContactPhoneNbr2 = x); reader.TryGetString("EntityIdCode", x => item.EntityIdCode = x); reader.TryGetString("EntityEmail", x => item.EntityEmail = x); collection.Add(item); } return(collection.ToArray()); } } }
public Type814Name ParseName(XElement element, IDictionary <string, XNamespace> namespaces) { XNamespace empty; if (!namespaces.TryGetValue(string.Empty, out empty)) { empty = XNamespace.None; } var model = new Type814Name { EntityIdType = element.GetChildText(empty + "EntityIdType"), EntityName = element.GetChildText(empty + "EntityName"), EntityName2 = element.GetChildText(empty + "EntityName2"), EntityName3 = element.GetChildText(empty + "EntityName3"), EntityDuns = element.GetChildText(empty + "EntityDuns"), EntityIdCode = element.GetChildText(empty + "EntityIdCode"), Address1 = element.GetChildText(empty + "Address1"), Address2 = element.GetChildText(empty + "Address2"), City = element.GetChildText(empty + "City"), State = element.GetChildText(empty + "State"), PostalCode = element.GetChildText(empty + "PostalCode"), CountryCode = element.GetChildText(empty + "CountryCode"), County = element.GetChildText(empty + "County"), ContactCode = element.GetChildText(empty + "ContactCode"), ContactName = element.GetChildText(empty + "ContactName"), ContactPhoneNbr1 = element.GetChildText(empty + "ContactPhoneNbr1"), ContactPhoneNbr2 = element.GetChildText(empty + "ContactPhoneNbr2"), ContactPhoneNbr3 = element.GetChildText(empty + "ContactPhoneNbr3"), EntityFirstName = element.GetChildText(empty + "EntityFirstName"), EntityLastName = element.GetChildText(empty + "EntityLastName"), CustType = element.GetChildText(empty + "CustType"), TaxingDistrict = element.GetChildText(empty + "TaxingDistrict"), EntityMiddleName = element.GetChildText(empty + "EntityMiddleName"), }; return(model); }
public void ParseName(Prism814Context context, string[] marketFields) { var current = context.Current; if (current == null || current.ModelType != Type814Types.Header) { throw new InvalidOperationException(); } var header = current as Type814Header; if (header == null) { throw new InvalidOperationException(); } var model = new Type814Name { EntityIdType = marketFields.AtIndex(2), EntityName2 = marketFields.AtIndex(5), EntityName3 = marketFields.AtIndex(6), Address1 = marketFields.AtIndex(7), Address2 = marketFields.AtIndex(8), City = marketFields.AtIndex(9), State = marketFields.AtIndex(10), PostalCode = marketFields.AtIndex(11), ContactName = marketFields.AtIndex(16), ContactPhoneNbr1 = marketFields.AtIndex(14), CountryCode = marketFields.AtIndex(12), ContactPhoneNbr2 = marketFields.AtIndex(15), }; marketFields.TryAtIndex(3, x => model.EntityName = x); header.AddName(model); }
public void Should_Produce_The_Same_Content_As_A_Sample_File() { const string expectedContent = @"SH|SELTX183529049ENR|2276133|D|O| 01|SELTX183529049ENR|TX|Q|2276133||957877905|CENTERPOINT ENERGY|148055531|STARTEX POWER||20130309|||||24|ERCOT|183529049| 05|SELTX183529049ENR|8R|COTTONWOOD CAPITAL PROPERTY MANAGEMENT II LLC AS AGENT FOR T||||12700 STAFFORD RD BS2||STAFFORD|TX|77477|||2815648277|2815648277|FRANK MILLER|||||| 10|SELTX183529049ENR|EL|CE|MVO|1|D|||||||||||||||||||||||||||||||||||||1008901023817063480105|||||||||||||||| 11|SELTX183529049ENR|||||||||||||||20130312|||| TL|1"; // arrange var port = new CspDunsPortModel { CspDunsId = 1, CspDunsPortId = 1, Duns = "148055531", LdcDuns = string.Empty, LdcShortName = string.Empty, TradingPartnerId = "SELTX{DUNS}", ProviderId = 1, FileType = string.Empty, }; var header = new Type814Header { HeaderKey = 3893482, TransactionSetPurposeCode = "Q", TransactionNbr = "2276133", TransactionDate = "20130309", ActionCode = "24", TdspDuns = "957877905", TdspName = "Centerpoint Energy", CrDuns = "148055531", CrName = "StarTex Power", TransactionTypeId = 13, MarketId = 1, ProviderId = 1, TransactionQueueTypeId = 1, ReferenceNbr = string.Empty, }; var name = new Type814Name { HeaderKey = 3893482, NameKey = 2470182, EntityIdType = "8R", EntityName = "COTTONWOOD CAPITAL PROPERTY MANAGEMENT II LLC AS AGENT FOR T", EntityName2 = string.Empty, EntityName3 = string.Empty, Address1 = "12700 STAFFORD RD BS2", Address2 = string.Empty, City = "STAFFORD", State = "TX", PostalCode = "77477", ContactName = "FRANK MILLER", ContactPhoneNbr1 = "281-564-8277", ContactPhoneNbr2 = string.Empty, EntityFirstName = string.Empty, EntityLastName = "Cottonwood Capital Property Management II LLC as ", EntityEmail = string.Empty, }; var service = new Type814Service { HeaderKey = 3893482, ServiceKey = 3892992, ServiceTypeCode1 = "SH", ServiceType1 = "EL", ServiceTypeCode2 = "SH", ServiceType2 = "CE", ServiceTypeCode3 = "SH", ServiceType3 = "MVO", MaintenanceTypeCode = "002", EsiId = "1008901023817063480105", SpecialNeedsIndicator = "N", SpecialReadSwitchDate = "20130312", EspAccountNumber = "291920", PaymentOption = "N", }; clientDataAccess.Expect(x => x.ListCspDunsPort()) .Return(new[] { port }); clientDataAccess.Expect(x => x.IdentifyMarket(Arg <string> .Is.Anything)) .Return(1); exportDataAccess.Expect(x => x.ListUnprocessed(Arg <string> .Is.Anything, Arg <string> .Is.Anything, Arg.Is(1))) .Return(new[] { header }); exportDataAccess.Expect(x => x.ListNames(Arg <int> .Is.Anything)) .Return(new[] { name }); exportDataAccess.Expect(x => x.ListServices(Arg <int> .Is.Anything)) .Return(new[] { service }); exportDataAccess.Stub(x => x.ListServiceStatuses(Arg <int> .Is.Anything)) .Return(new Type814ServiceStatus[0]); exportDataAccess.Stub(x => x.ListServiceRejects(Arg <int> .Is.Anything)) .Return(new Type814ServiceReject[0]); exportDataAccess.Stub(x => x.ListServiceMeters(Arg <int> .Is.Anything)) .Return(new Type814ServiceMeter[0]); // act var results = concern.Export(CancellationToken.None); // assert Assert.IsNotNull(results); Assert.AreEqual(1, results.Length); var result = results[0]; Assert.IsNotNull(result); Assert.AreEqual(1, result.HeaderCount); CollectionAssert.Contains(result.HeaderKeys, 3893482); result.FinalizeDocument(1); Assert.AreEqual(expectedContent, result.Content); }