public void SaveHeader(Type248Header header) { logger.Trace("Start inserting header."); var headerKey = marketDataAccess.InsertHeader(header); logger.InfoFormat("Inserted Header \"{0}\".", headerKey); foreach (var detail in header.Details) { detail.HeaderKey = headerKey; var detailKey = marketDataAccess.InsertDetail(detail); logger.DebugFormat("Inserted Detail \"{0}\" for Header \"{1}\".", detailKey, headerKey); } logger.Trace("Completed inserted header."); }
public int InsertHeader(Type248Header model) { using (var connection = new SqlConnection(connectionString)) using (var command = connection.CreateCommand("csp248HeaderInsert")) { SqlParameter keyParameter; command.AddWithValue("@MarketFileId", model.MarketFileId) .AddIfNotEmptyOrDbNull("@ControlNbr", model.ControlNbr) .AddIfNotEmptyOrDbNull("@StructureCode", model.StructureCode) .AddIfNotEmptyOrDbNull("@TransactionSetPurposeCode", model.TransactionSetPurposeCode) .AddIfNotEmptyOrDbNull("@TransactionReferenceNbr", model.TransactionReferenceNbr) .AddIfNotEmptyOrDbNull("@TransactionDate", model.TransactionDate) .AddIfNotEmptyOrDbNull("@TransactionTypeCode", model.TransactionTypeCode) .AddIfNotEmptyOrDbNull("@CrDuns", model.CrDuns) .AddIfNotEmptyOrDbNull("@CrName", model.CrName) .AddIfNotEmptyOrDbNull("@LDCDuns", model.LDCDuns) .AddIfNotEmptyOrDbNull("@LDCName", model.LDCName) .AddIfNotEmptyOrDbNull("@SegmentCount", model.SegmentCount) .AddWithValue("@Direction", true) .AddWithValue("@ProcessFlag", DBNull.Value) .AddWithValue("@ProcessDate", DBNull.Value) .AddOutParameter("@Key", SqlDbType.Int, out keyParameter); if (connection.State != ConnectionState.Open) { connection.Open(); } command.ExecuteNonQuery(); if (keyParameter.Value == null) { throw new Exception(); } var headerKey = (int)keyParameter.Value; model.HeaderKey = headerKey; return(headerKey); } }
public Type248Header ParseHeader(XElement element, IDictionary <string, XNamespace> namespaces) { XNamespace empty; if (!namespaces.TryGetValue(string.Empty, out empty)) { empty = XNamespace.None; } var model = new Type248Header { ControlNbr = element.GetChildText(empty + "ControlNbr"), CrDuns = element.GetChildText(empty + "CrDuns"), CrName = element.GetChildText(empty + "CrName"), LDCDuns = element.GetChildText(empty + "LDCDuns"), LDCName = element.GetChildText(empty + "LDCName"), SegmentCount = element.GetChildText(empty + "SegmentCount"), StructureCode = element.GetChildText(empty + "StructureCode"), TransactionDate = element.GetChildText(empty + "TransactionDate"), TransactionReferenceNbr = element.GetChildText(empty + "TransactionReferenceNbr"), TransactionSetPurposeCode = element.GetChildText(empty + "TransactionSetPurposeCode"), TransactionTypeCode = element.GetChildText(empty + "TransactionTypeCode"), }; var detailLoopElement = element.Element(empty + "DetailLoop"); if (detailLoopElement != null) { var nameElements = detailLoopElement.Elements(empty + "Detail"); foreach (var nameElement in nameElements) { var detailModel = ParseDetail(nameElement, namespaces); model.AddDetail(detailModel); } } return(model); }
public void AddHeader(Type248Header item) { headers.Add(item); }
public void SaveHeader(Type248Header header, int marketFileId) { header.MarketFileId = marketFileId; SaveHeader(header); }