/// <summary>
            /// Accepts an invitation to commerce list.
            /// </summary>
            /// <param name="request">The request.</param>
            /// <returns>The response.</returns>
            private static NullResponse AcceptInvitation(AcceptCommerceListInvitationRealtimeRequest request)
            {
                TransactionServiceClient transactionService = new TransactionServiceClient(request.RequestContext);

                transactionService.AcceptCommerceListInvitation(request.InvitationToken, request.CustomerId);
                return(new NullResponse());
            }
Пример #2
0
            /// <summary>
            /// Parses XML into commerce list invitations.
            /// </summary>
            /// <param name="xml">The XML.</param>
            /// <returns>The invitations.</returns>
            private static IEnumerable <CommerceListInvitation> ParseCommerceListInvitations(string xml)
            {
                ThrowIf.NullOrWhiteSpace(xml, "xml");

                XDocument doc = XDocument.Parse(xml);
                var       invitationElements = doc.Descendants("RetailWishListInvitation");

                List <CommerceListInvitation> invitations = new List <CommerceListInvitation>();

                foreach (var invitationElement in invitationElements)
                {
                    CommerceListInvitation invitation = new CommerceListInvitation();
                    invitation.RecordId            = Convert.ToInt64(invitationElement.Attribute("RecId").Value);
                    invitation.Invitee             = invitationElement.Attribute("Invitee").Value;
                    invitation.IsSent              = Convert.ToBoolean(invitationElement.Attribute("IsSent").Value);
                    invitation.LastRequestDateTime = TransactionServiceClient.ParseDateTimeOffset(invitationElement, "LastRequestDateTime");
                    invitation.LastSentDateTime    = TransactionServiceClient.ParseDateTimeOffset(invitationElement, "LastSentDateTime");
                    invitation.StatusValue         = Convert.ToInt32(invitationElement.Attribute("Status").Value);
                    invitation.Token = invitationElement.Attribute("Token").Value;
                    invitation.InvitationTypeValue = Convert.ToInt32(invitationElement.Attribute("Type").Value);

                    invitations.Add(invitation);
                }

                return(invitations);
            }
        public ActionResult CreateTransaction(Models.TransactionViewModel trans)
        {
            string serviceMessage;
            bool   isSuccessful = false;
            Guid   transId;
            var    service = new TransactionServiceClient();

            var transaction = new TransactionModel();

            transaction.AccountId       = AccountId;
            transaction.Amount          = trans.Amount;
            transaction.CategoryId      = trans.CategoryId;
            transaction.CategoryName    = trans.CategoryName;
            transaction.Description     = trans.Description;
            transaction.IsDeposit       = trans.IsDeposit;
            transaction.PaymentTypeId   = trans.PaymentTypeId;
            transaction.PaymentTypeName = trans.PaymentTypeName;
            transaction.TransactionDate = trans.TransactionDate;
            transaction.CreatedBy       = trans.CreatedBy;
            transaction.DateCreated     = DateTime.Now.ToUniversalTime();

            if (trans.IsDeposit)
            {
                serviceMessage = service.MakeDeposit(transaction);
            }
            else
            {
                serviceMessage = service.MakeWithdrawal(transaction);
            }
            if (Guid.TryParse(serviceMessage, out transId))
            {
                isSuccessful = true;
            }
            return(Json(new { success = isSuccessful, message = serviceMessage }, JsonRequestBehavior.AllowGet));
        }
            /// <summary>
            /// Invokes the Real-time service to get commerce lists from AX.
            /// </summary>
            /// <param name="request">The request.</param>
            /// <returns>Returns the response that contains the result.</returns>
            private static GetCommerceListRealtimeResponse GetCommerceLists(GetCommerceListRealtimeRequest request)
            {
                TransactionServiceClient transactionService = new TransactionServiceClient(request.RequestContext);
                var clists = transactionService.GetCommerceLists(request.Id, request.CustomerAccountNumber, request.FavoriteFilter, request.PublicFilter);

                return(new GetCommerceListRealtimeResponse(clists));
            }
            /// <summary>
            /// Picks and packs customer order.
            /// </summary>
            /// <param name="request">The request for picking/packing.</param>
            /// <returns>The operation result.</returns>
            private static Response PickAndPackOrder(PickAndPackOrderRealtimeRequest request)
            {
                if (request == null)
                {
                    throw new ArgumentNullException("request");
                }

                if (string.IsNullOrWhiteSpace(request.SalesId))
                {
                    throw new ArgumentException("SalesId must be set in request", "request");
                }

                if (string.IsNullOrWhiteSpace(request.InventoryLocationId))
                {
                    throw new ArgumentException("InventoyLocationId must be set in request", "request");
                }

                var client = new TransactionServiceClient(request.RequestContext);

                if (request.CreatePickingList)
                {
                    client.CreatePickingList(request.SalesId, request.InventoryLocationId);
                }

                if (request.CreatePackingSlip)
                {
                    client.CreatePackingSlip(request.SalesId, request.InventoryLocationId);
                }

                return(new NullResponse());
            }
            /// <summary>
            /// Recall a customer order by sales id.
            /// </summary>
            /// <param name="request">The request containing the sales id.</param>
            /// <returns>The response containing the sales order.</returns>
            private static RecallCustomerOrderRealtimeResponse RecallCustomerOrder(RecallCustomerOrderRealtimeRequest request)
            {
                if (request == null)
                {
                    throw new ArgumentNullException("request");
                }

                var client = new TransactionServiceClient(request.RequestContext);
                ReadOnlyCollection <object> transactionResponse;

                if (request.IsQuote)
                {
                    transactionResponse = client.GetCustomerQuote(request.Id);
                }
                else
                {
                    transactionResponse = client.GetCustomerOrder(request.Id, includeOnlineOrders: true);
                }

                var orderInfo = CustomerOrderInfo.FromXml(transactionResponse[0].ToString());
                var order     = SalesOrderHelper.GetSalesOrderFromInfo(orderInfo, request.RequestContext.GetChannelConfiguration(), request.RequestContext);

                // Check that the channel currency code is the same as the recalled order
                if (order != null && !string.IsNullOrWhiteSpace(order.CurrencyCode) && !request.RequestContext.GetChannelConfiguration().Currency.Equals(order.CurrencyCode, StringComparison.OrdinalIgnoreCase))
                {
                    throw new DataValidationException(
                              DataValidationErrors.Microsoft_Dynamics_Commerce_Runtime_CurrencyChannelOrderMismatch,
                              string.Format("Channel currency = {0} doesn't match sales order currency = {1}", request.RequestContext.GetChannelConfiguration().Currency, order.CurrencyCode));
                }

                var response = new RecallCustomerOrderRealtimeResponse(order);

                return(response);
            }
            private static SearchProductsRealtimeResponse RemoteSearchProducts(RemoteSearchProductsRealtimeRequest request)
            {
                var client = new TransactionServiceClient(request.RequestContext);
                PagedResult <ProductSearchResult> searchResults = null;
                long currentChannelId = request.RequestContext.GetPrincipal().ChannelId;

                var retrieveAttributeSchemaEntriesDataRequest = new GetProductMediaAttributeSchemaEntriesDataRequest();

                retrieveAttributeSchemaEntriesDataRequest.QueryResultSettings = new QueryResultSettings(new ColumnSet(new string[] { "ATTRIBUTE", "DATATYPE" }), PagingInfo.CreateWithExactCount(2, 0), new SortingInfo("DATATYPE"));
                var attributeSchemaEntries     = request.RequestContext.Execute <EntityDataServiceResponse <ProductAttributeSchemaEntry> >(retrieveAttributeSchemaEntriesDataRequest).PagedEntityCollection.Results;
                var imageAttributeId           = attributeSchemaEntries.Single(r => r.DataType == AttributeDataType.Image).RecordId;
                var attributesValuesToRetrieve = Convert.ToString(imageAttributeId);

                if (request.CategoryId.HasValue)
                {
                    searchResults = new PagedResult <ProductSearchResult>(client.SearchProductsByCategoryId(currentChannelId, (long)request.CategoryId, request.RequestContext.LanguageId, request.ChannelId, request.CatalogId, attributesValuesToRetrieve, request.QueryResultSettings), request.QueryResultSettings.Paging);
                }
                else if (!string.IsNullOrWhiteSpace(request.SearchText))
                {
                    searchResults = new PagedResult <ProductSearchResult>(client.SearchProductsByText(currentChannelId, request.SearchText, request.ChannelId, request.CatalogId, attributesValuesToRetrieve, request.QueryResultSettings), request.QueryResultSettings.Paging);
                }
                else
                {
                    throw new ArgumentOutOfRangeException("request", "A valid category identfier or search text must be provided to search products.");
                }

                return(new SearchProductsRealtimeResponse(searchResults));
            }
