Exemple #1
0
        /// <summary>
        /// Añade una nueva columna de tipo "UserField"
        /// </summary>
        /// <param name="columnName">Nombre de la columna</param>
        /// <param name="containInformation">Idica si la columna debe de contener información (campo requerido)</param>
        /// <param name="userSelectionMode">Especifica si se pueden indicar usuarios o usuarios y grupos</param>
        /// <param name="showField">Campo a mostrar identificar la información del usuario a mostrar (mas info aquí: https://www.c-sharpcorner.com/blogs/setting-show-field-for-person-or-group-type-column-using-powershell-in-sharepoint2)</param>
        /// <param name="multiUser">Opcional - Indica si el campo se ha de indicar un solo usuario o grupo (FALSE) o si es multi usuairo / grupo (TRUE)</param>
        /// <param name="usersFromGroup">Opcional - Nombre del grupo de usuarios por el que queremos filtrar los usuarios que se pueden seleccionar o indicar en el campo</param>
        /// <param name="listName">Opcional - Nombre de la lista en la que crear la nueva columna. Si no se indica valor, se tomará el nombre definido en la propiedad ListName</param>
        /// <param name="description">Opcional - Descripción del campo</param>
        public void AddNewColumn(string columnName, bool containInformation, TypeUserSelectionMode userSelectionMode, string showField, bool multiUser = false, string usersFromGroup = "", string listName = "", string description = "")
        {
            listName = SetListName(listName);

            string type = "User";

            if (multiUser)
            {
                type = "UserMulti";
            }

            SPFields field = new SPFields
            {
                Column         = TypeColumn.UsersAndGroups,
                ListName       = listName.Trim(),
                ColumnName     = columnName.Trim(),
                Description    = description.Trim(),
                Type           = type,
                FieldUserGroup = new Clases.SPFieldUsersAndGroup
                {
                    ContainInformation = containInformation,
                    UserSelectionMode  = userSelectionMode,
                    ShowField          = showField,
                    MultiUser          = multiUser,
                    UsersFromGroup     = usersFromGroup
                }
            };

            SPFields.Add(field);
        }
Exemple #2
0
        /// <summary>
        /// Añade una nueva columna de tipoo "Varias líneas de texto"
        /// </summary>
        /// <param name="columnName">Nombre de la columna</param>
        /// <param name="containInformation">Idica si la columna debe de contener información (campo requerido)</param>
        /// <param name="numLines">Indica el nº de líneas de texto para la columna</param>
        /// <param name="richText">Indica el tipo de texto que se permite (FALSE = Texto sin formato / TRUE = Texto enriquecido)</param>
        /// <param name="listName">Opcional - Nombre de la lista en la que crear la nueva columna. Si no se indica valor, se tomará el nombre definido en la propiedad ListName</param>
        /// <param name="description">Opcional - Descripción del campo</param>
        public void AddNewColumn(string columnName, bool containInformation, int numLines, bool richText, string listName = "", string description = "")
        {
            listName = SetListName(listName);

            if (numLines <= 0)
            {
                numLines = 6;
            }

            SPFields field = new SPFields
            {
                Column         = TypeColumn.Multiline,
                ListName       = listName.Trim(),
                ColumnName     = columnName.Trim(),
                Description    = description.Trim(),
                Type           = "Note",
                FieldMultiText = new SPFieldMultiText
                {
                    ContainInformation = containInformation,
                    NumLines           = numLines,
                    RichText           = richText
                }
            };

            SPFields.Add(field);
        }
Exemple #3
0
        //--------------------------------------------------------------------
        #region Crear nuevos campos
        /// <summary>
        /// Añade una nueva columna de tipo "Linea de Texto"
        /// </summary>
        /// <param name="columnName">Nombre de la columna</param>
        /// <param name="containInformation">Idica si la columna debe de contener información (campo requerido)</param>
        /// <param name="uniqueValues">Indica si en la coolumna se deben aplicar valores únicos </param>
        /// <param name="maxLength">Indica el nº máximo de caracteres para la columna (Entre 1 y 255)</param>
        /// <param name="defaultValue">Opcional - Indicia el valor por defecto de la columna (solo texto, valor calculado)</param>
        /// <param name="listName">Opcional - Nombre de la lista en la que crear la nueva columna. Si no se indica valor, se tomará el nombre definido en la propiedad ListName</param>
        /// <param name="description">Opcional - Descripción del campo</param>
        public void AddNewColumn(string columnName, bool containInformation, bool uniqueValues, int maxLength, string defaultValue = "", string listName = "", string description = "")
        {
            listName = SetListName(listName);

            if ((maxLength <= 0) || (maxLength > 255))
            {
                maxLength = 255;
            }

            SPFields field = new SPFields
            {
                Column      = TypeColumn.LineOfText,
                ListName    = listName.Trim(),
                ColumnName  = columnName.Trim(),
                Description = description.Trim(),
                Type        = "Text",
                FieldText   = new Clases.SPFieldText
                {
                    ContainInformation = containInformation,
                    UniqueValues       = uniqueValues,
                    MaxLength          = maxLength,
                    DefaultValue       = defaultValue.Trim()
                }
            };

            SPFields.Add(field);
        }
