Ejemplo n.º 1
0
        public ArtDevField CreateFieldText(string Name)
        {
            SPFieldText Field       = NewOrRefText(Name);
            ArtDevField ArtDevField = new ArtDevField(Field);

            return(ArtDevField);
        }
Ejemplo n.º 2
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="web"></param>
    /// <param name="group"></param>
    /// <param name="description"></param>
    /// <param name="name"></param>
    /// <param name="displayName"></param>
    /// <param name="maxLength"></param>
    public static void CreateTextColumn(this SPWeb web, string group, string description, string name, string displayName, int maxLength = 255)
    {
        try
        {
            if (!web.Fields.ContainsField(name))
            {
                string fieldName = web.Fields.Add(name, SPFieldType.Text, false);

                SPFieldText field = (SPFieldText)web.Fields.GetField(name);

                field.Group       = group;
                field.MaxLength   = maxLength;
                field.StaticName  = name;
                field.Title       = displayName;
                field.NoCrawl     = false;
                field.Description = description;

                field.Update();
            }
        }
        catch (Exception ex)
        {
            SPDiagnosticsService.Local.WriteTrace(0, new SPDiagnosticsCategory("CORE:HELPERS", TraceSeverity.Unexpected, EventSeverity.Error), TraceSeverity.Unexpected, String.Format("Exception happened in Helpers:CreateTextColumn. MESSAGE: {0}. EXCEPTION TRACE: {1} ", ex.Message, ex.StackTrace), ex.StackTrace);
        }
    }
Ejemplo n.º 3
0
        private static void Create_SPFieldText(SPList list, string targetColumn)
        {
            SPFieldText f = (SPFieldText)list.Fields.CreateNewField(SPFieldType.Text.ToString(), targetColumn);

            list.Fields.Add(f);
            list.Update();
        }
Ejemplo n.º 4
0
        public SPFieldText NewOrRefText(string Name)
        {
            string      TextName  = this.Web().Fields.ContainsField(Name) ? Name : web.Fields.Add(Name, SPFieldType.Text, false);
            SPFieldText TextField = (SPFieldText)web.Fields.GetFieldByInternalName(TextName);

            TextField.Group = this.columnGroup;
            return(TextField);
        }
Ejemplo n.º 5
0
 private void EnsureTextFieldExists(SPList extendedList, string fieldName, bool showInEdit)
 {
     if (!extendedList.Fields.ContainsField(fieldName))
     {
         extendedList.Fields.Add(fieldName, SPFieldType.Text, false);
         SPFieldText textField = extendedList.Fields[fieldName] as SPFieldText;
         textField.Hidden         = false; //!showInEdit;
         textField.ShowInEditForm = showInEdit;
         textField.Update();
         extendedList.Update();
     }
 }