Пример #8
0
        private void GetTransactionHistory()
        {
            decimal balance      = 0.00M;
            var     transService = new TransactionServiceClient();
            var     history      = transService.GetTransactions(_acctId);

            dgvTransactionHistory.AutoGenerateColumns = false;
            dgvTransactionHistory.DataSource          = history;
            for (int i = 0; i < history.Length; i++)
            {
                dgvTransactionHistory["TransactionDate", i].Value = history[i].TransactionDate.ToShortDateString();
                dgvTransactionHistory["PaymentType", i].Value     = history[i].PaymentTypeName;
                dgvTransactionHistory["Category", i].Value        = history[i].CategoryName;
                dgvTransactionHistory["Description", i].Value     = history[i].Description;
                if (history[i].IsDeposit)
                {
                    dgvTransactionHistory["Deposit", i].Value = history[i].Amount;
                    balance += history[i].Amount;
                }
                else
                {
                    dgvTransactionHistory["Withdrawal", i].Value = history[i].Amount;
                    balance -= history[i].Amount;
                }

                dgvTransactionHistory["Balance", i].Value = balance;
            }
        }
            /// <summary>
            /// Retrieves the Stock Count Journals from AX.
            /// </summary>
            /// <param name="inventLocationId">Pass Invent Location Id.</param>
            /// <returns>Returns the StockCountJournal list from AX.</returns>
            public PagedResult <StockCountJournal> GetStockCountJournals(string inventLocationId)
            {
                ThrowIf.Null <string>(inventLocationId, "inventoryLocationId");

                var data = this.InvokeMethod(GetInventJournalsMethodName, inventLocationId);

                IEnumerable <StockCountJournal> journals = new List <StockCountJournal>();

                if (!string.IsNullOrEmpty(data[0].ToString()))
                {
                    XDocument doc  = XDocument.Parse(data[0].ToString());
                    XElement  root = doc.Elements("InventJournalTables").FirstOrDefault();

                    if (root != null)
                    {
                        journals = root.Elements("InventJournalTable").Select <XElement, StockCountJournal>(
                            (sc) =>
                        {
                            StockCountJournal scJournal = TransactionServiceClient.Parse(sc);

                            return(scJournal);
                        });
                    }
                }

                return(journals.AsPagedResult());
            }
            /// <summary>
            /// Commits the Stock count journals and transactions to AX.
            /// </summary>
            /// <param name="stockCountJournal">Pass in stock count journal.</param>
            /// <returns>Returns the stock count journal created.</returns>
            public StockCountJournal CommitStockCounts(StockCountJournal stockCountJournal)
            {
                ThrowIf.Null <StockCountJournal>(stockCountJournal, "stockCountJournal");

                // Filter stock count line that has status pending updates.
                stockCountJournal.StockCountTransactionLines = stockCountJournal.StockCountTransactionLines
                                                               .Where(stockCountLine => stockCountLine.StatusEnum == StockCountStatus.PendingUpdate).ToList();

                string importValue = TransactionServiceClient.ToXml(stockCountJournal);

                var data = this.InvokeMethod(UpdateInventJournalsMethodName, importValue);

                var journalTransactions = new List <StockCountJournalTransaction>();

                if (!string.IsNullOrWhiteSpace(data[0].ToString()))
                {
                    XDocument doc  = XDocument.Parse(data[0].ToString());
                    XElement  root = doc.Elements("InventJournalTable").FirstOrDefault();
                    if (root != null)
                    {
                        journalTransactions = root.Elements("InventJournalTrans").Select <XElement, StockCountJournalTransaction>(
                            (scLine) =>
                        {
                            var scJournalTransaction = TransactionServiceClient.ParseTransactions(scLine);

                            return(scJournalTransaction);
                        }).ToList <StockCountJournalTransaction>();
                    }
                }

                stockCountJournal.StockCountTransactionLines.Clear();
                stockCountJournal.StockCountTransactionLines.AddRange(journalTransactions);

                return(stockCountJournal);
            }
            /// <summary>
            /// Parse xml StockCount journal transaction data into object.
            /// </summary>
            /// <param name="xmlJournalTransaction">Xml format of a stock count journal Transaction.</param>
            /// <returns>Returns the StockCountJournalTransactions object.</returns>
            private static StockCountJournalTransaction ParseTransactions(XElement xmlJournalTransaction)
            {
                var    journalTransaction = new StockCountJournalTransaction();
                string recId = TransactionServiceClient.GetAttributeValue(xmlJournalTransaction, "RecId");

                // Set default values for those not existing in AX
                journalTransaction.RecordId            = string.IsNullOrEmpty(recId) ? 0 : long.Parse(recId);
                journalTransaction.OperationType       = 0;
                journalTransaction.Quantity            = 0;
                journalTransaction.CountedDate         = DateTime.UtcNow;
                journalTransaction.StatusEnum          = StockCountStatus.Unchanged;
                journalTransaction.ItemId              = TransactionServiceClient.GetAttributeValue(xmlJournalTransaction, "ItemId");
                journalTransaction.ItemName            = TransactionServiceClient.GetAttributeValue(xmlJournalTransaction, "EcoResProductName");
                journalTransaction.InventDimId         = TransactionServiceClient.GetAttributeValue(xmlJournalTransaction, "InventDimId");
                journalTransaction.Counted             = Convert.ToDecimal(TransactionServiceClient.GetAttributeValue(xmlJournalTransaction, "Counted"));
                journalTransaction.InventBatchId       = TransactionServiceClient.GetAttributeValue(xmlJournalTransaction, "InventBatchId");
                journalTransaction.WarehouseLocationId = TransactionServiceClient.GetAttributeValue(xmlJournalTransaction, "WmsLocationId");
                journalTransaction.WarehousePalletId   = TransactionServiceClient.GetAttributeValue(xmlJournalTransaction, "WmsPalletId");
                journalTransaction.InventSiteId        = TransactionServiceClient.GetAttributeValue(xmlJournalTransaction, "InventSiteId");
                journalTransaction.InventLocationId    = TransactionServiceClient.GetAttributeValue(xmlJournalTransaction, "InventLocationId");
                journalTransaction.ConfigId            = TransactionServiceClient.GetAttributeValue(xmlJournalTransaction, "ConfigId");
                journalTransaction.InventSizeId        = TransactionServiceClient.GetAttributeValue(xmlJournalTransaction, "InventSizeId");
                journalTransaction.InventColorId       = TransactionServiceClient.GetAttributeValue(xmlJournalTransaction, "InventColorId");
                journalTransaction.InventStyleId       = TransactionServiceClient.GetAttributeValue(xmlJournalTransaction, "InventStyleId");
                journalTransaction.InventSerialId      = TransactionServiceClient.GetAttributeValue(xmlJournalTransaction, "InventSerialId");
                journalTransaction.TrackingGuid        = new Guid(TransactionServiceClient.GetAttributeValue(xmlJournalTransaction, "Guid"));
                journalTransaction.UpdatedInAx         = Convert.ToBoolean(TransactionServiceClient.GetAttributeValue(xmlJournalTransaction, "UpdatedInAx"));
                journalTransaction.Message             = TransactionServiceClient.GetAttributeValue(xmlJournalTransaction, "Message");

                return(journalTransaction);
            }
