• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# NorthwindConfig类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中NorthwindConfig的典型用法代码示例。如果您正苦于以下问题:C# NorthwindConfig类的具体用法?C# NorthwindConfig怎么用?C# NorthwindConfig使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



NorthwindConfig类属于命名空间,在下文中一共展示了NorthwindConfig类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: Add

        /// <summary>
        /// The Add verb inserts an account and all subentities  in the underlying data-store. On success, the
        /// identity of the newly inserted instances will added to the document and all subdocuments.
        /// </summary>
        /// <param name="doc">Document (without ID) containing the data to be stored</param>
        /// <param name="config">The configuration object</param>
        /// <returns>The transactionResult contais status information of the single transaction an also the nesed transactions of the subentities</returns>
        public override void Add(Document doc, NorthwindConfig config, ref List<TransactionResult> result)
        {
            #region Declarations
            AccountDocument accDoc;
            AccountDataset.AccountsRow row;
            #endregion

            // cast the given document to an account document
            accDoc = doc as AccountDocument;
            if (accDoc == null)
            {
                result.Add(doc.SetTransactionStatus(TransactionStatus.UnRecoverableError, Resources.ErrorMessages_DocumentTypeNotSupported));
                return;
            }

            // get the account row from the given document
            row = GetRow(accDoc, config, true);

            // store as customer if the account type is set to customer
            if (CRMSelections.acc_type_Customer == (string)accDoc.customerSupplierFlag.Value)
                StoreCustomer(accDoc, row, config, ref result);

            // store as supplier if the account type is set to supplier
            else if (CRMSelections.acc_type_Supplier == (string)accDoc.customerSupplierFlag.Value)
                StoreSupplier(accDoc, row, config, ref result);

               // for any other account type, set the transactionstatus to not supported
            else
            {
                result.Add(accDoc.SetTransactionStatus(TransactionStatus.UnRecoverableError, Resources.ErrorMessages_AccountTypeNotSupported));
            }
        }
开发者ID:Sage,项目名称:SData-Contracts,代码行数:39,代码来源:Account.cs


示例2: Add

        /* Add */
        public override void Add(Document doc, NorthwindConfig config, ref List<TransactionResult> result)
        {
            List<TransactionResult> transactionResult = new List<TransactionResult>();

            // cast the given document to an email document
            // return if fails
            EmailDocument emailDocument = doc as EmailDocument;
            if (emailDocument == null)
            {
                result.Add(doc.SetTransactionStatus(TransactionStatus.UnRecoverableError, Resources.ErrorMessages_DocumentTypeNotSupported));
                return;
            }

            CustomerEmailsTableAdapter tableAdapter;
            Emails emailsDataset = new Emails();
            Emails.CustomerEmailsRow emailRow = emailsDataset.CustomerEmails.NewCustomerEmailsRow();

            #region fill dataset from document

            try
            {
                if (emailDocument.emailaddress.IsNull)
                    emailRow.SetEmailNull();
                else
                    emailRow.Email = (string)emailDocument.emailaddress.Value;

                emailRow.CreateID = config.SequenceNumber;
                emailRow.CreateUser = config.CrmUser;

                emailRow.ModifyID = config.SequenceNumber;
                emailRow.ModifyUser = config.CrmUser;
            }
            catch (Exception e)
            {
                emailDocument.Id = "";
            #warning Check error message
                result.Add(emailDocument.SetTransactionStatus(TransactionStatus.UnRecoverableError, e.ToString()));
                return;
            }

            #endregion

            #region Get the ID of the new row and set it to the document

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

                tableAdapter = new CustomerEmailsTableAdapter();
                tableAdapter.Connection = connection;

                emailsDataset.CustomerEmails.AddCustomerEmailsRow(emailRow);
                tableAdapter.Update(emailsDataset.CustomerEmails);
                OleDbCommand Cmd = new OleDbCommand("SELECT @@IDENTITY", connection);
                object lastid = Cmd.ExecuteScalar();
                emailDocument.Id = ((int)lastid).ToString();
            }

            #endregion
        }
开发者ID:Sage,项目名称:SData-Contracts,代码行数:61,代码来源:Email.cs


