protected override void ExecuteCmdlet() { if (Id.Id == Guid.Empty) { Id = new GuidPipeBind(Guid.NewGuid()); } if (List != null) { var list = SelectedWeb.GetList(List); Field f; if (ParameterSetName != "FieldRef") { var fieldCI = new FieldCreationInformation(Type) { Id = Id.Id, InternalName = InternalName, DisplayName = DisplayName, Group = Group, AddToDefaultView = AddToDefaultView }; if (Type == FieldType.Choice || Type == FieldType.MultiChoice) { f = list.CreateField<FieldChoice>(fieldCI); ((FieldChoice)f).Choices = context.Choices; f.Update(); ClientContext.ExecuteQueryRetry(); } else { f = list.CreateField(fieldCI); } if (Required) { f.Required = true; f.Update(); ClientContext.Load(f); ClientContext.ExecuteQueryRetry(); } WriteObject(f); } else { Field field = Field.Field; if (field == null) { if (Field.Id != Guid.Empty) { field = SelectedWeb.Fields.GetById(Field.Id); } else if (!string.IsNullOrEmpty(Field.Name)) { field = SelectedWeb.Fields.GetByInternalNameOrTitle(Field.Name); } ClientContext.Load(field); ClientContext.ExecuteQueryRetry(); } if (field != null) { list.Fields.Add(field); list.Update(); ClientContext.ExecuteQueryRetry(); } } } else { Field f; var fieldCI = new FieldCreationInformation(Type) { Id = Id.Id, InternalName = InternalName, DisplayName = DisplayName, Group = Group, AddToDefaultView = AddToDefaultView }; if (Type == FieldType.Choice || Type == FieldType.MultiChoice) { f = SelectedWeb.CreateField<FieldChoice>(fieldCI); ((FieldChoice)f).Choices = context.Choices; f.Update(); ClientContext.ExecuteQueryRetry(); } else { f = SelectedWeb.CreateField(fieldCI); } if (Required) { f.Required = true; f.Update(); ClientContext.Load(f); ClientContext.ExecuteQueryRetry(); } WriteObject(f); } }
protected override void ExecuteCmdlet() { if (Id.Id == Guid.Empty) { Id = new GuidPipeBind(Guid.NewGuid()); } if (List != null) { var list = SelectedWeb.GetList(List); Field f; var fieldCI = new FieldCreationInformation(Type) { Id = Id.Id, InternalName = InternalName, DisplayName = DisplayName, Group = Group, AddToDefaultView = AddToDefaultView }; if (Type == FieldType.Choice || Type == FieldType.MultiChoice) { f = list.CreateField<FieldChoice>(fieldCI); ((FieldChoice)f).Choices = context.Choices; f.Update(); ClientContext.ExecuteQueryRetry(); } else { f = list.CreateField(fieldCI); } if (Required) { f.Required = true; f.Update(); ClientContext.Load(f); ClientContext.ExecuteQueryRetry(); } WriteObject(f); } else { Field f; var fieldCI = new FieldCreationInformation(Type) { Id = Id.Id, InternalName = InternalName, DisplayName = DisplayName, Group = Group, AddToDefaultView = AddToDefaultView }; if (Type == FieldType.Choice || Type == FieldType.MultiChoice) { f = SelectedWeb.CreateField<FieldChoice>(fieldCI); ((FieldChoice)f).Choices = context.Choices; f.Update(); ClientContext.ExecuteQueryRetry(); } else { f = SelectedWeb.CreateField(fieldCI); } if (Required) { f.Required = true; f.Update(); ClientContext.Load(f); ClientContext.ExecuteQueryRetry(); } WriteObject(f); } }