Пример #12
0
            /// <summary>
            /// Retrieves the commerce lists from AX.
            /// </summary>
            /// <param name="commerceListId">The commerce list id.</param>
            /// <param name="customerId">The customer id.</param>
            /// <param name="favoriteFilter">Indicates whether or not to filter by favorite.</param>
            /// <param name="publicFilter">Indicates whether or not to filter by public.</param>
            /// <returns>Returns the commerce lists from AX.</returns>
            public PagedResult <CommerceList> GetCommerceLists(long commerceListId, string customerId, bool favoriteFilter, bool publicFilter)
            {
                var data = this.InvokeMethod(GetWishListsMethodName, commerceListId, customerId, favoriteFilter, publicFilter);

                IEnumerable <CommerceList> wishLists = new List <CommerceList>();

                var response = data[0].ToString();

                if (!string.IsNullOrEmpty(response))
                {
                    XDocument doc  = XDocument.Parse(response);
                    XElement  root = doc.Elements("WishLists").FirstOrDefault();

                    if (root != null)
                    {
                        wishLists = root.Elements("RetailWishListTable").Select <XElement, CommerceList>(
                            (wL) =>
                        {
                            CommerceList commerceList = TransactionServiceClient.ParseCommerceList(wL);
                            return(commerceList);
                        });
                    }
                }

                return(wishLists.AsPagedResult());
            }
