private void TryExecute(IDSFDataObject dataObject, int update, List <SharepointReadListTo> sharepointReadListTos)
        {
            var sharepointSource = ResourceCatalog.GetResource <SharepointSource>(dataObject.WorkspaceID, SharepointServerResourceId);
            var listOfIterators  = new Dictionary <string, IWarewolfIterator>();

            if (sharepointSource == null)
            {
                var contents = ResourceCatalog.GetResourceContents(dataObject.WorkspaceID, SharepointServerResourceId);
                sharepointSource = new SharepointSource(contents.ToXElement());
            }
            var env = dataObject.Environment;

            if (dataObject.IsDebugMode())
            {
                AddInputDebug(env, update);
            }
            var sharepointHelper = sharepointSource.CreateSharepointHelper();
            var fields           = sharepointHelper.LoadFieldsForList(SharepointList, true);

            using (var ctx = sharepointHelper.GetContext())
            {
                var list         = sharepointHelper.LoadFieldsForList(SharepointList, ctx, true);
                var iteratorList = new WarewolfListIterator();
                foreach (var sharepointReadListTo in sharepointReadListTos)
                {
                    var warewolfIterator = new WarewolfIterator(env.Eval(sharepointReadListTo.VariableName, update));
                    iteratorList.AddVariableToIterateOn(warewolfIterator);
                    listOfIterators.Add(sharepointReadListTo.FieldName, warewolfIterator);
                }
                while (iteratorList.HasMoreData())
                {
                    var itemCreateInfo = new ListItemCreationInformation();
                    var listItem       = list.AddItem(itemCreateInfo);
                    foreach (var warewolfIterator in listOfIterators)
                    {
                        var sharepointFieldTo = fields.FirstOrDefault(to => to.Name == warewolfIterator.Key);
                        if (sharepointFieldTo != null)
                        {
                            object value = warewolfIterator.Value.GetNextValue();
                            value = SharepointUtils.CastWarewolfValueToCorrectType(value, sharepointFieldTo.Type);
                            listItem[sharepointFieldTo.InternalName] = value;
                        }
                    }
                    listItem.Update();
                    ctx.ExecuteQuery();
                }
            }
            if (!string.IsNullOrEmpty(Result))
            {
                env.Assign(Result, "Success", update);
                AddOutputDebug(dataObject, env, update);
            }
        }
 public void SharepointUtils_CastWarewolfValueToCorrectType_Date_ShouldGiveDateValueValue()
 {
     //------------Setup for test--------------------------
     var sharepointUtils = new SharepointUtils();
     
     //------------Execute Test---------------------------
     var boolValue = sharepointUtils.CastWarewolfValueToCorrectType(DateTime.Now, SharepointFieldType.DateTime);
     //------------Assert Results-------------------------
     Assert.IsInstanceOfType(boolValue,typeof(DateTime));
 }
 public void SharepointUtils_CastWarewolfValueToCorrectType_Currency_ShouldGiveDecimalValue()
 {
     //------------Setup for test--------------------------
     var sharepointUtils = new SharepointUtils();
     
     //------------Execute Test---------------------------
     var boolValue = sharepointUtils.CastWarewolfValueToCorrectType("2.01", SharepointFieldType.Currency);
     //------------Assert Results-------------------------
     Assert.IsInstanceOfType(boolValue,typeof(Decimal));
 }
 public void SharepointUtils_CastWarewolfValueToCorrectType_Number_ShouldGiveIntValue()
 {
     //------------Setup for test--------------------------
     var sharepointUtils = new SharepointUtils();
     
     //------------Execute Test---------------------------
     var boolValue = sharepointUtils.CastWarewolfValueToCorrectType("2", SharepointFieldType.Number);
     //------------Assert Results-------------------------
     Assert.IsInstanceOfType(boolValue,typeof(Int32));
 }
 public void SharepointUtils_CastWarewolfValueToCorrectType_Note_ShouldGiveStringValue()
 {
     //------------Setup for test--------------------------
     var sharepointUtils = new SharepointUtils();
     
     //------------Execute Test---------------------------
     var boolValue = sharepointUtils.CastWarewolfValueToCorrectType("Bob", SharepointFieldType.Note);
     //------------Assert Results-------------------------
     Assert.IsInstanceOfType(boolValue,typeof(String));
 }
 public void SharepointUtils_CastWarewolfValueToCorrectType_Boolean_ShouldGiveBoolValue()
 {
     //------------Setup for test--------------------------
     var sharepointUtils = new SharepointUtils();
     
     //------------Execute Test---------------------------
     var boolValue = sharepointUtils.CastWarewolfValueToCorrectType("true", SharepointFieldType.Boolean);
     //------------Assert Results-------------------------
     Assert.IsInstanceOfType(boolValue,typeof(Boolean));
 } 
        protected override void ExecuteTool(IDSFDataObject dataObject, int update)
        {
            _debugInputs  = new List <DebugItem>();
            _debugOutputs = new List <DebugItem>();
            _indexCounter = 1;
            ErrorResultTO allErrors = new ErrorResultTO();

            try
            {
                var sharepointReadListTos = _sharepointUtils.GetValidReadListItems(ReadListItems).ToList();
                if (sharepointReadListTos.Any())
                {
                    var sharepointSource = ResourceCatalog.Instance.GetResource <SharepointSource>(dataObject.WorkspaceID, SharepointServerResourceId);
                    Dictionary <string, IWarewolfIterator> listOfIterators = new Dictionary <string, IWarewolfIterator>();
                    if (sharepointSource == null)
                    {
                        var contents = ResourceCatalog.Instance.GetResourceContents(dataObject.WorkspaceID, SharepointServerResourceId);
                        sharepointSource = new SharepointSource(contents.ToXElement());
                    }
                    var env = dataObject.Environment;
                    if (dataObject.IsDebugMode())
                    {
                        AddInputDebug(env, update);
                    }
                    var sharepointHelper = sharepointSource.CreateSharepointHelper();
                    var fields           = sharepointHelper.LoadFieldsForList(SharepointList, true);
                    using (var ctx = sharepointHelper.GetContext())
                    {
                        var list         = sharepointHelper.LoadFieldsForList(SharepointList, ctx, true);
                        var iteratorList = new WarewolfListIterator();
                        foreach (var sharepointReadListTo in sharepointReadListTos)
                        {
                            var warewolfIterator = new WarewolfIterator(env.Eval(sharepointReadListTo.VariableName, update));
                            iteratorList.AddVariableToIterateOn(warewolfIterator);
                            listOfIterators.Add(sharepointReadListTo.FieldName, warewolfIterator);
                        }
                        while (iteratorList.HasMoreData())
                        {
                            var itemCreateInfo = new ListItemCreationInformation();
                            var listItem       = list.AddItem(itemCreateInfo);
                            foreach (var warewolfIterator in listOfIterators)
                            {
                                var sharepointFieldTo = fields.FirstOrDefault(to => to.Name == warewolfIterator.Key);
                                if (sharepointFieldTo != null)
                                {
                                    object value = warewolfIterator.Value.GetNextValue();
                                    value = _sharepointUtils.CastWarewolfValueToCorrectType(value, sharepointFieldTo.Type);
                                    listItem[sharepointFieldTo.InternalName] = value;
                                }
                            }
                            listItem.Update();
                            ctx.ExecuteQuery();
                        }
                    }
                    env.Assign(Result, "Success", update);
                    AddOutputDebug(dataObject, env, update);
                }
            }
            catch (Exception e)
            {
                Dev2Logger.Log.Error("SharepointReadListActivity", e);
                allErrors.AddError(e.Message);
            }
            finally
            {
                var hasErrors = allErrors.HasErrors();
                if (hasErrors)
                {
                    dataObject.Environment.Assign(Result, "Failed", update);
                    DisplayAndWriteError("SharepointReadListActivity", allErrors);
                    var errorString = allErrors.MakeDisplayReady();
                    dataObject.Environment.AddError(errorString);
                }
                if (dataObject.IsDebugMode())
                {
                    DispatchDebugState(dataObject, StateType.Before, update);
                    DispatchDebugState(dataObject, StateType.After, update);
                }
            }
        }