public void ParseDetail(Prism810Context context, string[] marketFields) { var current = context.Current; if (current == null || current.ModelType != Type810Types.Header) { throw new InvalidOperationException(); } var header = current as Type810Header; if (header == null) { throw new InvalidOperationException(); } var model = new Type810Detail { AssignedId = marketFields.AtIndex(2), ServiceTypeCode = "SV", ServiceType = marketFields.AtIndex(3), ServiceClassCode = "C3", ServiceClass = marketFields.AtIndex(4), RateClass = marketFields.AtIndex(11), RateSubClass = marketFields.AtIndex(13), ServicePeriodStartDate = marketFields.AtIndex(6), ServicePeriodEndDate = marketFields.AtIndex(7), }; header.AddDetail(model); context.PushModel(model); }
public Type810Detail[] ListDetails(int headerKey) { using (var connection = new SqlConnection(connectionString)) using (var command = connection.CreateCommand("esp_810DetailList")) { command.AddWithValue("@HeaderKey", headerKey); if (connection.State != ConnectionState.Open) { connection.Open(); } var collection = new List <Type810Detail>(); using (var reader = command.ExecuteReader()) { while (reader.Read()) { var item = new Type810Detail { HeaderKey = headerKey, DetailKey = reader.GetInt32("Detail_Key"), }; reader.TryGetString("AssignedId", x => item.AssignedId = x); reader.TryGetString("ServiceTypeCode", x => item.ServiceTypeCode = x); reader.TryGetString("ServiceType", x => item.ServiceType = x); reader.TryGetString("ServiceClassCode", x => item.ServiceClassCode = x); reader.TryGetString("ServiceClass", x => item.ServiceClass = x); reader.TryGetString("RateClass", x => item.RateClass = x); reader.TryGetString("RateSubClass", x => item.RateSubClass = x); reader.TryGetString("ServicePeriodStartDate", x => item.ServicePeriodStartDate = x); reader.TryGetString("ServicePeriodEndDate", x => item.ServicePeriodEndDate = x); reader.TryGetString("MeterNumber", x => item.MeterNumber = x); reader.TryGetString("BillCycle", x => item.BillCycle = x); reader.TryGetString("GasPoolId", x => item.GasPoolId = x); reader.TryGetString("ServiceAgreement", x => item.ServiceAgreement = x); reader.TryGetString("ServiceTypeCode2", x => item.ServiceTypeCode2 = x); reader.TryGetString("ServiceType2", x => item.ServiceType2 = x); reader.TryGetString("ServiceTypeCode3", x => item.ServiceTypeCode3 = x); reader.TryGetString("ServiceType3", x => item.ServiceType3 = x); reader.TryGetString("ServiceDeliveryPoint", x => item.ServiceDeliveryPoint = x); reader.TryGetString("OldAccountNumber", x => item.OldAccountNumber = x); reader.TryGetString("RateCode", x => item.RateCode = x); reader.TryGetString("OldMeterNumber", x => item.OldMeterNumber = x); reader.TryGetString("TransferredDate", x => item.TransferredDate = x); reader.TryGetString("InvoicePeriodStartDate", x => item.InvoicePeriodStartDate = x); reader.TryGetString("InvoicePeriodEndDate", x => item.InvoicePeriodEndDate = x); reader.TryGetString("SupplierContractId", x => item.SupplierContractId = x); reader.TryGetString("UtilityContractId", x => item.UtilityContractId = x); collection.Add(item); } return(collection.ToArray()); } } }
public Type810Detail ParseDetail(XElement element, IDictionary <string, XNamespace> namespaces) { XNamespace empty; if (!namespaces.TryGetValue(string.Empty, out empty)) { empty = XNamespace.None; } var model = new Type810Detail { AssignedId = element.GetChildText(empty + "AssignedId"), ServiceTypeCode = element.GetChildText(empty + "ServiceTypeCode"), ServiceType = element.GetChildText(empty + "ServiceType"), ServiceClassCode = element.GetChildText(empty + "ServiceClassCode"), ServiceClass = element.GetChildText(empty + "ServiceClass"), RateClass = element.GetChildText(empty + "RateClass"), RateSubClass = element.GetChildText(empty + "RateSubClass"), ServicePeriodStartDate = element.GetChildText(empty + "ServicePeriodStartDate"), ServicePeriodEndDate = element.GetChildText(empty + "ServicePeriodEndDate"), MeterNumber = element.GetChildText(empty + "MeterNumber"), BillCycle = element.GetChildText(empty + "BillCycle"), GasPoolId = element.GetChildText(empty + "GasPoolId"), ServiceAgreement = element.GetChildText(empty + "ServiceAgreement"), RateCode = element.GetChildText(empty + "RateCode"), SupplierContractId = element.GetChildText(empty + "SupplierContractID"), UtilityContractId = element.GetChildText(empty + "UtilityContractID"), ServiceDeliveryPoint = element.GetChildText(empty + "ServiceDeliveryPoint"), }; var itemLoopElement = element.Element(empty + "DetailItemLoop"); if (itemLoopElement != null) { var itemElements = itemLoopElement.Elements(empty + "DetailItem"); foreach (var itemElement in itemElements) { var itemModel = ParseDetailItem(itemElement, namespaces); model.AddItem(itemModel); } } var taxLoopElement = element.Element(empty + "DetailTaxLoop"); if (taxLoopElement != null) { var taxElements = taxLoopElement.Elements(empty + "DetailTax"); foreach (var taxElement in taxElements) { var taxModel = ParseDetailTax(taxElement, namespaces); model.AddTax(taxModel); } } return(model); }
public int InsertDetail(Type810Detail model) { using (var connection = new SqlConnection(connectionString)) using (var command = connection.CreateCommand("csp810DetailInsert")) { SqlParameter keyParameter; command.AddWithValue("@810_Key", model.HeaderKey) .AddWithValue("@AssignedId", model.AssignedId) .AddWithValue("@ServiceTypeCode", model.ServiceTypeCode) .AddWithValue("@ServiceType", model.ServiceType) .AddWithValue("@ServiceClassCode", model.ServiceClassCode) .AddWithValue("@ServiceClass", model.ServiceClass) .AddWithValue("@RateClass", model.RateClass) .AddWithValue("@RateSubClass", model.RateSubClass) .AddWithValue("@ServicePeriodStartDate", model.ServicePeriodStartDate) .AddWithValue("@ServicePeriodEndDate", model.ServicePeriodEndDate) .AddWithValue("@MeterNumber", model.MeterNumber) .AddWithValue("@BillCycle", model.BillCycle) .AddWithValue("@GasPoolId", model.GasPoolId) .AddWithValue("@ServiceAgreement", model.ServiceAgreement) .AddWithValue("@RateCode", model.RateCode) .AddWithValue("@SupplierContractID", model.SupplierContractId) .AddWithValue("@UtilityContractID", model.UtilityContractId) .AddOutParameter("@Detail_Key", SqlDbType.Int, out keyParameter); if (connection.State != ConnectionState.Open) { connection.Open(); } command.ExecuteNonQuery(); if (keyParameter.Value == null) { throw new Exception(); } var detailKey = (int)keyParameter.Value; model.DetailKey = detailKey; return(detailKey); } }
public Type810Detail[] ListDetails(int headerKey) { using (var connection = new SqlConnection(connectionString)) using (var command = connection.CreateCommand("csp810ExportDetail")) { command.AddWithValue("@810Key", headerKey); if (connection.State != ConnectionState.Open) { connection.Open(); } var collection = new List <Type810Detail>(); using (var reader = command.ExecuteReader()) { while (reader.Read()) { var item = new Type810Detail { HeaderKey = headerKey, DetailKey = reader.GetInt32("Detail_Key"), }; reader.TryGetString("AssignedId", x => item.AssignedId = x); reader.TryGetString("ServiceTypeCode", x => item.ServiceTypeCode = x); reader.TryGetString("ServiceType", x => item.ServiceType = x); reader.TryGetString("ServiceClassCode", x => item.ServiceClassCode = x); reader.TryGetString("ServiceClass", x => item.ServiceClass = x); reader.TryGetString("RateClass", x => item.RateClass = x); reader.TryGetString("RateSubClass", x => item.RateSubClass = x); reader.TryGetString("ServicePeriodStartDate", x => item.ServicePeriodStartDate = x); reader.TryGetString("ServicePeriodEndDate", x => item.ServicePeriodEndDate = x); reader.TryGetString("SupplierContractId", x => item.SupplierContractId = x); reader.TryGetString("UtilityContractId", x => item.UtilityContractId = x); collection.Add(item); } return(collection.ToArray()); } } }
public int InsertDetail(Type810Detail model) { using (var connection = new SqlConnection(connectionString)) using (var command = connection.CreateCommand("csp810DetailInsert")) { SqlParameter keyParameter; // this differs from other imports as the import // specifies the parameters that should be used // the stored procedure takes many more parameters but... command.AddWithValue("@810_Key", model.HeaderKey) .AddWithValue("@AssignedId", model.AssignedId) .AddWithValue("@ServiceTypeCode", model.ServiceTypeCode) .AddWithValue("@ServiceType", model.ServiceType) .AddWithValue("@ServiceClassCode", model.ServiceClassCode) .AddWithValue("@ServiceClass", model.ServiceClass) .AddWithValue("@RateClass", model.RateClass) .AddWithValue("@RateSubClass", model.RateSubClass) .AddWithValue("@ServicePeriodStartDate", model.ServicePeriodStartDate) .AddWithValue("@ServicePeriodEndDate", model.ServicePeriodEndDate) .AddOutParameter("@Detail_Key", SqlDbType.Int, out keyParameter); if (connection.State != ConnectionState.Open) { connection.Open(); } command.ExecuteNonQuery(); if (keyParameter.Value == null) { throw new Exception(); } var detailKey = (int)keyParameter.Value; model.DetailKey = detailKey; return(detailKey); } }