Пример #13
0
            /// <summary>
            /// Executes get stores by employee request.
            /// </summary>
            /// <param name="request">The service request.</param>
            /// <returns>The response containing accessible stores of this employee.</returns>
            private static EntityDataServiceResponse <OrgUnit> GetEmployeeStoresFromAddressBook(GetEmployeeStoresFromAddressBookRealtimeRequest request)
            {
                var transactionService         = new TransactionServiceClient(request.RequestContext);
                PagedResult <OrgUnit> orgUnits = transactionService.GetEmployeeStoresFromAddressBook(request.RequestContext.GetPrincipal().UserId, request.QueryResultSettings);

                return(new EntityDataServiceResponse <OrgUnit>(orgUnits));
            }
            /// <summary>
            /// Gets the customer purchase history data.
            /// </summary>
            /// <param name="request">The real time request to get customer purchase history.</param>
            /// <returns>A collection of purchase history.</returns>
            private static GetPurchaseHistoryRealtimeResponse GetPurchaseHistory(GetPurchaseHistoryRealtimeRequest request)
            {
                var client = new TransactionServiceClient(request.RequestContext);
                PagedResult <PurchaseHistory> results = client.GetPurchaseHistory(request.CustomerAccountNumber, request.RequestContext.LanguageId, request.StartDateTime, request.QueryResultSettings);

                return(new GetPurchaseHistoryRealtimeResponse(results));
            }
            /// <summary>
            /// Retrieves Stock Count journal Transactions from AX.
            /// </summary>
            /// <param name="journalId">Pass JournalId.</param>
            /// <param name="inventLocationId">Pass Invent Location Id.</param>
            /// <returns>Returns the StockCount journal Transactions.</returns>
            public PagedResult <StockCountJournalTransaction> GetStockCountJournalsTransaction(string journalId, string inventLocationId)
            {
                ThrowIf.Null <string>(journalId, "journalId");
                ThrowIf.Null <string>(inventLocationId, "inventoryLocationId");

                var data = this.InvokeMethod(GetInventJournalTransactionMethodName, journalId, inventLocationId);

                IEnumerable <StockCountJournalTransaction> journalTransactions = new List <StockCountJournalTransaction>();

                if (!string.IsNullOrWhiteSpace(data[0].ToString()))
                {
                    XDocument doc  = XDocument.Parse(data[0].ToString());
                    XElement  root = doc.Elements("InventJournalTable").FirstOrDefault();

                    if (root != null)
                    {
                        journalTransactions = root.Elements("InventJournalTrans").Select <XElement, StockCountJournalTransaction>(
                            (scLine) =>
                        {
                            StockCountJournalTransaction scJournalTransaction = TransactionServiceClient.ParseTransactions(scLine);

                            return(scJournalTransaction);
                        }).ToList <StockCountJournalTransaction>();
                    }
                }

                return(journalTransactions.AsPagedResult());
            }
            /// <summary>
            /// Generates a recording bundle.
            /// </summary>
            /// <param name="request">Request for generating the recording bundle.</param>
            /// <returns>
            /// The URL to download the recording bundle.
            /// </returns>
            private static SingleEntityDataServiceResponse <string> GenerateRecordingBundle(GenerateRecordingBundleRealtimeRequest request)
            {
                TransactionServiceClient transactionService = new TransactionServiceClient(request.RequestContext);

                string recordingBundleUrl = transactionService.GenerateRecordingBundle(request.Recording);

                return(new SingleEntityDataServiceResponse <string>(recordingBundleUrl));
            }
            /// <summary>
            /// Generates a business process model package.
            /// </summary>
            /// <param name="request">Request for generating the business process model package.</param>
            /// <returns>
            /// The URL to download the business process model package.
            /// </returns>
            private static SingleEntityDataServiceResponse <string> GenerateBusinessProcessModelPackage(GenerateBusinessProcessModelPackageRealtimeRequest request)
            {
                TransactionServiceClient transactionService = new TransactionServiceClient(request.RequestContext);

                string businessProcessModelPackageUrl = transactionService.GenerateBusinessProcessModelPackage(request.Recording);

                return(new SingleEntityDataServiceResponse <string>(businessProcessModelPackageUrl));
            }
            /// <summary>
            /// Generates a training document.
            /// </summary>
            /// <param name="request">Request for generating the training document.</param>
            /// <returns>The URL to the training document.</returns>
            private static SingleEntityDataServiceResponse <string> GenerateTrainingDocument(GenerateTrainingDocumentRealtimeRequest request)
            {
                TransactionServiceClient transactionService = new TransactionServiceClient(request.RequestContext);

                string trainingDocumentUrl = transactionService.GenerateTrainingDocument(request.Recording);

                return(new SingleEntityDataServiceResponse <string>(trainingDocumentUrl));
            }
            /// <summary>
            /// Upload the recording to Lifecycle Services.
            /// </summary>
            /// <param name="request">Request for uploading the recording.</param>
            /// <returns>The null response.</returns>
            private static Response UploadRecording(UploadRecordingRealtimeRequest request)
            {
                TransactionServiceClient transactionService = new TransactionServiceClient(request.RequestContext);

                transactionService.UploadRecording(request.Recording, request.BusinessProcessModelLineId);

                return(new NullResponse());
            }
            /// <summary>
            /// Gets a storage access token for upload.
            /// </summary>
            /// <param name="request">Request for getting the storage access token.</param>
            /// <returns>The storage access token.</returns>
            private static SingleEntityDataServiceResponse <StorageAccessToken> GetStorageAccessTokenForUpload(GetStorageAccessTokenForUploadRealtimeRequest request)
            {
                TransactionServiceClient transactionService = new TransactionServiceClient(request.RequestContext);

                StorageAccessToken storageAccessToken = transactionService.GetStorageAccessTokenForUpload();

                return(new SingleEntityDataServiceResponse <StorageAccessToken>(storageAccessToken));
            }
