Exemple #1
0
        public void idoInsert()
        {
            LogMessage("idoInsert");
            UpdateCollectionRequestData insert = new UpdateCollectionRequestData(ido);
            IDOUpdateItem itm = new IDOUpdateItem(UpdateAction.Insert);

            //ONE PROPERTY
            if (!properties.Contains(","))
            {
                itm.Properties.Add(properties, values);
                insert.Items.Add(itm);
            }
            else
            {
                string[] propertyArray = properties.Split(',');
                string[] valueArray    = values.Split(',');
                for (int i = 0; i < propertyArray.Length; i++)
                {
                    itm.Properties.Add(propertyArray[i], valueArray[i]);
                    insert.Items.Add(itm);
                }
            }
            stopwatch.Start();
            IDOClient.UpdateCollection(insert);
            stopwatch.Stop();
            stopwatch.Reset();
        }
Exemple #2
0
        /// <summary>
        /// Enable / Disable the Quick Add Product Menu
        /// -- Enable: if BOE is disabled --
        /// -- Disable: if BOE is enabled --
        /// </summary>
        public void EnableDisableProductMenu()
        {
            var integrationCollection = IDOClient.LoadCollection("CRMIntegration", "Enabled", "Name = 'Back Office Extension'", string.Empty, 1);
            int enabled = integrationCollection[0, "Enabled"].GetValue <int>() == 1 ? 0 : 1;

            string filter = string.Format("Action = '{0}'", "CRMQuickAddProduct");
            LoadCollectionResponseData loadResponse = IDOClient.LoadCollection("CRMMenus", "Enabled", filter, string.Empty, 1);

            var updateReq = new UpdateCollectionRequestData()
            {
                IDOName            = "CRMMenus",
                RefreshAfterUpdate = true
            };

            foreach (var current in loadResponse.Items)
            {
                var updateItem = new IDOUpdateItem()
                {
                    ItemID = current.ItemID,
                    Action = UpdateAction.Update
                };

                updateItem.Properties.Add("Enabled", enabled);
                updateReq.Items.Add(updateItem);
            }

            IDOClient.UpdateCollection(updateReq);
        }
 static IDOUpdateItem get_item()
 {
     var item = new IDOUpdateItem(UpdateAction.All);
     item.Properties.Add("OrderNumber", "234323");
     item.NestedUpdates.Add(get_child_collection());
     return item;
 }
        static IDOUpdateItem get_child_item(string line)
        {

            var item = new IDOUpdateItem(UpdateAction.All);
            item.Properties.Add("OrderNumber", "234323");
            item.Properties.Add("LineNumber", line); 
            return item;
        }
Exemple #5
0
        private IDOUpdateItem MapAccountPlanningCycle(string accountId, string childPropertyID)
        {
            var newItem = new IDOUpdateItem
            {
                Action     = UpdateAction.Insert,
                ItemNumber = 1
            };

            newItem.Properties.Add("AccountID", accountId);
            newItem.Properties.Add("PlanningCycleID", childPropertyID);
            return(newItem);
        }
Exemple #6
0
        private IDOUpdateItem MapCampaignAccount(string accountId, string childPropertyID)
        {
            var newItem = new IDOUpdateItem
            {
                Action     = UpdateAction.Insert,
                ItemNumber = 1
            };

            newItem.Properties.Add("AccountID", accountId);
            newItem.Properties.Add("CampaignID", childPropertyID);
            return(newItem);
        }
Exemple #7
0
        private IDOUpdateItem MapContactOpportunitItem(string accountId, string opportunityId)
        {
            var newItem = new IDOUpdateItem
            {
                Action     = UpdateAction.Insert,
                ItemNumber = 1
            };

            newItem.Properties.Add("RESELLERID", accountId);
            newItem.Properties.Add("OPPORTUNITYID", opportunityId);
            return(newItem);
        }
Exemple #8
0
        private IDOUpdateItem MapNewItem(string contactId, string accountId)
        {
            var newItem = new IDOUpdateItem
            {
                Action     = UpdateAction.Insert,
                ItemNumber = 1
            };

            newItem.Properties.Add("ContactID", contactId);
            newItem.Properties.Add("AccountID", accountId);
            return(newItem);
        }