示例3: FillChangeLog

 public override int FillChangeLog(out DataTable table, NorthwindConfig config, Token lastToken)
 {
     table = new DataTable("PriceingList");
     table.Columns.Add("ID", typeof(string));
     table.Columns.Add("Sequence", typeof(int));
     table.Rows.Add(new object[] { Constants.DefaultValues.PriceList.ID, 0 });
     //table.Rows.Add(new object[] { Constants.DefaultValues.PriceListSpecial.ID, 0 });
     return 1;
 }
开发者ID:Sage,项目名称:SData-Contracts,代码行数:9,代码来源:PricingList.cs


示例4: GetDocument

        public override Document GetDocument(Identity identity, Token lastToken, NorthwindConfig config)
        {
            PricingListsDocument doc = new PricingListsDocument();
            if (identity.Id.Equals(Constants.DefaultValues.PriceList.ID))
            {
                doc.Id = Constants.DefaultValues.PriceList.ID;
                doc.description.Value = Constants.DefaultValues.PriceList.Name;
                doc.name.Value = Constants.DefaultValues.PriceList.Name;
            }
            else
            {
                doc.Id = Constants.DefaultValues.PriceListSpecial.ID;
                doc.description.Value = Constants.DefaultValues.PriceListSpecial.Name;
                doc.name.Value = Constants.DefaultValues.PriceListSpecial.Name;
            }
            doc.active.Value = "Y"; //Constants.DefaultValues.Active;
            #warning should be boolean, but as workaround this will filled with "Y"
            doc.erpdefaultvalue.Value = "Y";
            doc.defaultvalue.Value = false;

            return doc;
        }
开发者ID:Sage,项目名称:SData-Contracts,代码行数:22,代码来源:PricingList.cs


示例5: GetUOMFamilyDocument

        private UnitOfMeasureFamilyDocument GetUOMFamilyDocument(Sage.Integration.Northwind.Application.Entities.Product.DataSets.Product.ProductsRow productRow, Token lastToken, NorthwindConfig config)
        {
            #region Declarations
            UnitOfMeasureFamilyDocument uomDoc;
            string identity;
            #endregion

            identity = productRow.ProductID.ToString();

            // create Account Doc
            uomDoc = new UnitOfMeasureFamilyDocument();
            uomDoc.Id = identity;

            if (lastToken.InitRequest)
                uomDoc.LogState = LogState.Created;

            else if (productRow.IsCreateIDNull() || productRow.IsModifyIDNull()
                || productRow.IsCreateUserNull() || productRow.IsModifyUserNull())
                uomDoc.LogState = LogState.Created;

            else if ((productRow.CreateID > lastToken.SequenceNumber)
                   && (productRow.CreateUser != config.CrmUser))
                uomDoc.LogState = LogState.Created;

            else if ((productRow.CreateID == lastToken.SequenceNumber)
               && (productRow.CreateUser != config.CrmUser)
                && (identity.CompareTo(lastToken.Id.Id) > 0))
                uomDoc.LogState = LogState.Created;
            else if ((productRow.ModifyID >= lastToken.SequenceNumber) && (productRow.ModifyUser != config.CrmUser))
                uomDoc.LogState = LogState.Updated;

            uomDoc.active.Value = Constants.DefaultValues.Active;
            uomDoc.defaultvalue.Value = true;

            uomDoc.name.Value = productRow.IsQuantityPerUnitNull() ? null : productRow.QuantityPerUnit.ToString(); ;
            uomDoc.description.Value = uomDoc.name.Value;
            return uomDoc;
        }
开发者ID:Sage,项目名称:SData-Contracts,代码行数:38,代码来源:UnitOfMeasureFamily.cs


示例6: GetDocument

        public override Document GetDocument(Identity identity, Token lastToken, NorthwindConfig config)
        {
            int recordCount;
            DataSets.Product product = new DataSets.Product();
            int uomFamilyId;

            uomFamilyId = Identity.GetId(identity);

            using (OleDbConnection connection = new OleDbConnection(config.ConnectionString))
            {
                Sage.Integration.Northwind.Application.Entities.Product.DataSets.ProductTableAdapters.ProductsTableAdapter tableAdapter;
                tableAdapter = new Sage.Integration.Northwind.Application.Entities.Product.DataSets.ProductTableAdapters.ProductsTableAdapter();
                tableAdapter.Connection = connection;
                recordCount = tableAdapter.FillBy(product.Products, uomFamilyId);
            }

            if (recordCount == 0)
                return GetDeletedDocument(identity);

            return GetUOMFamilyDocument((DataSets.Product.ProductsRow)product.Products[0], lastToken, config);
        }