Exemple #4
0
        /// <summary>
        /// Añade una nueva columna de tipo "Lookup"
        /// </summary>
        /// <param name="columnName">Nombre de la columna</param>
        /// <param name="containInformation">Idica si la columna debe de contener información (campo requerido)</param>
        /// <param name="listName">Opcional - Nombre de la lista en la que crear la nueva columna. Si no se indica valor, se tomará el nombre definido en la propiedad ListName</param>
        /// <param name="lookupList">Nombre de la lista con la cual se desea vincular el campo de busqueda</param>
        /// <param name="lookupField">Nombre del campo a mostrar</param>
        ///<param name="description">Opcional - Descripción del campo</param>
        public void AddNewColumn(string columnName, bool containInformation, string lookupList, string lookupField, string listName = "", string description = "")
        {
            listName = SetListName(listName);

            SPFields field = new SPFields
            {
                Column      = TypeColumn.Lookup,
                ListName    = listName.Trim(),
                ColumnName  = columnName.Trim(),
                Description = description.Trim(),
                Type        = "Lookup",
                FieldLookup = new Clases.SPFieldLookup
                {
                    ContainInformation = containInformation,
                    LookupList         = lookupList,
                    LookupField        = lookupField
                }
            };

            SPFields.Add(field);
        }
Exemple #5
0
        /// <summary>
        /// Añade una nueva columna de tipo "Elección (menú para elegir)"
        /// </summary>
        /// <param name="columnName">Nombre de la columna</param>
        /// <param name="containInformation">Idica si la columna debe de contener información (campo requerido)</param>
        /// <param name="uniqueValues">Indica si en la coolumna se deben aplicar valores únicos </param>
        /// <param name="options">Lista de opciones para rellenar la columna</param>
        /// <param name="typeChoice">Tipo de opciones (Menu desplegable, botones o casillas)</param>
        /// <param name="defaultValue">Opcional - Valor predeterminado (debe de coincidir con uno de los elementos que componen el parametro 'options')</param>
        /// <param name="listName">Opcional - Nombre de la lista en la que crear la nueva columna. Si no se indica valor, se tomará el nombre definido en la propiedad ListName</param>
        /// <param name="description">Opcional - Descripción del campo</param>
        public void AddNewColumn(string columnName, bool containInformation, bool uniqueValues, string[] options, string defaultValue = "", string listName = "", string description = "")
        {
            listName = SetListName(listName);

            SPFields field = new SPFields
            {
                Column      = TypeColumn.Choice,
                ListName    = listName.Trim(),
                ColumnName  = columnName.Trim(),
                Description = description.Trim(),
                Type        = "Choice",
                FieldChoice = new Clases.SPFieldChoice
                {
                    ContainInformation = containInformation,
                    UniqueValues       = uniqueValues,
                    Options            = options,
                    DefaultValue       = defaultValue.Trim()
                }
            };

            SPFields.Add(field);
        }
Exemple #6
0
        /// <summary>
        /// Añade una nueva columna de tipo "Numero"
        /// </summary>
        /// <param name="columnName">Nombre de la columna</param>
        /// <param name="showAsPercentaje">Indica si el campo numerico es un campo para representar porcentajes (TRUE) o no (FALSE)</param>
        /// <param name="minValue">Valor numérico mínimo para el campo (null si no desea indicar valor mínimo)</param>
        /// <param name="MaxValue">Valor numérico máximo para el campo (null si no desea indicar valor máximo)</param>
        /// <param name="listName">Opcional - Nombre de la lista en la que crear la nueva columna. Si no se indica valor, se tomará el nombre definido en la propiedad ListName</param>
        /// <param name="description">Opcional - Descripción del campo</param>
        public void AddNewColumn(string columnName, bool showAsPercentaje, Nullable <double> minValue, Nullable <double> maxValue, string listName = "", string description = "")
        {
            listName = SetListName(listName);

            SPFields field = new SPFields
            {
                Column      = TypeColumn.Number,
                ListName    = listName.Trim(),
                ColumnName  = columnName.Trim(),
                Description = description.Trim(),
                Type        = "Number",
                FieldNumber = new Clases.SPFieldNumber
                {
                    ShowAsPercentaje = showAsPercentaje
                }
            };

            //Campos nulos
            if (double.TryParse(minValue.ToString(), out double Value1))
            {
                field.FieldNumber.MinValue = Value1;
            }

            if (double.TryParse(maxValue.ToString(), out double Value2))
            {
                field.FieldNumber.MaxValue = Value2;
            }

            if ((field.FieldNumber.MinValue != 0) && (field.FieldNumber.MaxValue != 0) && (field.FieldNumber.MinValue > field.FieldNumber.MaxValue))
            {
                //Si se da la casualidad de que el valor minimo indicado es mayor al valor máximo, anulamos ambos valores (quitamos minimo y maximo)
                field.FieldNumber.MinValue = 0;
                field.FieldNumber.MaxValue = 0;
            }

            SPFields.Add(field);
        }