Ejemplo n.º 6
0
        //Create Site Columns
        public void CreateSiteColumns()
        {
            using (SPWeb oSPWeb = oSPSite.RootWeb)
            {
                try
                {
                    //if (!oSPWeb.Fields.ContainsField("Codigo"))
                    //{

                    //Codigo de Documento
                    string      codigoField = oSPWeb.Fields.Add("Codigo", SPFieldType.Text, false);
                    SPFieldText Codigo      = (SPFieldText)oSPWeb.Fields.GetFieldByInternalName(codigoField);
                    Codigo.Group = groupColumn;
                    Codigo.Update();
                    //}

                    //if (!oSPWeb.Fields.ContainsField("Referencia"))
                    //{
                    string      referenciaField = oSPWeb.Fields.Add("Referencia", SPFieldType.Text, false);
                    SPFieldText Referencia      = (SPFieldText)oSPWeb.Fields.GetFieldByInternalName(referenciaField);
                    Referencia.Group = groupColumn;
                    Referencia.Update();
                    //}

                    //if (!oSPWeb.Fields.ContainsField("Comentario")) {
                    string      comentarioField = oSPWeb.Fields.Add("Comentario", SPFieldType.Text, false);
                    SPFieldText Comentario      = (SPFieldText)oSPWeb.Fields.GetFieldByInternalName(comentarioField);
                    Comentario.Group = groupColumn;
                    Comentario.Update();
                    //}


                    //if (!oSPWeb.Fields.ContainsField("Remitente"))
                    //{
                    string      remitenteField = oSPWeb.Fields.Add("Remitente", SPFieldType.Text, false);
                    SPFieldText Remitente      = (SPFieldText)oSPWeb.Fields.GetFieldByInternalName(remitenteField);
                    Remitente.Group = groupColumn;
                    Remitente.Update();

                    //}

                    //if (!oSPWeb.Fields.ContainsField("Factura")) {
                    string        facturaField = oSPWeb.Fields.Add("Factura", SPFieldType.Number, false);
                    SPFieldNumber Factura      = (SPFieldNumber)oSPWeb.Fields.GetFieldByInternalName(facturaField);
                    Factura.Group = groupColumn;
                    Factura.Update();
                    //}


                    //if (!oSPWeb.Fields.ContainsField("Fecha Receopcion")) {
                    string          fechaRecepcionField = oSPWeb.Fields.Add("Fecha Recepcion", SPFieldType.DateTime, true);
                    SPFieldDateTime FechaRecepcion      = (SPFieldDateTime)oSPWeb.Fields.GetFieldByInternalName(fechaRecepcionField);
                    FechaRecepcion.Group = groupColumn;
                    FechaRecepcion.Update();

                    //}

                    //Method 3 using Field schema
                    //if (!oSPWeb.Fields.ContainsField("Nota"))
                    //{
                    string notaField          = oSPWeb.Fields.Add("Nota", SPFieldType.Note, false);
                    SPFieldMultiLineText Nota = (SPFieldMultiLineText)oSPWeb.Fields.GetFieldByInternalName(notaField);
                    Nota.Group = groupColumn;
                    Nota.Update();
                    //}

                    //if (!oSPWeb.Fields.ContainsField("Gerencias"))
                    //{

                    // Lookup Column
                    SPList gerenciasList = oSPWeb.Lists.TryGetList("Gerencias");

                    string        GerenciaField  = oSPWeb.Fields.AddLookup("Gerencia", gerenciasList.ID, true);
                    SPFieldLookup gerenciaLookup = (SPFieldLookup)oSPWeb.Fields.GetFieldByInternalName(GerenciaField);

                    gerenciaLookup.Group       = groupColumn;
                    gerenciaLookup.LookupField = "Title";
                    gerenciaLookup.Update();
                    //}

                    SPList listas = oSPWeb.Lists.TryGetList("Listas");
                    //if (!oSPWeb.Fields.ContainsField("Nivel Prioridad"))
                    //{

                    string        nivelPrioridadField  = oSPWeb.Fields.AddLookup("Nivel Prioridad", listas.ID, true);
                    SPFieldLookup nivelPrioridadLookup = (SPFieldLookup)oSPWeb.Fields.GetFieldByInternalName(nivelPrioridadField);
                    nivelPrioridadLookup.Group       = groupColumn;
                    nivelPrioridadLookup.LookupField = "Title";
                    nivelPrioridadLookup.Update();
                    //}

                    //if (!oSPWeb.Fields.ContainsField("Clasificacion"))
                    //{

                    string        clasificacionField  = oSPWeb.Fields.AddLookup("Clasificacion", listas.ID, true);
                    SPFieldLookup clasificacionLookup = (SPFieldLookup)oSPWeb.Fields.GetFieldByInternalName(clasificacionField);
                    clasificacionLookup.Group       = groupColumn;
                    clasificacionLookup.LookupField = "Title";
                    clasificacionLookup.Update();
                    //}

                    //if (!oSPWeb.Fields.ContainsField("Estado"))
                    //{

                    string        estadoField  = oSPWeb.Fields.AddLookup("Estado", listas.ID, false);
                    SPFieldLookup estadoLookup = (SPFieldLookup)oSPWeb.Fields.GetFieldByInternalName(estadoField);
                    estadoLookup.Group       = groupColumn;
                    estadoLookup.LookupField = "Title";
                    estadoLookup.Update();
                    //}
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }
        public void processResource(SPWeb web, Guid resGuid, SPWeb resWeb)
        {
            WebSvcResource.ResourceDataSet rds = pResource.ReadResource(resGuid);


            try
            {
                SPUser  user  = null;
                SPGroup group = null;

                if (!rds.Resources[0].IsWRES_ACCOUNTNull())
                {
                    try
                    {
                        user = resWeb.SiteUsers[rds.Resources[0].WRES_ACCOUNT];
                    }
                    catch { }
                    if (user == null)
                    {
                        string email = "";
                        if (!rds.Resources[0].IsWRES_EMAILNull())
                        {
                            email = rds.Resources[0].WRES_EMAIL;
                        }

                        resWeb.SiteUsers.Add(rds.Resources[0].WRES_ACCOUNT, email, rds.Resources[0].RES_NAME, "");
                        user = resWeb.SiteUsers[rds.Resources[0].WRES_ACCOUNT];
                    }
                }
                else
                {
                    try
                    {
                        group = resWeb.SiteGroups[rds.Resources[0].RES_NAME];
                    }
                    catch { }
                }
                SPList list = resWeb.Lists["Resources"];

                if (!list.Fields.ContainsField("ResUid"))
                {
                    SPFieldText fldResUid = (SPFieldText)list.Fields.CreateNewField(SPFieldType.Text.ToString(), "ResUid");
                    fldResUid.Hidden   = true;
                    fldResUid.Required = false;
                    list.Fields.Add(fldResUid);
                    list.Update();
                }

                DataRow [] drFields = rds.ResourceCustomFields.Select("RES_UID='" + rds.Resources[0].RES_UID + "'");
                foreach (DataRow drField in drFields)
                {
                    try
                    {
                        string fname = "ENT" + drField["MD_PROP_ID"];
                        if (!list.Fields.ContainsField(fname))
                        {
                            addField(list, drField["MD_PROP_ID"].ToString(), drField["FIELD_TYPE_ENUM"].ToString());
                        }
                    }
                    catch { }
                }

                SPQuery query = new SPQuery();
                if (user != null)
                {
                    query.Query = "<Where><Eq><FieldRef Name='SharePointAccount'/><Value Type='User'>" + user.Name + "</Value></Eq></Where>";
                }
                else if (group != null)
                {
                    query.Query = "<Where><Eq><FieldRef Name='SharePointAccount'/><Value Type='User'>" + group.Name + "</Value></Eq></Where>";
                }
                else
                {
                    query.Query = "<Where><Eq><FieldRef Name='Title'/><Value Type='Text'>" + rds.Resources[0].RES_NAME + "</Value></Eq></Where>";
                }

                SPListItemCollection lic = list.GetItems(query);

                SPListItem li = null;

                if (lic.Count > 0)
                {
                    li = lic[0];
                }
                else
                {
                    li = list.Items.Add();
                }

                if (user != null)
                {
                    li["SharePointAccount"] = new SPFieldUserValue(resWeb, user.ID, user.Name);
                }

                if (group != null)
                {
                    li["SharePointAccount"] = new SPFieldUserValue(resWeb, group.ID, group.Name);
                }

                li["ResUid"] = resGuid.ToString();

                if (li != null)
                {
                    string name      = rds.Resources[0].RES_NAME;
                    string firstname = "";
                    try
                    {
                        firstname = name.Split(' ')[0];
                    }
                    catch { }
                    string lastname = "";
                    try
                    {
                        lastname = name.Substring(firstname.Length + 1);
                    }
                    catch { }

                    li["Title"]     = rds.Resources[0].RES_NAME;
                    li["FirstName"] = firstname;
                    li["LastName"]  = lastname;
                    if (!rds.Resources[0].IsWRES_EMAILNull())
                    {
                        li["Email"] = rds.Resources[0].WRES_EMAIL;
                    }

                    if (!rds.Resources[0].IsRES_TIMESHEET_MGR_UIDNull())
                    {
                        if (rds.Resources[0].RES_TIMESHEET_MGR_UID != rds.Resources[0].RES_UID)
                        {
                            WebSvcResource.ResourceDataSet tsRds = pResource.ReadResource(rds.Resources[0].RES_TIMESHEET_MGR_UID);
                            if (tsRds.Resources.Count > 0)
                            {
                                try
                                {
                                    SPUser tuser = null;

                                    try
                                    {
                                        tuser = resWeb.SiteUsers[tsRds.Resources[0].WRES_ACCOUNT];
                                    }
                                    catch { }
                                    if (tuser == null)
                                    {
                                        resWeb.SiteUsers.Add(tsRds.Resources[0].WRES_ACCOUNT, tsRds.Resources[0].WRES_EMAIL, tsRds.Resources[0].RES_NAME, "");
                                        tuser = resWeb.SiteUsers[tsRds.Resources[0].WRES_ACCOUNT];
                                    }

                                    li["TimesheetManager"] = new SPFieldUserValue(resWeb, tuser.ID, tuser.Name);
                                }
                                catch { }
                            }
                        }
                    }

                    foreach (DataRow drField in drFields)
                    {
                        try
                        {
                            string fname = "ENT" + drField["MD_PROP_ID"];
                            if (list.Fields.ContainsField(fname))
                            {
                                string fVal = getfieldvalue(drField);
                                li[list.Fields.GetFieldByInternalName("ENT" + drField["MD_PROP_ID"]).Id] = fVal;
                            }
                        }
                        catch { }
                    }

                    li.SystemUpdate();
                }
            }
            catch { }
        }