public ArtDevField CreateFieldDateTime(string Name) { SPFieldDateTime Field = NewOrRefDateTime(Name); ArtDevField ArtDevField = new ArtDevField(Field); return(ArtDevField); }
public static void CreateDateTimeColumn(this SPWeb web, string group, string description, string name, string displayName, SPDateTimeFieldFormatType format = SPDateTimeFieldFormatType.DateOnly) { try { if (!web.Fields.ContainsField(name)) { string fieldName = web.Fields.Add(name, SPFieldType.DateTime, false); SPFieldDateTime field = (SPFieldDateTime)web.Fields.GetField(name); field.Group = group; field.StaticName = name; field.DisplayFormat = format; 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:CreateDateTimeColumn. MESSAGE: {0}. EXCEPTION TRACE: {1} ", ex.Message, ex.StackTrace), ex.StackTrace); } }
// Uncomment the method below to handle the event raised after a feature has been activated. public override void FeatureActivated(SPFeatureReceiverProperties properties) { SPWeb currentWeb = properties.Feature.Parent as SPWeb; SPList classesList = currentWeb.Lists["Classes"]; SPField titleField = classesList.Fields["Title"]; titleField.Required = false; titleField.ShowInNewForm = false; titleField.ShowInEditForm = false; titleField.Title = "Class ID"; titleField.Update(); SPField registrationsField = classesList.Fields["Registrations"]; registrationsField.DefaultValue = "0"; registrationsField.ShowInNewForm = false; registrationsField.Update(); SPFieldDateTime startDate = currentWeb.Fields["Start Date"] as SPFieldDateTime; startDate.DisplayFormat = SPDateTimeFieldFormatType.DateTime; SPFieldDateTime endDate = currentWeb.Fields["End Date"] as SPFieldDateTime; endDate.DisplayFormat = SPDateTimeFieldFormatType.DateTime; classesList.Fields.Add(startDate); classesList.Fields.Add(endDate); SPView defaultView = classesList.DefaultView; defaultView.ViewFields.Add(startDate); defaultView.ViewFields.Add(endDate); defaultView.Update(); classesList.Update(); }
public static void UpdateTypeOfDateTime(string siteUrl) { if (!string.IsNullOrEmpty(siteUrl)) { List <string> colNames = new List <string>() { "StartDate", "DueDate" }; string listName = "Task List"; try { SPSecurity.RunWithElevatedPrivileges(delegate() { Console.Write("Processing..."); using (SPSite spSite = new SPSite(siteUrl)) { using (SPWeb spWeb = spSite.RootWeb) { SPList spList = spWeb.Lists.TryGetList(listName); if (spList != null) { Console.WriteLine(); Console.Write("List Name: {0}", listName); spWeb.AllowUnsafeUpdates = true; foreach (var colName in colNames) { SPField spField = spList.Fields.TryGetFieldByStaticName(colName); if (spField != null) { Console.WriteLine(); Console.Write("Column Name: {0}", colName); SPFieldDateTime spFieldDateTime = spField as SPFieldDateTime; if (!(spFieldDateTime.FriendlyDisplayFormat == SPDateTimeFieldFriendlyFormatType.Disabled)) { spFieldDateTime.FriendlyDisplayFormat = SPDateTimeFieldFriendlyFormatType.Disabled; spFieldDateTime.Update(); } Console.Write(" -> Done"); } } spWeb.AllowUnsafeUpdates = false; } } } }); } catch (Exception ex) { Console.WriteLine(string.Format("Error: {0}", ex.Message)); } Console.Read(); } else { Console.Write("Troll?"); Console.Read(); } }
private void OnListCreated(ref SPList list) { SPFieldDateTime modified = list.Fields.GetFieldByInternalName("Modified") as SPFieldDateTime; modified.FriendlyDisplayFormat = SPDateTimeFieldFriendlyFormatType.Disabled; modified.Update(); }
public SPFieldDateTime NewOrRefDateTime(string Name) { string DateTimeName = this.Web().Fields.ContainsField(Name) ? Name : this.Web().Fields.Add(Name, SPFieldType.DateTime, false); SPFieldDateTime DateTimeField = (SPFieldDateTime)this.Web().Fields.GetFieldByInternalName(DateTimeName); DateTimeField.Group = this.columnGroup; return(DateTimeField); }
// Uncomment the method below to handle the event raised after a feature has been activated. public override void FeatureActivated(SPFeatureReceiverProperties properties) { var web = (SPWeb)properties.Feature.Parent; SPList courseList = web.Lists["Courses"]; SPField field = courseList.Fields["Tytu³"]; field.Title = "Course Title"; field.Update(); SPList trainersList = web.Lists["Trainers"]; SPField fullNameField = trainersList.Fields["Imiê i nazwisko"]; fullNameField.Required = true; fullNameField.Update(); SPList classesList = web.Lists["Classes"]; //Title column updates SPField titleField = classesList.Fields["Tytu³"]; titleField.Required = false; titleField.ShowInNewForm = false; titleField.ShowInEditForm = false; titleField.Title = "Class ID"; titleField.Update(); //Registrations column updates SPField registrationsField = classesList.Fields["Registrations"]; registrationsField.DefaultValue = "0"; registrationsField.ShowInNewForm = false; registrationsField.Update(); //Add the "Start Date" and "End Date" columns to the list, ensure they both display Date and Time, and add them to the default view of the list SPFieldDateTime startDate = web.ParentWeb.Fields["Data rozpoczêcia"] as SPFieldDateTime; startDate.DisplayFormat = SPDateTimeFieldFormatType.DateTime; SPFieldDateTime endDate = web.ParentWeb.Fields["Data zakoñczenia"] as SPFieldDateTime; endDate.DisplayFormat = SPDateTimeFieldFormatType.DateTime; classesList.Fields.Add(startDate); classesList.Fields.Add(endDate); SPView defaultView = classesList.DefaultView; defaultView.ViewFields.Add(startDate); defaultView.ViewFields.Add(endDate); defaultView.Update(); classesList.Update(); }
public static string FormatValueAsText(this SPFieldCalculated calcField, string rawValue) { string result = rawValue; CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture; switch (calcField.OutputType) { case SPFieldType.Number: try { var numberValue = Convert.ToDouble(rawValue); result = SPFieldNumber.GetFieldValueAsText(numberValue, currentCulture, calcField.ShowAsPercentage, calcField.DisplayFormat); } catch { result = string.Empty; } break; case SPFieldType.DateTime: try { var dateValue = Convert.ToDateTime(rawValue); result = SPFieldDateTime.GetFieldValueAsText(dateValue, SPContext.Current.Web, calcField.DateFormat == SPDateTimeFieldFormatType.DateTime ? SPDateFormat.DateTime : SPDateFormat.DateOnly); } catch { result = string.Empty; } break; case SPFieldType.Currency: try { double data = Convert.ToDouble(rawValue, CultureInfo.InvariantCulture); result = SPFieldCurrency.GetFieldValueAsText(data, currentCulture, calcField.CurrencyLocaleId, calcField.DisplayFormat); } catch { result = string.Empty; } break; case SPFieldType.Boolean: try { result = Convert.ToBoolean(Convert.ToByte(rawValue)).ToString(); } catch { } break; default: break; } return(result); }
private void OnListCreated(ref SPList list) { SPFieldDateTime modified = list.Fields.GetFieldByInternalName("Modified") as SPFieldDateTime; modified.FriendlyDisplayFormat = SPDateTimeFieldFriendlyFormatType.Disabled; modified.Update(); list.EnableVersioning = true; list.EnableMinorVersions = true; list.MajorVersionLimit = 10; list.MajorWithMinorVersionsLimit = 3; list.DraftVersionVisibility = DraftVisibilityType.Author; list.EnableModeration = false; list.ForceCheckout = true; list.Update(); }
// Uncomment the method below to handle the event raised after a feature has been activated. public override void FeatureActivated(SPFeatureReceiverProperties properties) { //Reference the newly created Classes list and perform the following: //1. Set the display name of the "Title" column to "Class ID" and hide it from the New and Edit forms //2. Make the "Class ID" column not required //3. Set the default value of the Registrations column to 0 and do not display it on the new form //4. Add the built-in "Start Date" and "End Date" columns //Reference the newly created Classes list SPWeb currentWeb = properties.Feature.Parent as SPWeb; SPList classesList = currentWeb.Lists["Classes"]; //Title column updates SPField titleField = classesList.Fields["Title"]; titleField.Required = false; titleField.ShowInNewForm = false; titleField.ShowInEditForm = false; titleField.Title = "Class ID"; titleField.Update(); //Registrations column updates SPField registrationsField = classesList.Fields["Registrations"]; registrationsField.DefaultValue = "0"; registrationsField.ShowInNewForm = false; registrationsField.Update(); //Add the "Start Date" and "End Date" columns to the list, ensure they both display Date and Time, and add them to the default view of the list SPFieldDateTime startDate = currentWeb.Fields["Start Date"] as SPFieldDateTime; startDate.DisplayFormat = SPDateTimeFieldFormatType.DateTime; SPFieldDateTime endDate = currentWeb.Fields["End Date"] as SPFieldDateTime; endDate.DisplayFormat = SPDateTimeFieldFormatType.DateTime; classesList.Fields.Add(startDate); classesList.Fields.Add(endDate); SPView defaultView = classesList.DefaultView; defaultView.ViewFields.Add(startDate); defaultView.ViewFields.Add(endDate); defaultView.Update(); classesList.Update(); }
protected void Page_Load(object sender, EventArgs e) { // Declare Fields var site = SPContext.Current.Site; var web = site.RootWeb; // Get the SPFieldCollection for the root web. var fields = web.Fields; // Add a new date field. var fieldExpiryDate = new SPFieldDateTime(fields, SPFieldType.DateTime.ToString(), "Expiry Date") { StaticName = "ExpiryDate", DisplayFormat = SPDateTimeFieldFormatType.DateOnly, Group = "Contoso Columns", Required = true }; fieldExpiryDate.Update(); fields.Add(fieldExpiryDate); // Add a new choice field. var fieldProductionType = new SPFieldChoice(fields, SPFieldType.Choice.ToString(), "Production Type") { StaticName = "ProductionType" }; fieldProductionType.Choices.Add("Research"); fieldProductionType.Choices.Add("Prototype"); fieldProductionType.Choices.Add("Trial"); fieldProductionType.Choices.Add("Release"); fieldProductionType.Group = "Contoso Columns"; fieldProductionType.Required = true; fieldProductionType.Update(); fields.Add(fieldProductionType); // Declare Content Types // Get the ID of the parent content type. var parentId = SPBuiltInContentTypeId.Document; // Create the Invoice content type. var ctInvoice = new SPContentType(parentId, web.ContentTypes, "Invoice"); // Create field links. var fldClientName = fields.GetField("ClientName"); var fldPaymentDueDate = fields.GetField("PaymentDueDate"); var fldAmount = fields.GetField("Amount"); var fldLinkClientName = new SPFieldLink(fldClientName); var fldLinkPaymentDueDate = new SPFieldLink(fldPaymentDueDate); var fldLinkAmount = new SPFieldLink(fldAmount); // Add the field links to the content type. ctInvoice.FieldLinks.Add(fldLinkClientName); ctInvoice.FieldLinks.Add(fldLinkPaymentDueDate); ctInvoice.FieldLinks.Add(fldLinkAmount); // Persist the changes to the content database. ctInvoice.Update(); // Add the content type to the collection. web.ContentTypes.Add(ctInvoice); web.Dispose(); // Bind Content Type // Get the list. var list = web.GetList("Invoices"); // Get the site content type. var ct = web.AvailableContentTypes["Invoice"]; // Enable content types on the list. list.ContentTypesEnabled = true; // Add the content type to the list. list.ContentTypes.Add(ct); // Persist the changes to the database. list.Update(); //Set Document Template ct.DocumentTemplate = "SiteAssets/MyTemplate.dotx"; ct.Update(); //Set Workflow Template SPWorkflowTemplate template = web.WorkflowTemplates.GetTemplateByName("InvoiceWorkflow", web.Locale); // Create a new workflow association. SPWorkflowAssociation association = SPWorkflowAssociation.CreateWebContentTypeAssociation(template, "Process Invoice", "Invoice Tasks", "Process Invoice History"); if (ct.WorkflowAssociations.GetAssociationByName("Process Invoice", web.Locale) == null) { ct.WorkflowAssociations.Add(association); ct.UpdateWorkflowAssociationsOnChildren(false, true, true, false); } }
protected void Page_Load(object sender, EventArgs e) { if (Request["siteid"] != null) { SPSite site = null; SPWeb web = null; SPList list = null; GridData gd = new GridData(); bool isRollup = false; gd.GanttParams64bitString = Request["params"].ToString(); gd.InitRoutine(out isRollup); SPSecurity.RunWithElevatedPrivileges(delegate() { site = new SPSite(new Guid(Request["siteid"].ToString())); web = site.AllWebs[new Guid(Request["webid"].ToString())]; list = web.Lists[new Guid(Request["listid"].ToString())]; gd.List = list; //GridUtilities.List = list; }); try { //GridUtilities.View = web.GetViewFromUrl(Request["viewUrl"].ToString()); gd.View = web.GetViewFromUrl(Request["viewUrl"].ToString()); } catch (Exception ex) { try { gd.View = web.ParentWeb.GetViewFromUrl(Request["viewUrl"].ToString()); } catch (Exception ex2) { //GridUtilities.AddError("Web: " + web.ServerRelativeUrl + " List: " + list.Title + " View: " + Request["viewUrl"].ToString() + " Message: " + ex2.Message); } } //GridUtilities.InitViewFields(); SPListItem li = gd.List.GetItemById(int.Parse(Request["itemid"].ToString())); ArrayList imgs = new ArrayList(); if (Request["imgs"].ToString() != string.Empty) { imgs.AddRange(Request["imgs"].ToString().Split(",".ToCharArray())); } string json = "{ \"FieldValues\": ["; string types = ""; foreach (string sfield in gd.ViewFields) { FieldValues fv = new FieldValues(); if (list.Fields.ContainsField(sfield)) { SPField spField = list.Fields.GetFieldByInternalName(sfield); types = types + spField.TypeAsString + "|"; fv.fieldKey = gd.GetDisplayName(sfield); if (!spField.Description.ToLower().Contains("indicator")) { string type = spField.TypeAsString; string val = string.Empty; switch (type) { case "Computed": fv.dataValue = spField.GetFieldValueAsText(li[spField.Id]); fv.localizedValue = spField.GetFieldValueAsText(li[spField.Id]); break; case "Calculated": fv.dataValue = spField.GetFieldValueAsText(li[spField.Id]); fv.localizedValue = spField.GetFieldValueAsText(li[spField.Id]); break; case "Text": fv.dataValue = li[spField.Id]; fv.localizedValue = li[spField.Id]; break; case "Number": if (li[spField.Id] != null && li[spField.Id].ToString() != "") { if (spField.InternalName.ToLower() != "percentcomplete") { val = String.Format("{0:#,0.00}", li[spField.Id]); } else { decimal pct = decimal.Parse(li[spField.Id].ToString()); pct = pct * 100; val = String.Format("{0:#,0.00}", pct.ToString()); val = val + " %"; } } fv.dataValue = val; fv.localizedValue = val; break; case "Currency": if (li[spField.Id] != null) { val = String.Format("{0:C}", li[spField.Id]); } fv.dataValue = val; fv.localizedValue = val; break; case "Boolean": fv.dataValue = spField.GetFieldValueAsText(li[spField.Id]); fv.localizedValue = spField.GetFieldValueAsText(li[spField.Id]); break; case "Note": fv.dataValue = li[spField.Id]; fv.localizedValue = li[spField.Id]; break; case "DateTime": SPFieldDateTime spfdt = (SPFieldDateTime)spField; if (spfdt.DisplayFormat == SPDateTimeFieldFormatType.DateTime) { if (li[spField.Id] != null) { val = DateTime.Parse(li[spField.Id].ToString()).ToString(); } fv.dataValue = val; fv.localizedValue = val; } else { if (li[spField.Id] != null) { val = DateTime.Parse(li[spField.Id].ToString()).ToShortDateString(); } fv.dataValue = val; fv.localizedValue = val; } break; default: fv.dataValue = spField.GetFieldValueAsText(li[spField.Id]); fv.localizedValue = spField.GetFieldValueAsText(li[spField.Id]); break; } } else { string val = spField.GetFieldValueAsText(li[spField.Id]).ToLower(); fv.dataValue = imgs.IndexOf(spField.GetFieldValueAsText(li[spField.Id]).ToLower()); fv.localizedValue = ""; } Serializer s = new Serializer(); json = json + fv.ToJson(s) + ","; } } json = json.Remove(json.LastIndexOf(",")); json = json + "]}"; Response.Output.WriteLine(json); } else { Response.Output.WriteLine("Failed"); } //GridUtilities.WriteLog(); //GridUtilities.IDisposable(); }
//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; } } }
private static string GetFieldType(SPField oField, out string senum, out string senumkeys, out string sFormat, out string sRange, SPWeb oWeb) { var currencyFormatDictionary = new Dictionary <int, string> { { 0, "$n" }, { 1, "n$" }, { 2, "$ n" }, { 3, "n $" } }; senum = ""; senumkeys = ""; sFormat = ""; sRange = ""; switch (oField.Type) { case SPFieldType.Boolean: return("Bool"); case SPFieldType.DateTime: SPFieldDateTime oDTField = (SPFieldDateTime)oField; string dateFormat = GetExampleDateFormat(oWeb, "yyyy", "M", "d"); sFormat = oDTField.GetProperty("Format").Equals("DateOnly") ? dateFormat : string.Format("{0} h:mm tt", dateFormat); return("Date"); case SPFieldType.Currency: var currenvyCultureInfo = new CultureInfo(((SPFieldCurrency)oField).CurrencyLocaleId); NumberFormatInfo numberFormatInfo = currenvyCultureInfo.NumberFormat; sFormat = currencyFormatDictionary[numberFormatInfo.CurrencyPositivePattern] .Replace("$", numberFormatInfo.CurrencySymbol) .Replace("n", string.Format(",0.{0}", new string('0', numberFormatInfo.CurrencyDecimalDigits))); return("Float"); case SPFieldType.Note: SPFieldMultiLineText field = (SPFieldMultiLineText)oField; if (field.RichText) { return("Html"); } else { return("Lines"); } case SPFieldType.Number: string percentageSign = string.Empty; if (((SPFieldNumber)oField).ShowAsPercentage) { //sFormat = "0\\%;0\\%;0\\%"; return("Float"); } switch (((SPFieldNumber)oField).DisplayFormat) { case SPNumberFormatTypes.Automatic: sFormat = ",#0.##########" + percentageSign; break; case SPNumberFormatTypes.NoDecimal: sFormat = ",#0" + percentageSign; break; case SPNumberFormatTypes.OneDecimal: sFormat = ",#0.0" + percentageSign; break; case SPNumberFormatTypes.TwoDecimals: sFormat = ",#0.00" + percentageSign; break; case SPNumberFormatTypes.ThreeDecimals: sFormat = ",#0.000" + percentageSign; break; case SPNumberFormatTypes.FourDecimals: sFormat = ",#0.0000" + percentageSign; break; case SPNumberFormatTypes.FiveDecimals: sFormat = ",#0.00000" + percentageSign; break; } return("Float"); case SPFieldType.Choice: SPFieldChoice oCField = (SPFieldChoice)oField; foreach (string sChoice in oCField.Choices) { senum += ";" + sChoice; } return("Enum"); case SPFieldType.Lookup: SPFieldLookup oLField = (SPFieldLookup)oField; if (oLField.AllowMultipleValues) { sRange = "1"; } SPList oLookupList = oWeb.Lists[new Guid(oLField.LookupList)]; foreach (SPListItem li in oLookupList.Items) { senum += ";" + li.Title.Replace(";", ""); senumkeys += ";" + li.ID; } return("Enum"); case SPFieldType.MultiChoice: SPFieldMultiChoice oMCField = (SPFieldMultiChoice)oField; foreach (string sChoice in oMCField.Choices) { senum += ";" + sChoice; } sRange = "1"; return("Enum"); case SPFieldType.User: DataTable dtResources = EPMLiveCore.API.APITeam.GetResourcePool("<Pool><Columns>SimpleColumns</Columns></Pool>", oWeb); foreach (DataRow dr in dtResources.Rows) { senum += ";" + dr["Title"].ToString(); senumkeys += ";" + dr["SPID"].ToString(); } SPFieldUser oUField = (SPFieldUser)oField; if (oUField.AllowMultipleValues) { sRange = "1"; } return("Enum"); default: return("Text"); } }
private string getFieldVal(string field, SPItemEventProperties properties, SPList list) { try { SPField f = list.Fields.GetFieldByInternalName(field); string val = properties.AfterProperties[field].ToString(); if (f.Type == SPFieldType.DateTime) { val = val.Replace("T", " ").Replace("Z", ""); } if (val == "") { return(""); } switch (f.Type) { case SPFieldType.DateTime: try { val = f.GetFieldValue(val).ToString(); DateTime dt = DateTime.Parse(val); SPFieldDateTime dtF = (SPFieldDateTime)f; if (dtF.DisplayFormat == SPDateTimeFieldFormatType.DateOnly) { return(dt.ToShortDateString()); } else { return(dt.ToString()); } }catch {} return(""); case SPFieldType.Lookup: if (val != "") { if (val.Contains(";#")) { return(f.GetFieldValueAsText(val)); } else { SPList lookupList = properties.Web.Lists[new Guid(((SPFieldLookup)f).LookupList)]; SPListItem lookupItem = lookupList.GetItemById(int.Parse(val)); return(lookupItem[((SPFieldLookup)f).LookupField].ToString()); } } return(""); default: return(f.GetFieldValue(val).ToString()); } ; } catch { } return(""); }
public static string GetDisplayFormat(this SPFieldDateTime field) { return(field.DisplayFormat.ToString()); }
public static string GetCalendarType(this SPFieldDateTime field) { return(field.CalendarType.ToString()); }
internal static string GetExportValue(SPWeb exportWeb, object val, SPField field, string locale, bool forceDate, string mulSep) { string colVal; int pos; DateTime dtVal; SPFieldDateTime dtField = field as SPFieldDateTime; SPFieldLookup pgField = field as SPFieldLookup; SPFieldMultiLineText rtField = field as SPFieldMultiLineText; SPFieldMultiChoiceValue mcv; XmlDocument doc; if (field is SPFieldCalculated) { val = ((SPFieldCalculated)field).GetFieldValueAsText(val); } if (field is SPFieldUrl) { val = ((SPFieldUrl)field).GetFieldValue(val + string.Empty); } if (forceDate && (DateTime.TryParse(val + string.Empty, out dtVal) || DateTime.TryParse(val + string.Empty, JsonSchemaManager.Property.Type.LocaleChoice.GetCulture(locale), DateTimeStyles.AllowWhiteSpaces, out dtVal))) { val = dtVal; } if ((val is DateTime) && ((dtField != null) || forceDate)) { colVal = ((DateTime)val).ToString((dtField == null) ? "m" : ((dtField.DisplayFormat == SPDateTimeFieldFormatType.DateOnly) ? "d" : "g"), JsonSchemaManager.Property.Type.LocaleChoice.GetCulture(locale)); } else if (val is SPFieldUrlValue) { colVal = ((SPFieldUrlValue)val).Url; } else if (val is SPFieldLookupValueCollection) { colVal = string.Join(mulSep, ((SPFieldLookupValueCollection)val).ConvertAll <string> ((lv) => { return(lv.LookupValue); }).ToArray()); } else if (val is SPFieldLookupValue) { colVal = ((SPFieldLookupValue)val).LookupValue; } else if ((mcv = val as SPFieldMultiChoiceValue) != null) { colVal = string.Empty; for (int i = 0; i < mcv.Count; i++) { colVal += (mulSep + mcv [i]); } if (colVal.Length > mulSep.Length) { colVal = colVal.Substring(mulSep.Length); } } else if (((pgField = field as SPFieldLookup) != null) || (((rtField = field as SPFieldMultiLineText) != null) && rtField.RichText)) { colVal = val + string.Empty; if (pgField != null) { if ((pos = colVal.IndexOf(";#", StringComparison.InvariantCultureIgnoreCase)) >= 0) { colVal = colVal.Substring(pos + 2); } if ((pos = colVal.IndexOf(";#")) > 0) { colVal = colVal.Substring(0, pos); } } colVal = htmlRegex.Replace(colVal.Replace(WEIRD_CHAR, string.Empty).Replace("<br>", "\r\n").Replace("<BR>", "\r\n").Replace("<br/>", "\r\n").Replace("<BR/>", "\r\n").Replace("<br />", "\r\n").Replace("<BR />", "\r\n"), string.Empty); } else { colVal = val + string.Empty; } if (colVal.StartsWith("<roxhtml/>")) { colVal = htmlRegex.Replace(colVal.Substring("<roxhtml/>".Length).Replace(WEIRD_CHAR, string.Empty).Replace("<br>", "\r\n").Replace("<BR>", "\r\n").Replace("<br/>", "\r\n").Replace("<BR/>", "\r\n").Replace("<br />", "\r\n").Replace("<BR />", "\r\n"), string.Empty); try { doc = new XmlDocument(); doc.LoadXml(colVal); colVal = doc.DocumentElement.InnerText; } catch { } colVal = colVal.Replace('\r', ' ').Replace('\n', ' ').Trim(); } return(colVal); }
private string GetFieldValue(SPField field, SPListItemVersion version) { string fieldValue = string.Empty; SPFieldType fieldType = field.Type; switch (fieldType) { case SPFieldType.Lookup: SPFieldLookup newField = (SPFieldLookup)field; fieldValue = newField.GetFieldValueAsText(version[field.StaticName]); break; case SPFieldType.User: SPFieldUser newUser = (SPFieldUser)field; fieldValue = newUser.GetFieldValueAsText(version[field.StaticName]); break; case SPFieldType.ModStat: SPFieldModStat modStat = (SPFieldModStat)field; fieldValue = modStat.GetFieldValueAsText(version[field.StaticName]); break; case SPFieldType.URL: SPFieldUrl urlField = (SPFieldUrl)field; fieldValue = urlField.GetFieldValueAsHtml(version[field.StaticName]); break; case SPFieldType.DateTime: SPFieldDateTime newDateField = (SPFieldDateTime)field; if (!string.IsNullOrEmpty(newDateField.GetFieldValueAsText(version[field.StaticName]))) { if (newDateField.DisplayFormat == SPDateTimeFieldFormatType.DateTime) { fieldValue = DateTime.Parse(newDateField.GetFieldValueAsText(version[field.StaticName])).ToString(); } else { fieldValue = DateTime.Parse(newDateField.GetFieldValueAsText(version[field.StaticName])).ToShortDateString(); } } break; case SPFieldType.Invalid: // http://sharepointnadeem.blogspot.com/2013/09/sharepoint-spfieldtype-is-invalid-for.html if (field.TypeAsString.Equals("TaxonomyFieldType") || field.TypeAsString.Equals("TaxonomyFieldTypeMulti")) { TaxonomyField taxonomyField = field as TaxonomyField; fieldValue = taxonomyField.GetFieldValueAsText(version[field.StaticName]); } else { fieldValue = version[field.StaticName].ToString(); } break; default: fieldValue = version[field.StaticName].ToString(); break; } return(fieldValue); }
public static void UpdateFieldValue(this SPListItem item, SPField updatedField, string data) { if (string.IsNullOrEmpty(data) || data.CompareTo(";#") == 0) { return; } switch (updatedField.Type) { case SPFieldType.Boolean: item[updatedField.Id] = Convert.ToBoolean(data); break; case SPFieldType.File: case SPFieldType.Calculated: case SPFieldType.Computed: case SPFieldType.Currency: case SPFieldType.Integer: case SPFieldType.Note: case SPFieldType.Number: case SPFieldType.Text: item[updatedField.Id] = data; break; case SPFieldType.Choice: SPFieldChoice fieldChoice = (SPFieldChoice)updatedField; item[updatedField.Id] = data; break; case SPFieldType.DateTime: SPFieldDateTime fieldDate = (SPFieldDateTime)updatedField; item[updatedField.Id] = Convert.ToDateTime(data); break; case SPFieldType.Lookup: SPFieldLookup fieldLookup = (SPFieldLookup)updatedField; if (fieldLookup.AllowMultipleValues) { SPFieldLookupValueCollection multiValues = new SPFieldLookupValueCollection(); foreach (var s in data.Split("|".ToCharArray())) { multiValues.Add(new SPFieldLookupValue(s)); } item[updatedField.Id] = multiValues; } else { //int id = fieldLookup.GetLookupIdFromValue(data); SPFieldLookupValue singleLookupValue = new SPFieldLookupValue(data); item[updatedField.Id] = singleLookupValue; } break; case SPFieldType.MultiChoice: SPFieldMultiChoice fieldMultichoice = (SPFieldMultiChoice)updatedField; string[] items = data.Split("|".ToCharArray()); SPFieldMultiChoiceValue values = new SPFieldMultiChoiceValue(); foreach (string choice in items) { values.Add(choice); } item[updatedField.Id] = values; break; case SPFieldType.User: SPFieldUser fieldUser = (SPFieldUser)updatedField; SPFieldUserValueCollection fieldValues = new SPFieldUserValueCollection(); string[] entities = data.Split("|".ToCharArray()); foreach (string entity in entities) { SPUser user = item.Web.EnsureUser(entity.Split(";#".ToCharArray())[2]); if (user != null) { fieldValues.Add(new SPFieldUserValue(item.Web, user.ID, user.Name)); } } item[updatedField.Id] = fieldValues; break; } }