Пример #21
0
            /// <summary>
            /// Sends an email to the requested customer using the email template defined in AX.
            /// </summary>
            /// <param name="request">Request containing the customer and email template identifier.</param>
            /// <returns>SendCustomerEmailServiceResponse object.</returns>
            private static NullResponse SendEmailToCustomer(SendEmailRealtimeRequest request)
            {
                TransactionServiceClient transactionService = new TransactionServiceClient(request.RequestContext);

                transactionService.SendEmail(request.EmailAddress, request.Language, request.EmailId, request.Mappings, request.XmlData);

                return(new NullResponse());
            }
            /// <summary>
            /// Updates a customer in AX.
            /// </summary>
            /// <param name="request">The service request to update a customer.</param>
            /// <returns>The service response.</returns>
            private static SaveCustomerRealtimeResponse UpdateCustomer(SaveCustomerRealtimeRequest request)
            {
                var client = new TransactionServiceClient(request.RequestContext);

                Customer customer = client.UpdateCustomer(request.CustomerToSave);

                return(new SaveCustomerRealtimeResponse(customer));
            }
            /// <summary>
            /// Gets a single business process model library framework.
            /// </summary>
            /// <param name="request">Request for getting the business process model library framework.</param>
            /// <returns>
            /// The response containing the business process model library framework.
            /// </returns>
            private static SingleEntityDataServiceResponse <Framework> GetBusinessProcessModelLibrary(GetBusinessProcessModelLibraryRealtimeRequest request)
            {
                TransactionServiceClient transactionService = new TransactionServiceClient(request.RequestContext);

                var response = transactionService.GetBusinessProcessModelLibrary(request.BusinessProcessModelFrameworkId, request.HierarchyDepth);

                return(new SingleEntityDataServiceResponse <Framework>(response));
            }
            /// <summary>
            /// Downloads the recording from LCS.
            /// </summary>
            /// <param name="request">Request for downloading the recording.</param>
            /// <returns>
            /// The downloaded recording from LCS.
            /// </returns>
            private static SingleEntityDataServiceResponse <Recording> DownloadRecording(DownloadRecordingRealtimeRequest request)
            {
                TransactionServiceClient transactionService = new TransactionServiceClient(request.RequestContext);

                Recording recording = transactionService.DownloadRecording(request.BusinessProcessModelLineId);

                return(new SingleEntityDataServiceResponse <Recording>(recording));
            }
            /// <summary>
            /// Gets the business process model libraries.
            /// </summary>
            /// <param name="request">Request for getting the business process model libraries.</param>
            /// <returns>
            /// The response containing the business process model libraries.
            /// </returns>
            private static GetBusinessProcessModelLibrariesRealtimeResponse GetBusinessProcessModelLibraries(GetBusinessProcessModelLibrariesRealtimeRequest request)
            {
                TransactionServiceClient transactionService = new TransactionServiceClient(request.RequestContext);

                var response = transactionService.GetBusinessProcessModelLibraries(request.QueryResultSettings);

                return(new GetBusinessProcessModelLibrariesRealtimeResponse(response));
            }
            /// <summary>
            /// Loads and returns a recording from an XML file.
            /// </summary>
            /// <param name="request">Request for loading recording from file.</param>
            /// <returns>
            /// The recording from the XML file.
            /// </returns>
            private static SingleEntityDataServiceResponse <Recording> LoadRecordingFromFile(LoadRecordingFromFileRealtimeRequest request)
            {
                TransactionServiceClient transactionService = new TransactionServiceClient(request.RequestContext);

                var response = transactionService.LoadRecordingFromFile(request.RecordingUrl);

                return(new SingleEntityDataServiceResponse <Recording>(response));
            }
            /// <summary>
            /// Searches for task guides by title.
            /// </summary>
            /// <param name="request">Request for searching task guides by title.</param>
            /// <returns>
            /// The response containing task guide search results.
            /// </returns>
            private static SingleEntityDataServiceResponse <TaskGuidesSearchResult> SearchTaskGuidesByTitle(SearchTaskGuidesByTitleRealtimeRequest request)
            {
                TransactionServiceClient transactionService = new TransactionServiceClient(request.RequestContext);

                var response = transactionService.SearchTaskGuidesByTitle(request.BusinessProcessModelFrameworkId, request.TaskGuideSearchText, request.QueryTypeValue);

                return(new SingleEntityDataServiceResponse <TaskGuidesSearchResult>(response));
            }
            /// <summary>
            /// Deactivates an address in AX.
            /// </summary>
            /// <param name="request">The service request to deactivate an address.</param>
            /// <returns>The service response.</returns>
            private static NullResponse DeactivateAddress(DeactivateAddressRealtimeRequest request)
            {
                var client = new TransactionServiceClient(request.RequestContext);

                client.DeactivateAddress(request.AddressId, request.CustomerId);

                return(new NullResponse());
            }
            /// <summary>
            /// Validates Customer Account Payment from AX.
            /// </summary>
            /// <param name="request">The service request to validate customer account payment.</param>
            /// <returns>The service response.</returns>
            private static NullResponse ValidateCustomerAccountPayment(ValidateCustomerAccountPaymentRealtimeRequest request)
            {
                var client = new TransactionServiceClient(request.RequestContext);

                client.ValidateCustomerAccountPayment(request.AccountNumber, request.Amount, request.CurrencyCode);

                return(new NullResponse());
            }