开发者ID:Sage,项目名称:SData-Contracts,代码行数:21,代码来源:UnitOfMeasureFamily.cs


示例7: GetAll

        /* Get */
        public override List<Identity> GetAll(NorthwindConfig config, string whereExpression, OleDbParameter[] oleDbParameters)
        {
            List<Identity> result = new List<Identity>();
            int recordCount = 0;
            DataSets.Product productsDataset = new DataSets.Product();

            // get the first 11 rows of the changelog
            using (OleDbConnection connection = new OleDbConnection(config.ConnectionString))
            {
                DataSets.ProductTableAdapters.ProductsTableAdapter tableAdapter;

                tableAdapter = new DataSets.ProductTableAdapters.ProductsTableAdapter();

                tableAdapter.Connection = connection;

                if (string.IsNullOrEmpty(whereExpression))
                    recordCount = tableAdapter.Fill(productsDataset.Products);
                else
                    recordCount = tableAdapter.FillByWhereClause(productsDataset.Products, whereExpression, oleDbParameters);
            }

            foreach (DataSets.Product.ProductsRow row in productsDataset.Products.Rows)
            {
                // use where expression !!
                result.Add(new Identity(this.EntityName, row.ProductID.ToString()));
            }

            return result;
        }
开发者ID:Sage,项目名称:SData-Contracts,代码行数:30,代码来源:UnitOfMeasureFamily.cs


示例8: Fill

        protected virtual int Fill(string sqlQuery, List<OleDbParameter> oleDbParameterList, NorthwindConfig config, out DataSet dataSet)
        {
            // declarations
            OleDbDataAdapter dataAdapter;
            int nOfRows;

            // initializations
            dataSet = null;
            nOfRows = 0;
            dataSet = new DataSet();

            // get the data base records using a table adapter.
            using (OleDbConnection connection = new OleDbConnection(config.ConnectionString))
            {
                dataAdapter = new OleDbDataAdapter(sqlQuery, connection);
                dataAdapter.SelectCommand.Parameters.AddRange(oleDbParameterList.ToArray());
                nOfRows = dataAdapter.Fill(dataSet, _reportName);
            }

            return nOfRows;
        }
开发者ID:Sage,项目名称:SData-Contracts,代码行数:21,代码来源:RTDVBase.cs


示例9: GetDocumentLineItem

        private Document GetDocumentLineItem(DataSets.Order.CalculatedOrderDetailsRow row, Token lastToken, NorthwindConfig config)
        {
            #region Declarations
            LineItemDocument doc;
            string id;
            decimal discountPercentage;
            #endregion

            id = row.OrderID.ToString() + "-" + row.ProductID.ToString();

            doc = new LineItemDocument();
            doc.Id = id;

            if (lastToken.InitRequest)
                doc.LogState = LogState.Created;
            else if ((row.CreateID >= lastToken.SequenceNumber) && (row.CreateUser != config.CrmUser))
                doc.LogState = LogState.Created;
            else if ((row.ModifyID >= lastToken.SequenceNumber) && (row.ModifyUser != config.CrmUser))
                doc.LogState = LogState.Updated;

            doc.productid.Value = row.ProductID;
            //doc.orderquouteid.Value = row.OrderID;
            doc.uomid.Value = row.ProductID;
            doc.quantity.Value = row.IsQuantityNull() ? Convert.ToInt16(0) : row.Quantity;
            doc.listprice.Value = row.IsUnitPriceNull() ? new decimal(0) : row.UnitPrice;
            discountPercentage = row.IsDiscountNull() ? (decimal)0 : Convert.ToDecimal(row.Discount);

            //doc.discountsum.Value = (decimal)(short)doc.Quantity.Value * (decimal)doc.ListPrice.Value * discountPercentage;
            doc.discountsum.Value = (decimal)doc.listprice.Value * discountPercentage;
            doc.quotedprice.Value = (decimal)doc.listprice.Value * (1 - discountPercentage);

            //doc.quotedprice.Value = row.IsQuotePriceNull() ? new decimal(0) : Convert.ToDecimal(row.QuotePrice);

            doc.taxrate.Value = "0";
            doc.tax.Value = new decimal(0);
            doc.quotedpricetotal.Value = Convert.ToDecimal(doc.quantity.Value) * Convert.ToDecimal(doc.quotedprice.Value);
            return doc;
        }
