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); } } }