Exemple #9
0
        public void delete()
        {
            UpdateCollectionRequestData updateRequest = new UpdateCollectionRequestData(ido);
            IDOUpdateItem itm = new IDOUpdateItem(UpdateAction.Delete);

            itm.Properties.Add("table_name", "", true);
            itm.Properties.Add("table_schema", "dbo", true);
            itm.Properties.Add("object_id", null, true);
            itm.Properties.Add("DerSource", "mdlw", true);
            itm.Properties.Add("DerIsSiteSplit", "0", true);
            updateRequest.Items.Add(itm);
            //Context.Commands.UpdateCollection(updateRequest);
        }
Exemple #10
0
        private IDOUpdateItem MapAccountSurvey(string accountId, string childPropertyID)
        {
            var newItem = new IDOUpdateItem
            {
                Action     = UpdateAction.Insert,
                ItemNumber = 1
            };

            newItem.Properties.Add("AccountID", accountId);
            newItem.Properties.Add("SurveyID", childPropertyID);
            newItem.Properties.Add("SourceType", "M");
            return(newItem);
        }
        private IDOUpdateItem getInsertItem(IIdoCommandBuilder builder)
        {
            var item = new IDOUpdateItem(UpdateAction.Insert);

            var propertyKeys = builder.Properties.Keys;

            propertyKeys.ForEach(key => item.Properties.Add(key, builder.Properties[key]));

            builder.GetChildren().ForEach(child =>
            {
                item.NestedUpdates.Add(getNestedInsert(child));
            });

            return item;

        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="parameters">
        /// [0]  -  RefSequence
        /// [1]  -  DocumentObjectRowPointer
        /// [2]  -  TableName1
        /// [3]  -  TableRowPointer1
        /// [4]  -  TableName2
        /// [5]  -  TableRowPointer2
        /// [6]  -  TableName3
        /// [7]  -  TableRowPointer3
        /// </param>
        public void AttachAdditionalAttachments(params string[] parameters)
        {
            //ShowParameters(parameters);
            // Need to check input parameters here
            int pairs = parameters.Length - 2;

            string refSequence = parameters[0];
            string documentObjectRowPointer = parameters[1];

            UpdateCollectionRequestData  request = new UpdateCollectionRequestData();
            UpdateCollectionResponseData response;
            IDOUpdateItem customerItem = new IDOUpdateItem();

            request.IDOName            = "CRMDocumentObjectReferences";
            request.RefreshAfterUpdate = true;

            for (int i = 0; i < pairs; i += 2)
            {
                var idoName         = parameters[2 + i];
                var tableRowPointer = parameters[3 + i];
                //Application.ShowMessage("1-idoName=" + idoName + " tableRowPointer=" + tableRowPointer);

                customerItem.Action = UpdateAction.Insert;
                customerItem.Properties.Add("TableName", idoName);               // Set TableName
                customerItem.Properties.Add("TableRowPointer", tableRowPointer); // Set TableRowPointer
                customerItem.Properties.Add("DocumentObjectRowPointer",
                                            documentObjectRowPointer);           // Set DocumentObjectRowPointer
                customerItem.Properties.Add("RefSequence", refSequence);
            }
            request.Items.Add(customerItem);
            try
            {
                //Application.ShowMessage(request.IDOName);
                response = this.IDOClient.UpdateCollection(request);
            }
            catch (Exception ex)
            {
                Application.DiagnosticsLog(ex.Message);
            }
        }
Exemple #13
0
        /// <summary>
        /// Insert trxHeader record with approval of adjustments
        /// Insert all trxLine record with adjustments under trxHeader
        /// </summary>
        public void Submit()
        {
            string trxHeaderIdoName = "CRMWarehouseLocationTrxHeader";
            string trxType          = "StockAdjust";
            string todayDate        = DateTime.UtcNow.ToString("yyyy-MM-ddThh:mm:ss.fffZ");
            string stockBin         = ThisForm.Variables("VarStockBin").Value;

            //INSERT TRX HEADER RECORD
            UpdateCollectionRequestData insert = new UpdateCollectionRequestData(trxHeaderIdoName);
            IDOUpdateItem itm = new IDOUpdateItem(UpdateAction.Insert);

            itm.Properties.Add("TrxType", trxType);
            itm.Properties.Add("TrxDate", todayDate);
            itm.Properties.Add("VanStockLocation", stockBin);
            itm.Properties.Add("Status", "Posted");
            insert.Items.Add(itm);

            try {
                IDOClient.UpdateCollection(insert);
            } catch (Exception e) {
                Application.ShowMessage("Unable to insert record to " + trxHeaderIdoName + "\n" + e.Message);
            }

            Application.ShowMessage("Successfully submitted TrxHeader at " + todayDate);

            //GET TRX HEADER ID FOR TRX LINES
            LoadCollectionRequestData trxHeaderLoadRequest = new LoadCollectionRequestData();

            trxHeaderLoadRequest.IDOName = trxHeaderIdoName;
            trxHeaderLoadRequest.PropertyList.Add("ID");
            trxHeaderLoadRequest.Filter    = "TrxDate = '" + todayDate + "'";
            trxHeaderLoadRequest.OrderBy   = "";
            trxHeaderLoadRequest.RecordCap = 1;
            LoadCollectionResponseData trxHeaderLoadResponse = IDOClient.LoadCollection(trxHeaderLoadRequest);

            if (trxHeaderLoadResponse.Items.Count != 1)
            {
                Application.ShowMessage("Could not load " + trxHeaderIdoName + " record with TrxDate = " + todayDate);
                return;
            }

            //INSERT TRX LINE RECORD
            insert = new UpdateCollectionRequestData("CRMWarehouseStockLotLocationTrx");

            ThisForm.PrimaryIDOCollection.First();
            for (int i = 0; i < ThisForm.PrimaryIDOCollection.GetNumEntries() - 1; i++)
            {
                string trxHeader      = trxHeaderLoadResponse[0, "ID"].Value;
                string productID      = ThisForm.PrimaryIDOCollection.GetCurrentObjectProperty("ProductID");
                string locationID     = ThisForm.PrimaryIDOCollection.GetCurrentObjectProperty("LocationID");
                string lotCode        = ThisForm.PrimaryIDOCollection.GetCurrentObjectProperty("StockLotCode");
                string systemQuantity = ThisForm.PrimaryIDOCollection.GetCurrentObjectProperty("QuantityOnHand");
                string adjustment     = ThisForm.PrimaryIDOCollection.GetCurrentObjectProperty("Adjustment");
                string reason         = ThisForm.PrimaryIDOCollection.GetCurrentObjectProperty("Reason");

                Application.ShowMessage(productID + "\n" + locationID + "\n" + lotCode + "\n" + systemQuantity + "\n" + adjustment + "\n" + reason);

                //if adjustment is empty, skip
                if (adjustment.Equals(""))
                {
                    ThisForm.PrimaryIDOCollection.Next();
                    continue;
                }

                itm = new IDOUpdateItem(UpdateAction.Insert);
                itm.Properties.Add("TrxHeader", trxHeader);
                itm.Properties.Add("ProductID", productID);
                itm.Properties.Add("LocationID", locationID);
                itm.Properties.Add("StockLotCode", lotCode);
                itm.Properties.Add("QuantityOnHand", systemQuantity);
                itm.Properties.Add("CountAdjustment", adjustment);
                itm.Properties.Add("Reason", reason);
                insert.Items.Add(itm);

                ThisForm.PrimaryIDOCollection.Next();
            }

            try {
                IDOClient.UpdateCollection(insert);
            } catch (Exception e) {
                Application.ShowMessage("Unable to insert into CRMWarehouseStockLotLocationTrx\n" + e.Message);
            }
        }
        private IDOUpdateItem getUpdateItem(IIdoCommandBuilder builder, UpdateAction action, IdoItemWrapper idoItemWrapper)
        {
            var item = new IDOUpdateItem(action);
            item.Action = GetUpdateActionFromBuilder(builder);
            item.ItemID = idoItemWrapper[IdoConstants.KEY].ToString();

            var propertyKeys = builder.Properties.Keys;
            
            propertyKeys.ForEach(key =>  item.Properties.Add(key, builder.Properties[key]));


            builder.GetChildren().ForEach(child =>
                {
                    var updateCollectionRequestData = new List<UpdateCollectionRequestData>();

                    idoItemWrapper.Records.Where(record => record.IdoName == child.IdoName)
                                        .ForEach(record => updateCollectionRequestData.Add(getNestedUpdate(child, record)));

                    updateCollectionRequestData.ForEach(request => item.NestedUpdates.Add(request));
                });

            return item;
        }