Пример #1
0
        public Type997Response ParseResponse(XElement element, IDictionary <string, XNamespace> namespaces)
        {
            XNamespace empty;

            if (!namespaces.TryGetValue(string.Empty, out empty))
            {
                empty = XNamespace.None;
            }

            var model = new Type997Response
            {
                AcknowledgementCode = element.GetChildText(empty + "AcknowledgementCode"),
                ControlNbr          = element.GetChildText(empty + "ControlNbr"),
                IdentifierCode      = element.GetChildText(empty + "IdentifierCode"),
                SyntaxErrorCode1    = element.GetChildText(empty + "SyntaxErrorCode1"),
                SyntaxErrorCode2    = element.GetChildText(empty + "SyntaxErrorCode2"),
                SyntaxErrorCode3    = element.GetChildText(empty + "SyntaxErrorCode3"),
                SyntaxErrorCode4    = element.GetChildText(empty + "SyntaxErrorCode4"),
                SyntaxErrorCode5    = element.GetChildText(empty + "SyntaxErrorCode5"),
            };

            var responseNoteLoopElement = element.Element(empty + "ResponseNoteLoop");

            if (responseNoteLoopElement != null)
            {
                var nameElements = responseNoteLoopElement.Elements(empty + "ResponseNote");
                foreach (var nameElement in nameElements)
                {
                    var responseNoteModel = ParseResponseNote(nameElement, namespaces);
                    model.AddResponseNote(responseNoteModel);
                }
            }

            return(model);
        }
Пример #2
0
        public int InsertResponse(Type997Response model)
        {
            using (var connection = new SqlConnection(connectionString))
                using (var command = connection.CreateCommand("csp997ResponseInsert"))
                {
                    SqlParameter keyParameter;

                    command.AddWithValue("@997_Key", model.HeaderKey)
                    .AddIfNotEmptyOrDbNull("@IdentifierCode", model.IdentifierCode)
                    .AddIfNotEmptyOrDbNull("@ControlNbr", model.ControlNbr)
                    .AddIfNotEmptyOrDbNull("@AcknowledgementCode", model.AcknowledgementCode)
                    .AddIfNotEmptyOrDbNull("@SyntaxErrorCode1", model.SyntaxErrorCode1)
                    .AddIfNotEmptyOrDbNull("@SyntaxErrorCode2", model.SyntaxErrorCode2)
                    .AddIfNotEmptyOrDbNull("@SyntaxErrorCode3", model.SyntaxErrorCode3)
                    .AddIfNotEmptyOrDbNull("@SyntaxErrorCode4", model.SyntaxErrorCode4)
                    .AddIfNotEmptyOrDbNull("@SyntaxErrorCode5", model.SyntaxErrorCode5)
                    .AddOutParameter("@Response_Key", SqlDbType.Int, out keyParameter);

                    if (connection.State != ConnectionState.Open)
                    {
                        connection.Open();
                    }

                    command.ExecuteNonQuery();

                    if (keyParameter.Value == null)
                    {
                        throw new Exception();
                    }

                    var responseKey = (int)keyParameter.Value;
                    model.ResponseKey = responseKey;

                    return(responseKey);
                }
        }