开发者ID:Sage,项目名称:SData-Contracts,代码行数:38,代码来源:Order.cs


示例10: GetDocument

        public override Document GetDocument(Identity identity, Token lastToken, NorthwindConfig config)
        {
            int recordCount;
            DataSets.Order order = new DataSets.Order();
            CalculatedOrdersTableAdapter tableAdapter;
            tableAdapter = new CalculatedOrdersTableAdapter();
            CalculatedOrderDetailsTableAdapter detailTableAdapter;
            detailTableAdapter = new CalculatedOrderDetailsTableAdapter();
            DeletedOrderDetailsTableAdapter deletedDetailTableAdapter;
            deletedDetailTableAdapter = new DeletedOrderDetailsTableAdapter();

            int id;

            id = Identity.GetId(identity);

            using (OleDbConnection connection = new OleDbConnection(config.ConnectionString))
            {
                tableAdapter.Connection = connection;
                recordCount = tableAdapter.FillBy(order.CalculatedOrders, id);
                if (recordCount == 0)
                    return GetDeletedDocument(identity);

                detailTableAdapter.Connection = connection;
                detailTableAdapter.FillBy(order.CalculatedOrderDetails, id);

                deletedDetailTableAdapter.Connection = connection;
                deletedDetailTableAdapter.Fill(order.DeletedOrderDetails, id.ToString(), lastToken.SequenceNumber, config.CrmUser);
            }

            return GetDocument((DataSets.Order.CalculatedOrdersRow)order.CalculatedOrders[0],
                order.CalculatedOrderDetails,
                order.DeletedOrderDetails,
                lastToken, config);
        }
开发者ID:Sage,项目名称:SData-Contracts,代码行数:34,代码来源:Order.cs


示例11: GetAll

 public abstract List<Identity> GetAll(NorthwindConfig config, string whereExpression, OleDbParameter[] oleDbParameters);
开发者ID:estelleLeBouler,项目名称:SData-Contracts,代码行数:1,代码来源:EntityBase.cs


示例12: FillChangeLog

 /// <summary>
 /// get the next changes from an entity
 /// </summary>
 /// <param name="table">the datatable to fill</param>
 /// <param name="config">the configuration object</param>
 /// <param name="lastToken">the last token to get the next 10 changelog entries</param>
 /// <returns>retunrs a recordcount and a filled datatable</returns>
 public abstract int FillChangeLog(out DataTable table, NorthwindConfig config, Token lastToken);
开发者ID:estelleLeBouler,项目名称:SData-Contracts,代码行数:8,代码来源:EntityBase.cs


示例13: ExecuteTransactions

 /// <summary>
 /// ExecuteTransaction is for the CRM system to send all create, update, and delete information from CRM to the ERP system. 
 /// </summary>
 /// <param name="TransactionData"></param>
 /// <param name="config">the configuration object</param>
 /// <returns>ExecuteTransactionsReponse is the response 
 /// from the ERP system providing results of the attempted changes.   
 /// The method returns an ArrayofTransactionResults, 
 /// which contains a list of TransactionResults.</returns>
 public TransactionResult[] ExecuteTransactions(Transaction[] TransactionData, NorthwindConfig config)
 {
     Document doc = GetDocumentTemplate();
     List<TransactionResult> result = new List<TransactionResult>();
     try
     {
         for (int index = 0; index < TransactionData.Length; index++)
         {
             doc = GetDocumentTemplate();
             doc.ReadFromXmlNode(TransactionData[index].Instance);
             ExecuteTransaction(doc, config, ref result);
         }
     }
     catch(Exception e)
     {
         result.Add(doc.SetTransactionStatus(TransactionStatus.FatalError, e.Message));
     }
     return result.ToArray();
 }
开发者ID:estelleLeBouler,项目名称:SData-Contracts,代码行数:28,代码来源:EntityBase.cs