Пример #30
0
        /// <summary>
        /// Default constructor
        /// </summary>
        public DAXVersionRealTimeServiceController()
        {
            // Need to set the ChannelId explicitly
            this.CommerceIdentity           = User.Identity as CommerceIdentity;
            this.CommerceIdentity.ChannelId = 5637144662;

            TransactionServiceClient = new TransactionServiceClient(CommerceRuntimeManager.Runtime.CreateRequestContext(new RealtimeRequest()));
        }
Пример #31
0
    protected void btnCreate_Click(object sender, EventArgs e) {
        try {
            using (TransactionScope ts = new TransactionScope()) {
                var transClient = new TransactionServiceClient();
                int id =
                    transClient.CreateEmployee(new Employee() {
                        EName = txtEmployeeName.Text,
                        ESalary = double.Parse(txtEmployeeSalary.Text)
                    });
                //if (id != 0) {
                    transClient.CreateSalaryHistory(new SalaryHistory() {
                //        Eid = id,
                        ESalary = double.Parse(txtEmployeeSalary.Text),
                        StDate = DateTime.Now,
                        EndDate = null
                    });
                //}
                ts.Complete();
            }
        } catch (Exception Ex) {

        }
    }
Пример #32
0
 public Program()
 {
     lock (_lock)
     {
         if (_transactionServiceClient == null)
             _transactionServiceClient = new TransactionServiceClient();
         if (_memberServiceClient == null)
             _memberServiceClient = new MemberServiceClient();
     }
 }
Пример #33
0
        static void Main(string[] args)
        {
            lock (_lock)
            {
                if (_transactionServiceClient == null)
                    _transactionServiceClient = new TransactionServiceClient();
                if (_memberServiceClient == null)
                    _memberServiceClient = new MemberServiceClient();
            }

            var allTransaction = GetTransaction();
            var filteredTransaction =ExcludeExistingTransaction(allTransaction);
            ProcessSoftCash(filteredTransaction);
            Log();
        }