Sage.Integration.Northwind.Application.Entities.Product.UnitOfMeasure.Add C# (CSharp) Method

Add() public method

public Add ( Document doc, NorthwindConfig config, List &result ) : void
doc Sage.Integration.Northwind.Application.Base.Document
config NorthwindConfig
result List
return void
        public override void Add(Document doc, NorthwindConfig config, ref List<TransactionResult> result)
        {
            List<TransactionResult> transactionResult = new List<TransactionResult>();
            UnitOfMeasureDocument uomDoc = doc as UnitOfMeasureDocument;

            #region check input values

            if (uomDoc == null)
            {
                result.Add(doc.SetTransactionStatus(TransactionStatus.UnRecoverableError, Resources.ErrorMessages_DocumentTypeNotSupported));
                return;
            }
            #endregion

            DataSets.ProductTableAdapters.ProductsTableAdapter tableAdapter;

            DataSets.Product productDataset = new DataSets.Product();
            DataSets.Product.ProductsRow row = productDataset.Products.NewProductsRow();

            #region fill dataset from document

            try
            {

                // active???

                if (uomDoc.name.IsNull)
                    row.SetQuantityPerUnitNull();
                else
                    row.QuantityPerUnit = (string)uomDoc.name.Value;

                // units ???

                // defaultvalue ???

                // familyId ???

                /* CreateID and ModifyID */
                row.CreateID = config.SequenceNumber;
                row.CreateUser = config.CrmUser;

                row.ModifyID = config.SequenceNumber;
                row.ModifyUser = config.CrmUser;

            }
            catch (Exception e)
            {
                uomDoc.Id = "";
            #warning Check error message
                result.Add(uomDoc.SetTransactionStatus(TransactionStatus.UnRecoverableError, e.ToString()));
                return;
            }

            #endregion

            using (OleDbConnection connection = new OleDbConnection(config.ConnectionString))
            {
                connection.Open();

                tableAdapter = new DataSets.ProductTableAdapters.ProductsTableAdapter();
                tableAdapter.Connection = connection;

                productDataset.Products.AddProductsRow(row);

                tableAdapter.Update(productDataset.Products);

                OleDbCommand Cmd = new OleDbCommand("SELECT @@IDENTITY", connection);

                object lastid = Cmd.ExecuteScalar();

                uomDoc.Id = ((int)lastid).ToString();
            }

            result.Add(doc.SetTransactionStatus(TransactionStatus.Success));
        }