示例14: StoreCustomer

        /// <summary>
        /// 
        /// </summary>
        /// <param name="accDoc"></param>
        /// <param name="accountRow"></param>
        /// <param name="config"></param>
        private void StoreCustomer(AccountDocument accDoc, AccountDataset.AccountsRow accountRow, NorthwindConfig config, ref List<TransactionResult> result)
        {
            #region declaration
            AccountDataset.CustomersRow customerRow;
            AccountDataset account;
            CustomersTableAdapter tableAdapter;
            string columnName;
            int recordCount;
            bool newCustomer;
            string customerId;
            #endregion

            newCustomer = ((accDoc.Id == null) || (accDoc.Id == ""));

            try
            {
                if (newCustomer)
                    customerId = GetNewCustomerID((string)accDoc.name.Value, config);
                else if (accDoc.Id.StartsWith(Constants.CustomerIdPrefix, StringComparison.InvariantCultureIgnoreCase))
                    customerId = accDoc.Id.Substring(Constants.CustomerIdPrefix.Length);
                else
                {
                    result.Add(accDoc.SetTransactionStatus(TransactionStatus.UnRecoverableError, Resources.ErrorMessages_AccountNotFound));
                    return;
                }
            }
            catch (Exception)
            {
                result.Add(accDoc.SetTransactionStatus(TransactionStatus.UnRecoverableError, Resources.ErrorMessages_AccountNotFound));
                return;
            }
            try
            {

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

                    tableAdapter = new CustomersTableAdapter();
                    tableAdapter.Connection = connection;
                    if (newCustomer)
                    {
                        customerRow = account.Customers.NewCustomersRow();
                        customerRow.CustomerID = customerId;
                    }
                    else
                    {
                        recordCount = tableAdapter.FillBy(account.Customers, customerId);
                        if (recordCount == 0)
                        {
                            accDoc.SetTransactionStatus(TransactionStatus.UnRecoverableError, Resources.ErrorMessages_AccountNotFound);
                            return;
                        }
                        customerRow = (AccountDataset.CustomersRow)account.Customers.Rows[0];

                    }

                    for (int index = 0; index < accountRow.Table.Columns.Count; index++)
                    {

                        columnName = accountRow.Table.Columns[index].ColumnName;

                        if (!customerRow.Table.Columns.Contains(columnName))
                            continue;

                        if (columnName.StartsWith("Create", StringComparison.InvariantCultureIgnoreCase))
                            if ((accountRow[columnName].GetType().Equals(typeof(DBNull))))
                                continue;

                        customerRow[columnName] = accountRow[columnName];
                    }

                    if (newCustomer)
                        account.Customers.AddCustomersRow(customerRow);

                    tableAdapter.Update(account.Customers);
                    accDoc.SetTransactionStatus(TransactionStatus.Success);

                    SetIdentitiesForAccounts(Constants.CustomerIdPrefix + customerId, accDoc);
                    accDoc.GetTransactionResult(ref result);
                }
            }
            catch (Exception addCustomerException)
            {
                result.Add(accDoc.SetTransactionStatus(TransactionStatus.FatalError, addCustomerException.ToString()));
                throw;
            }

            UpdateEmailsCollectionFromCustomer(customerId, accDoc.emails, config, ref result);
        }
开发者ID:Sage,项目名称:SData-Contracts,代码行数:96,代码来源:Account.cs


示例15: GetRow

        /// <summary>
        /// get a northwind account row, which is a union of customers and suppliers,
        /// from the given account document and set the transaction status on the documents
        /// </summary>
        /// <param name="accDoc">the crm Account document</param>
        /// <param name="config"></param>
        /// <returns>a filled northwind account row</returns>
        private AccountDataset.AccountsRow GetRow(AccountDocument accDoc, NorthwindConfig config, bool newAccount)
        {
            #region Declarations
            AccountDataset accDataset;
            AccountDataset.AccountsRow result;
            Address address;
            Phone phone;
            ContactName personName;
            int subentities = 4;
            #endregion

            accDataset = new AccountDataset();
            result = accDataset.Accounts.NewAccountsRow();

            // get the account name from the document
            if (!accDoc.name.IsNull)
                result.CompanyName =  (string)accDoc.name.Value;

            if (newAccount)
            {
                // set create user and id
                result.CreateID = config.SequenceNumber;
                result.CreateUser = config.CrmUser;
            }

            // set modify user and id
            result.ModifyID = config.SequenceNumber;
            result.ModifyUser = config.CrmUser;

            #region Address

            // go throuh all addresses to find the business address,
            // the rest of the adresses will ignored
            foreach (AddressDocument adrDoc in accDoc.addresses)
            {
                // check if the Address is from the supported type
                if ((adrDoc.primaryaddress.IsNull) ||
                    (!adrDoc.primaryaddress.Value.ToString().Equals("True", StringComparison.InvariantCultureIgnoreCase)))
                {
                    // set the transactionsstatus to none to remove this status from the result
                    adrDoc.ClearTransactionStatus();
                    continue;
                }

                // the first correct address found

                // get a new Address Object to convert beween the systems
                address = new Address();

                // fill the address object with the crm data
                address.SetCrmAdresses(adrDoc.address1, adrDoc.address2, adrDoc.address3, adrDoc.address4);

                // set the Northwind address
                result.Address = address.NorthwindAddress;

                // get the city from the Address document
                if (!adrDoc.City.IsNull)
                    result.City = (string)adrDoc.City.Value;

                // get the state from the Address document
                if (!adrDoc.state.IsNull)
                    result.Region = (string)adrDoc.state.Value;

                // get the state from the Address document
                if (!adrDoc.postcode.IsNull)
                    result.PostalCode = (string)adrDoc.postcode.Value;

                // get the country from the Address document
                if (!adrDoc.country.IsNull)
                    result.Country = (string)adrDoc.country.Value;

                // stop searching
                subentities--;
                adrDoc.SetTransactionStatus(TransactionStatus.Success);
                break;

            }
            #endregion

            #region Contact
            // go throuh all people to find the billing person,
            // the rest of the people will ignored
            foreach (PersonDocument persDoc in accDoc.people)
            {
                // check if the person is from the supported type
                if ((persDoc.primaryperson.IsNull) || (!persDoc.primaryperson.Value.ToString().Equals("True",StringComparison.InvariantCultureIgnoreCase)))
                {
                    // set the transactionsstatus to none to remove this status from the result
                    persDoc.ClearTransactionStatus();
                    continue;
                }
                // the first correct people found

//.........这里部分代码省略.........
开发者ID:Sage,项目名称:SData-Contracts,代码行数:101,代码来源:Account.cs


示例16: FillChangeLog

        public override int FillChangeLog(out DataTable table, NorthwindConfig config, Token lastToken)
        {
            #region declarations
            DataSets.Order order;
            int lastId;
            int recordCount;
            #endregion

            order = new DataSets.Order();

            lastId = Token.GetId(lastToken);

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

                ChangeLogsTableAdapter tableAdapter;
                tableAdapter = new ChangeLogsTableAdapter();
                tableAdapter.Connection = connection;// fill the Changelog dataset

                if (lastToken.InitRequest)
                    recordCount = tableAdapter.Fill(order.ChangeLogs, lastId, lastToken.SequenceNumber, lastToken.SequenceNumber, "");
                else
                    recordCount = tableAdapter.Fill(order.ChangeLogs, lastId, lastToken.SequenceNumber, lastToken.SequenceNumber, config.CrmUser);
            }

            table = order.ChangeLogs;
            return recordCount;
        }
开发者ID:Sage,项目名称:SData-Contracts,代码行数:28,代码来源:Order.cs


示例17: GetAll

        public override List<Identity> GetAll(NorthwindConfig config, string whereExpression, OleDbParameter[] oleDbParameters)
        {
            List<Identity> result = new List<Identity>();
            int recordCount = 0;
            DataSets.Order orderDataset = new DataSets.Order();

            // get the first 11 rows of the changelog
            using (OleDbConnection connection = new OleDbConnection(config.ConnectionString))
            {
                DataSets.OrderTableAdapters.OrdersTableAdapter tableAdapter;

                tableAdapter = new DataSets.OrderTableAdapters.OrdersTableAdapter();

                tableAdapter.Connection = connection;
            #warning TODO: Filter support
                recordCount = tableAdapter.Fill(orderDataset.Orders);

            }

            foreach (DataSets.Order.OrdersRow row in orderDataset.Orders.Rows)
            {
                // use where expression !!
                result.Add(new Identity(this.EntityName, row.OrderID.ToString()));
            }

            return result;
        }
开发者ID:Sage,项目名称:SData-Contracts,代码行数:27,代码来源:Order.cs


示例18: GetChangelog

        /// <summary>
        /// GetChangeLog is a request to the ERP system for changes to 
        /// a specific named entity instance for specified time durations.  
        /// A change can be either create, update, or delete.
        /// </summary>
        /// <param name="lastToken">the last passed token</param>
        /// <param name="config">the configuration object</param>
        /// <returns>
        /// The response to GetChangeLog is a GetChangeLogResponse, 
        /// which returns a list of changes (creates, deletes and updates), 
        /// in a complex type called ArrayofChangeLogEntries
        /// ArrayofChangeLogEntries contains a list of ChangeLogEntry’s 
        /// which contain details of the changes.
        /// </returns>
        public ChangeLog GetChangelog(Token lastToken, NorthwindConfig config)
        {
            #region Declarations
            int recordCount = 0;
            Token token;
            Identity identity;
            Document doc;
            ChangeLog result = new ChangeLog();
            DataTable dataTable;
            DataRow row;
            XmlDocument xmlDoc = new XmlDocument();
            #endregion

            // get the first 11 rows of the changelog
            recordCount = FillChangeLog(out dataTable, config, lastToken);

            // set the attend flag if the changlog contains less then 11 recorde
            result.AtEnd = (recordCount < 11);

            // if there are 11 instances, only 100 will retuned in this request
            result.ChangeLogInstances = new ChangeLogEntry[recordCount == 11 ? 10 : recordCount];

            token = lastToken;

            // go thru at least 10 records of the changelog
            for (int i = 0; i < result.ChangeLogInstances.Length; i++)
            {
                //get the next changelog entry
                row = dataTable.Rows[i];

                identity = new Identity(this.EntityName, (string)row[0]);

                // create a token from the changelog data
                token = new Token(identity, (int)row[1], lastToken.InitRequest);

                // get the Document by id
                doc = GetDocument(identity, lastToken, config);

                // create a changelog entry
                result.ChangeLogInstances[i] = new ChangeLogEntry();

                // set the token of this entry
                result.ChangeLogInstances[i].Token = Token.SerializeTokenToString(token);

                // add the xmldocument of the account document to the result
                result.ChangeLogInstances[i].Instance = doc.GetXmlNode(xmlDoc);

            }

            if (result.AtEnd)
                token.InitRequest = false;

            // update the nextpass token to the current one
            result.NextPassToken = Token.SerializeTokenToString(token);
            if (result.ChangeLogInstances.Length > 0)
                result.ChangeLogInstances[result.ChangeLogInstances.Length - 1].Token = result.NextPassToken;

            return result;
        }
开发者ID:estelleLeBouler,项目名称:SData-Contracts,代码行数:73,代码来源:EntityBase.cs


示例19: ViewRealTimeData

        public XmlNode ViewRealTimeData(string entityName, string[] selectFields, SearchField[] searchFields, string[] orderFields, int rowsPerPage, int pageNumber, NorthwindConfig config)
        {
            // declarations
            string sqlQuery;
            DataSet resultDataSet;
            XmlDocument resultXmlDoc;
            SearchField[] whereFieldList;
            SearchField[] havingFieldList;
            List<OleDbParameter> oleDbParameterList;

            // initializations
            resultDataSet = null;
            oleDbParameterList = null;

            // fill the where and having field lists
            whereFieldList = this.GetWhereFields(searchFields);
            havingFieldList = this.GetHavingFields(searchFields);

            // Create an OleDbCommand .
            sqlQuery = this.CreateSqlQuery(whereFieldList, havingFieldList, orderFields, out oleDbParameterList);

            // Get data from database
            this.Fill(sqlQuery, oleDbParameterList, config, out resultDataSet);

            // Convert result xml document to the CRM contract format
            resultXmlDoc = this.ConvertToXmlDocument(resultDataSet, selectFields, pageNumber, rowsPerPage);

            // return the root node xml document
            return (XmlNode)resultXmlDoc.DocumentElement;
        }
开发者ID:Sage,项目名称:SData-Contracts,代码行数:30,代码来源:RTDVBase.cs


示例20: GetDocument

 /// <summary>
 /// returns a filled document by the identity
 /// </summary>
 /// <param name="identity">the identity</param>
 /// <param name="lastToken">the last token to set the logstate</param>
 /// <param name="config">the configuration object</param>
 /// <returns>returns a filled document by the identity</returns>
 public abstract Document GetDocument(Identity identity, Token lastToken, NorthwindConfig config);
开发者ID:estelleLeBouler,项目名称:SData-Contracts,代码行数:8,代码来源:EntityBase.cs



注:本文中的NorthwindConfig类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# NorthwindDB类代码示例发布时间:2022-05-24
下一篇:
C# NormalizedSnapshotSpanCollection类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap