private void AddAssistant(int id, DateTime dt, int during, int actionID) { SPWeb web = SPContext.Current.Web; int userID = web.CurrentUser.ID; SPList lstAction = web.Lists.TryGetList(objWeb.ListName); SPListItem item; string custID; if (id > 0) { item = lstAction.GetItemById(id); custID = item[lstAction.Fields.GetFieldByInternalName("CustAction").Title].ToString(); if (actionID != int.Parse(Regex.Split(custID, ";#")[0])) { item = lstAction.AddItem(); } } else { item = lstAction.AddItem(); } item[lstAction.Fields.GetFieldByInternalName("CustAction").Title] = actionID; item[lstAction.Fields.GetFieldByInternalName("ActualDate").Title] = dt; item[lstAction.Fields.GetFieldByInternalName("ActualDuring").Title] = during; item.Update(); }
}//End Getlookupvalues /******************************************************************************************************************************************/ public static void addListItem(SPList list, Dictionary <string, object> itemProperties, string url = null) { var item = url == null?list.AddItem() : list.AddItem(url, SPFileSystemObjectType.File); foreach (var property in itemProperties) { item[property.Key] = property.Value; } item.Update(); }//End additems
/// <summary> /// The IDs of these two lists need to be in sync for the precreation process to work correctly. /// </summary> /// <param name="precreatedWorkBoxesList"></param> /// <param name="requestPrecreatedWorkBoxList"></param> private void MakeSureListsAreInSync(SPList precreatedWorkBoxesList, SPList requestPrecreatedWorkBoxList) { List <SPListItem> itemsToDelete = new List <SPListItem>(); SPListItem requestNextItem = requestPrecreatedWorkBoxList.AddItem(); requestNextItem.Update(); itemsToDelete.Add(requestNextItem); int safety = 0; int safetyCutOut = 1000; int nextPrecreatedListID = -1; while (nextPrecreatedListID < requestNextItem.ID && safety < safetyCutOut) { safety++; SPListItem nextItem = precreatedWorkBoxesList.AddItem(); nextItem.Update(); nextPrecreatedListID = nextItem.ID; itemsToDelete.Add(nextItem); } int nextRequestListID = requestNextItem.ID; // Just in case the lists are out of sync the other way around: while (nextRequestListID < nextPrecreatedListID && safety < safetyCutOut) { safety++; SPListItem nextItem = requestPrecreatedWorkBoxList.AddItem(); nextItem.Update(); nextRequestListID = nextItem.ID; itemsToDelete.Add(nextItem); } if (safety >= safetyCutOut) { WBUtils.SendErrorReport(this.Collection.Web, "Work Box Precreation Error", "The safety cutout was exceeded when trying to synchronise the two precreate lists for template: " + TemplateTitle); throw new NotImplementedException("The safety cutout was exceeded when trying to synchronise the two precreate lists for template: " + TemplateTitle); } foreach (SPListItem item in itemsToDelete) { item.Delete(); } precreatedWorkBoxesList.Update(); requestPrecreatedWorkBoxList.Update(); // So, now the 'next ID' value for both of these two lists is the same. }
public bool AddVoteInfo(string strCreativity) { string siteUrl = SPContext.Current.Site.Url; SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite spSite = new SPSite(siteUrl)) //找到网站集 { using (SPWeb spWeb = spSite.OpenWeb(SPContext.Current.Web.ID)) { SPList spList = spWeb.Lists.TryGetList(webObj.VoteDetail); string ip = getIP(); if (spList != null) { spWeb.AllowUnsafeUpdates = true; SPListItem listItem; string ID = Page.Request.QueryString["ID"]; listItem = spList.AddItem(); listItem["创意名称"] = ID + ";#" + strCreativity; listItem["VoteDate"] = DateTime.Today.ToShortDateString(); listItem["IP"] = ip; //listItem["作品状态"] = strAction; listItem.Update(); spWeb.AllowUnsafeUpdates = false; } } } }); return(true); }
private SPListItem EnsureListItem(SPList list, ListItemDefinition listItemModel) { // TODO, lazy to query // BIG TODO, don't tell me, I know that var currentItem = list.Items .OfType <SPListItem>() .FirstOrDefault(i => i.Title == listItemModel.Title); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioning, Object = currentItem, ObjectType = typeof(SPListItem), ObjectDefinition = listItemModel, ModelHost = list }); if (currentItem == null) { var newItem = list.AddItem(); newItem["Title"] = listItemModel.Title; InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = newItem, ObjectType = typeof(SPListItem), ObjectDefinition = listItemModel, ModelHost = list }); newItem.Update(); return(newItem); } else { currentItem["Title"] = listItemModel.Title; InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = currentItem, ObjectType = typeof(SPListItem), ObjectDefinition = listItemModel, ModelHost = list }); currentItem.Update(); return(currentItem); } }
public static void Create_ctRB_Form(SPWeb web, int klientId, int okresId, string key, SPListItem klientItem, Models.Klient iok) { Logger.LogEvent("Create_ctRB_Form", klientId.ToString()); SPList list = web.Lists.TryGetList(targetList); SPListItem newItem = list.AddItem(); BLL.Tools.Set_Value(newItem, "selKlient", klientId); BLL.Tools.Set_Value(newItem, "selOkres", okresId); BLL.Tools.Set_Text(newItem, "KEY", key); Models.Okres o = new Models.Okres(web, okresId); BLL.Tools.Set_Text(newItem, "Title", string.Format("Opłata za obsługę {0}", o.Nazwa)); double om = BLL.tabStawki.Get_OplataMiesieczna(web, klientId); if (om > 0) { BLL.Tools.Set_Value(newItem, "colDoZaplaty", om); } else { BLL.tabStawki.Ensure_KlientExist(web, klientId); } newItem.SystemUpdate(); }
public static string UpdateLogData(string entityName, string addfields, string deletefields, string connectionString) { SPWeb web = SPContext.Current.Web; SPList list = web.GetList("/Lists/InformationLogs"); SPQuery query = new SPQuery(); query.Query = string.Format("<Where> \r\n <Eq>\r\n <FieldRef Name='EntityName' />\r\n <Value Type='Text'>{0}</Value>\r\n </Eq>\r\n </Where>", entityName); SPListItemCollection items = list.GetItems(query); SPListItem item = (items.Count > 0) ? items[0] : list.AddItem(); item["EntityName"] = entityName; if (item["Fields"] != null) { item["Fields"] = item["Fields"].ToString() + "," + addfields; } else { item["Fields"] = addfields; } item["ConnectionString"] = connectionString; web.AllowUnsafeUpdates = true; item.Update(); web.AllowUnsafeUpdates = false; createTableAndSp(entityName, addfields, item["Fields"].ToString(), items.Count > 0); return(""); }
public bool AddPerformRecord(SPItemEventProperties properties, string strAction, string strPerformance, SPUser author) { string siteUrl = properties.Site.Url; SPUser lgUser = properties.Web.CurrentUser; SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite spSite = new SPSite(siteUrl)) //找到网站集 { using (SPWeb spWeb = spSite.OpenWeb(properties.Web.ID)) { string childListName = properties.List.Title + "业绩"; SPList spList = spWeb.Lists.TryGetList(childListName); if (spList != null) { spWeb.AllowUnsafeUpdates = true; SPListItem listItem = spList.AddItem(); string lookupInternalName = GetSubTitleInterlname(properties).Trim(); listItem[lookupInternalName] = properties.ListItemId; // +";#" + strPerformance; listItem[GetDispNameByInternalName(spList, "Author")] = lgUser.ID + ";#" + lgUser.Name; //"创建者" listItem[GetDispNameByInternalName(spList, "AuthorName")] = author.ID + ";#" + author.Name; //"创建者" listItem[GetDispNameByInternalName(spList, "Action")] = strAction; listItem[GetDispNameByInternalName(spList, "State")] = "待定"; this.EventFiringEnabled = false;//否则会死循环 listItem.Update(); this.EventFiringEnabled = true; spWeb.AllowUnsafeUpdates = false; } } } }); return(true); }
internal static SPListItem Send(SPWeb web, MailMessage msg, int klientId) { SPList list = DB.tabWiadomosci.GetList(web); SPListItem newItem = list.AddItem(); newItem["Title"] = msg.Subject; if (msg.From == null || string.IsNullOrEmpty(msg.From.Address)) { msg.From = new MailAddress(DB.admSetup.GetValue(web, "EMAIL_BIURA")); } newItem["colNadawca"] = msg.From.Address; newItem["colOdbiorca"] = msg.To[0].Address; if (msg.IsBodyHtml) { newItem["colTresc"] = string.Empty; newItem["colTrescHTML"] = msg.Body; } else { newItem["colTresc"] = msg.Body; newItem["colTrescHTML"] = string.Empty; } if (klientId > 0) { newItem["selKlient_NazwaSkrocona"] = klientId; } newItem.Update(); return(newItem); }
public void SaveOrUpdate(SPWeb spWeb, List <BusinessTripSchedule> items) { SPList spList = spWeb.GetList($"{spWeb.Url}{ListUrl}"); spWeb.AllowUnsafeUpdates = true; foreach (var item in items) { SPListItem spListItem; if (item.ID > 0) { spListItem = spList.GetItemById(item.ID); } else { spListItem = spList.AddItem(); } spListItem[StringConstant.BusinessTripScheduleList.Fields.BusinessTripManagementID] = item.BusinessTripManagementID.LookupId; spListItem[StringConstant.BusinessTripScheduleList.Fields.DepartDate] = item.DepartDate.Value; spListItem[StringConstant.BusinessTripScheduleList.Fields.FlightName] = item.FlightName; spListItem[StringConstant.BusinessTripScheduleList.Fields.City] = item.City; spListItem[StringConstant.BusinessTripScheduleList.Fields.Country] = item.Country; spListItem[StringConstant.BusinessTripScheduleList.Fields.ContactCompany] = item.ContactCompany; spListItem[StringConstant.BusinessTripScheduleList.Fields.ContactPhone] = item.ContactPhone; spListItem[StringConstant.BusinessTripScheduleList.Fields.OtherSchedule] = item.OtherSchedule; spListItem.Update(); } spWeb.AllowUnsafeUpdates = false; }
private static int Create_KartaKontrolna(SPListItem task, string KEY, SPList list) { SPListItem newItem = list.AddItem(); newItem["KEY"] = KEY; newItem["selKlient"] = Get_LookupId(task, "selKlient"); newItem["selOkres"] = Get_LookupId(task, "selOkres"); BLL.Models.Klient k = new Models.Klient(task.Web, Get_LookupId(task, "selKlient")); Set_KartaKontrolna_InitValues(newItem, k); //ustaw CT if (k.TypKlienta == "KSH") { newItem["ContentType"] = "Karta kontrolna KSH"; } else { newItem["ContentType"] = "Karta kontrolna KPiR"; } newItem.SystemUpdate(); return(newItem.ID); }
public int SaveOrUpdate(SPWeb spWeb, BusinessTripEmployeeDetail item) { int itemId = 0; SPList spList = spWeb.GetList($"{spWeb.Url}{ListUrl}"); SPListItem spListItem; if (item.ID > 0) { spListItem = spList.GetItemById(item.ID); } else { spListItem = spList.AddItem(); } spListItem[StringConstant.BusinessTripEmployeeDetailsList.Fields.BusinessTripManagementID] = item.BusinessTripManagementID.LookupId; spListItem[StringConstant.BusinessTripEmployeeDetailsList.Fields.Employee] = item.Employee.LookupId; spWeb.AllowUnsafeUpdates = true; spListItem.Update(); itemId = spListItem.ID; spWeb.AllowUnsafeUpdates = false; return(itemId); }
private void AddFilesDetailsFromAlfresco(WBMigrationMapping mapping, SPSite controlSite, SPWeb controlWeb, SPList controlList, SPView controlView, SPListItem migrationItem, string folderPath) { WBFarm farm = WBFarm.Local; string csvFileDetails = WBUtils.GetURLContents(folderPath, farm.MigrationUserName, farm.MigrationPassword); string[] filesDetails = csvFileDetails.Split('\n'); foreach (string fileDetails in filesDetails) { string[] parts = fileDetails.Split(','); if (parts.Length > 3) { // So we're only going to add new file paths to the migration control list: if (WBUtils.FindItemByColumn(controlSite, controlList, WBColumn.SourceFilePath, parts[0]) == null) { SPListItem newMigrationItem = controlList.AddItem(); newMigrationItem.WBxCopyFrom(migrationItem, WBColumn.MappingPath); newMigrationItem.WBxSet(WBColumn.SourceFilePath, parts[0]); newMigrationItem.WBxSet(WBColumn.FileOrFolder, WBColumn.FILE_OR_FOLDER__FILE); newMigrationItem.WBxSet(WBColumn.Title, parts[1]); newMigrationItem.WBxSet(WBColumn.SourceID, parts[2]); newMigrationItem.WBxSet(WBColumn.ReferenceID, parts[4]); newMigrationItem.WBxSet(WBColumn.ReferenceDateString, parts[5]); newMigrationItem.WBxSet(WBColumn.DeclaredDateString, parts[7]); newMigrationItem.Update(); } } } migrationItem.WBxSet(WBColumn.MigrationStatus, WBColumn.MIGRATION_STATUS__DONE); migrationItem.Update(); }
private void ListPopulateContent(ref SPList list, string webUrl) { //only if list empty if (InitialListContent != null && InitialListContent.Count > 0 && list.ItemCount == 0) { foreach (Dictionary <string, object> iRow in InitialListContent) { SPListItem newItem = list.AddItem(); foreach (KeyValuePair <string, object> iField in iRow) { if (list.Fields.ContainsField(iField.Key) && list.Fields.GetField(iField.Key).Type == SPFieldType.Lookup) { SPFieldLookup lkp = (SPFieldLookup)list.Fields.GetField(iField.Key); newItem[iField.Key] = GetLookupValue(webUrl, lkp, (string)iField.Value); } else { newItem[iField.Key] = iField.Value; } } newItem.Update(); } } }
public void Save(string key, string value, string contextId) { Validation.ArgumentNotNull(key, "key"); Validation.ArgumentNotNull(value, "value"); SPListItemCollection items = QueryListItems(key, contextId); if (items.Count == 0) { SPList list = ListInstance; SPListItem item = list.AddItem(); item[SettingKeyFieldId] = key; item[SettingWebIdFieldId] = contextId; item[SettingValueFieldId] = value; item["Title"] = key; item.Update(); } else { SPListItem item = items[0]; item[ConfigValueField] = value; item.Update(); } }
public int SaveOrUpdate(SPWeb spWeb, BusinessTripSchedule item) { int itemId = 0; SPList spList = spWeb.GetList($"{spWeb.Url}{ListUrl}"); SPListItem spListItem; if (item.ID > 0) { spListItem = spList.GetItemById(item.ID); } else { spListItem = spList.AddItem(); } spListItem[StringConstant.BusinessTripScheduleList.Fields.BusinessTripManagementID] = item.BusinessTripManagementID.LookupId; spListItem[StringConstant.BusinessTripScheduleList.Fields.DepartDate] = item.DepartDate.Value; spListItem[StringConstant.BusinessTripScheduleList.Fields.FlightName] = item.FlightName; spListItem[StringConstant.BusinessTripScheduleList.Fields.City] = item.City; spListItem[StringConstant.BusinessTripScheduleList.Fields.Country] = item.Country; spListItem[StringConstant.BusinessTripScheduleList.Fields.ContactCompany] = item.ContactCompany; spListItem[StringConstant.BusinessTripScheduleList.Fields.ContactPhone] = item.ContactPhone; spListItem[StringConstant.BusinessTripScheduleList.Fields.OtherSchedule] = item.OtherSchedule; spWeb.AllowUnsafeUpdates = true; spListItem.Update(); itemId = spListItem.ID; spWeb.AllowUnsafeUpdates = false; return(itemId); }
//The method below enables items to be saved to a list on each column public void saveToList() { //connect to the web site using (SPSite theSite = new SPSite("url")) { //opens the site using (SPWeb theWeb = theSite.OpenWeb()) { //connects to a list SPList list = theWeb.Lists["Sharepoint List"]; SPListItem item = list.AddItem(); //this section below saves question into the list item["Column1"] = TextBox1.Text; item["Column2"] = TextBox2.Text; item["Column3"] = TextBox3.Text; item["Column4"] = TextBox4.Text; item["Column5"] = TextBox5.Text; item["Column6"] = TextBox6.Text; item.Update(); } } }
public void LogError(LogOptions option, Exception ex, string additionalInfo) { try { SPContext context = SPContext.GetContext(HttpContext.Current); SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPWeb web = new SPSite(context.Web.Url).OpenWeb()) { web.AllowUnsafeUpdates = true; // implementation details omitted SPList list = web.Lists["Error-Log"]; SPField authorField = list.Fields.GetFieldByInternalName("Author0"); SPListItem newItem = list.AddItem(); int maxLength = 255; string trimmedTitle = ex.Message.Length > maxLength - 1 ? ex.Message.Substring(0, maxLength) : ex.Message; int userId = context.Web.CurrentUser.ID; string userName = context.Web.CurrentUser.LoginName; SPFieldUserValue authorFieldValue = new SPFieldUserValue(web, userId, userName); newItem["Title"] = trimmedTitle; newItem["Comment"] = ex.Message + Environment.NewLine + ex.StackTrace + Environment.NewLine + (ex.InnerException != null ? ex.InnerException.Message : "No Inner Exception") + Environment.NewLine + (ex.InnerException != null ? ex.InnerException.StackTrace : "No Inner Exception Detail" + Environment.NewLine + additionalInfo); newItem["Category"] = categories[(int)option]; newItem[authorField.Id] = authorFieldValue; newItem["IP"] = HttpContext.Current.Request.UserHostAddress; newItem.Update(); web.AllowUnsafeUpdates = false; } }); } catch { } }
public void AddMailTemplateUsageObject(string alertID, MailTemplateUsageObject mObject) { try { if (mailTemlateUsageList != null) { SPListItem listItem = mailTemlateUsageList.AddItem(); listItem[ListAndFieldNames.MTUAlertFieldName] = alertID + ";#" + alertID; listItem[ListAndFieldNames.MTUTemplateFieldName] = mObject.Template.ID + ";#" + mObject.Template.Name; //Event Type Registered foreach (AlertEventType aType in mObject.AlertType) { listItem[ListAndFieldNames.settingsListEventTypeFieldName] += aType + ";#"; } listItem[ListAndFieldNames.MTUHighLightUpdatedFieldsFieldName] = mObject.HighLightUpdatedFields; listItem[ListAndFieldNames.MTUInsertAttachmentsFieldName] = mObject.InsertAttachments; listItem[ListAndFieldNames.MTUInsertUpdatedFieldsFieldName] = mObject.InsertUpdatedFields; listItem[ListAndFieldNames.MTUShareTemplateWithAllUsers] = mObject.ShareTemplateWithAllUsers; //Other information in xml format listItem.Update(); } else { //unable to get mailtemplate usage list } } catch { } }
/// <summary> /// Na podstawie wprowadzonego tematu zadania sprawdza czy istnieje taka procedura, jeżeli nie istnieje to ją dodaje w statusie nowy, /// jeżeli istnieje i jest zatwierdzona to zwraca jej ID. W pozostałych przypadkach zwraca 0; /// </summary> /// <param name="web"></param> /// <param name="procName"></param> /// <returns></returns> public static int Ensure(SPWeb web, string procName, bool ignorujStatusProcedury) { SPList list = web.Lists.TryGetList(targetList); SPListItem item = list.Items.Cast <SPListItem>() .Where(i => i.Title.Equals(procName)) .FirstOrDefault(); if (item == null) { SPListItem newItem = list.AddItem(); newItem["Title"] = procName; newItem["enumStatusProcedury"] = "Nowa"; newItem.Update(); return(newItem.ID); } else { if (BLL.Tools.Get_Text(item, "enumStatusProcedury").Equals("Zatwierdzona") || ignorujStatusProcedury) { return(item.ID); } else { return(0); } } }
protected void btnAdicionar_Click(object sender, EventArgs e) { using (SPSite site = new SPSite(SPContext.Current.Site.Url)) { using (SPWeb web = site.RootWeb) { SPList listMeusSistemas = web.Lists.TryGetList(LIST_MEUSSISTEMAS); if (listMeusSistemas != null) { var query = new SPQuery() { Query = String.Format(@"<Where><And><Eq><FieldRef Name='Sistema' /><Value Type='Lookup'>{0}</Value></Eq><Eq><FieldRef Name='Author' /><Value Type='User'>{1}</Value></Eq></And></Where>", ddlSistemas.SelectedValue, web.CurrentUser.Name) }; SPListItemCollection sistemas = listMeusSistemas.GetItems(query); if (sistemas.Count == 0) { SPListItem novoSistema = listMeusSistemas.AddItem(); novoSistema["Sistema"] = ddlSistemas.SelectedValue; novoSistema.Update(); Page.Response.Redirect("/SitePages/MeusSistemas.aspx"); } } } } }
public static int Ensure_RecordExist(Microsoft.SharePoint.SPWeb web, int klientId, int targetYear) { int result = 0; SPList list = web.Lists.TryGetList(targetList); string key = Define_KEY(klientId, targetYear); SPListItem item = list.Items.Cast <SPListItem>() .Where(i => BLL.Tools.Get_Text(i, "KEY").Equals(key)) .FirstOrDefault(); if (item != null) { result = item.ID; } else { //create new record SPListItem newItem = list.AddItem(); newItem["KEY"] = key; newItem["selKlient"] = klientId; newItem["colRokObrachunkowy"] = targetYear; newItem.SystemUpdate(); result = newItem.ID; } return(result); }
public bool SaveItems(List <T> entities, bool deleteDataFirst) { bool result = false; if (deleteDataFirst) { DeleteItems(entities.Select(x => x.ID).ToList()); } SPSecurity.RunWithElevatedPrivileges(delegate { using (SPSite site = new SPSite(SiteUrl)) { using (SPWeb web = site.OpenWeb()) { SPList list = web.GetList($"{web.Url}{ListUrl}"); SPListItem newElem = list.AddItem(); string buildQuery = string.Empty; for (int itemCount = 0; itemCount < entities.Count; itemCount++) { T entity = entities[itemCount]; var batchContent = string.Empty; string id = "New"; // Add new all items if (deleteDataFirst) { batchContent = MapToBatchItem(list.ID, entity, itemCount, newElem); } // Update or delete the items else { if (entity.ID > 0) { id = entity.ID.ToString(); } // Set value for the other fields if new or update if (entity.BatchCommand != BatchCmd.Delete) { batchContent = MapToBatchItem(list.ID, entity, itemCount, newElem); } } buildQuery += string.Format("<Method ID=\"{0}\">" + "<SetList Scope=\"Request\">{1}</SetList>" + "<SetVar Name=\"ID\">{2}</SetVar>" + "<SetVar Name=\"Cmd\">{3}</SetVar>{4}" + "</Method>", string.Format("ID{0}", itemCount), list.ID, id, entity.BatchCommand, batchContent); } var query = string.Format(StringConstant.BatchFormat, buildQuery); web.AllowUnsafeUpdates = true; var stringResult = web.ProcessBatchData(query); web.AllowUnsafeUpdates = false; }; } }); result = true; return(result); }
private void CreateMailRequest(Customer cust, SPItemEventProperties properties) { SPList tList = properties.Web.Lists["Powiadomienia"]; SPListItem item = tList.AddItem(); try { item["_Klient"] = cust.Id; item["_Kontakt"] = cust.Email; item["_Temat"] = ":: " + properties.ListItem.Title; item["Operator"] = properties.UserLoginName; if (properties.ListItem["Body"] != null) { item["_Tre_x015b__x0107_"] = properties.ListItem["Body"].ToString(); } item["_Typ_x0020_powiadomienia"] = @"E-Mail Grupowy"; if (properties.ListItem["colPlanowanyTerminWysylki"] != null) { item["Data_x0020_wysy_x0142_ki"] = properties.ListItem["colPlanowanyTerminWysylki"].ToString(); } item["_OgloszenieId"] = properties.ListItemId; item.Update(); } catch (Exception ex) { throw; } }
public void FormEvents_Submit(object sender, SubmitEventArgs e) { FileSubmitConnection fc = (FileSubmitConnection)this.DataConnections["SharePoint Library Submit"]; fc.Filename.SetStringValue("Message - " + DateTime.Now.ToString("yyyymmddhhmmss")); fc.Execute(); e.CancelableArgs.Cancel = false; SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite elevatedSite = new SPSite("http://pobalfba")) { using (SPWeb elevatedWeb = elevatedSite.OpenWeb()) { elevatedWeb.AllowUnsafeUpdates = true; SPList logsList = elevatedWeb.Lists.TryGetList("Logs"); SPListItem newItem = logsList.AddItem(); newItem["Title"] = string.Format("User: {0}; Date/Time: {1}", elevatedWeb.CurrentUser.LoginName, DateTime.Now.ToLongDateString()); newItem.Update(); elevatedWeb.AllowUnsafeUpdates = true; } } }); }
private static void WritePlan(string planList, string siteUrl, SPListItem rPlanListItem, int duringDays) { SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite spSite = new SPSite(siteUrl)) //找到网站集 { using (SPWeb spWeb = spSite.OpenWeb()) { if (planList != "") { SPList spList = spWeb.Lists.TryGetList(planList); if (spList != null) { for (int i = 0; i < duringDays; i++) { SPListItem item = spList.AddItem(); item["标题"] = rPlanListItem["标题"]; DateTime dtStart = (DateTime)rPlanListItem["计划开始"]; item["计划开始"] = DateTime.Now.AddDays(i).Date + dtStart.TimeOfDay; item["计划时长"] = rPlanListItem["计划时长"]; item["活动操作"] = rPlanListItem["操作"]; item["创建者"] = spWeb.EnsureUser(spWeb.CurrentUser.LoginName); item["修改者"] = spWeb.CurrentUser; item.Update(); } } } } } }); }
public void SaveOrUpdate(SPWeb spWeb, List <FreightDetails> items) { SPList spList = spWeb.GetList($"{spWeb.Url}{ListUrl}"); spWeb.AllowUnsafeUpdates = true; foreach (var item in items) { SPListItem spListItem; if (item.ID > 0) { spListItem = spList.GetItemById(item.ID); } else { spListItem = spList.AddItem(); } spListItem[StringConstant.FreightDetailsList.FreightManagementIDField] = item.FreightManagementID.LookupId; spListItem[StringConstant.FreightDetailsList.GoodsNameField] = item.GoodsName; spListItem[StringConstant.FreightDetailsList.UnitField] = item.Unit; spListItem[StringConstant.FreightDetailsList.QuantityField] = item.Quantity; spListItem[StringConstant.FreightDetailsList.RemarksField] = item.Remarks; spListItem[StringConstant.FreightDetailsList.ShippingInField] = item.ShippingIn.HasValue == true ? item.ShippingIn : null; spListItem[StringConstant.FreightDetailsList.ShippingOutField] = item.ShippingOut.HasValue == true ? item.ShippingOut : null; spListItem[StringConstant.FreightDetailsList.CheckInByField] = item.CheckInBy != null ? item.CheckInBy.LookupId : 0; spListItem[StringConstant.FreightDetailsList.CheckOutByField] = item.CheckOutBy != null ? item.CheckOutBy.LookupId : 0; spListItem.Update(); } spWeb.AllowUnsafeUpdates = false; }
public static void AddGroupProxyItem(SPList groupProxyList, SPUser user) { SPListItem newOwner = groupProxyList.AddItem(); newOwner.SetFieldAsSPUser(eCaseConstants.FieldGuids.GROUPPROXY_LIST_GROUPMEMBER, user); newOwner.Update(); }
public void LogAudit(string title, string message) { try { SPContext context = SPContext.GetContext(HttpContext.Current); SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPWeb web = new SPSite(context.Web.Url).OpenWeb()) { int userId = context.Web.CurrentUser.ID; string userName = context.Web.CurrentUser.LoginName; SPFieldUserValue authorFieldValue = new SPFieldUserValue(web, userId, userName); web.AllowUnsafeUpdates = true; // implementation details omitted SPList list = web.Lists["Audit-Log"]; SPField authorField = list.Fields.GetFieldByInternalName("Author0"); SPListItem newItem = list.AddItem(); newItem["Title"] = title; newItem["Log"] = message; newItem[authorField.Id] = authorFieldValue; newItem["IP"] = HttpContext.Current.Request.UserHostAddress; newItem.Update(); web.AllowUnsafeUpdates = false; } }); } catch { } }
const string targetList = "Procedury"; //"tabProcedury"; public static bool AddNew(SPWeb web, string nazwaProcedury) { bool result = false; SPList list = web.Lists.TryGetList(targetList); //if (list!=null) //{ SPListItem item = list.AddItem(); item["Title"] = nazwaProcedury; try { item.SystemUpdate(); } catch (Exception) { } finally { result = true; } //} return(result); }
private static void AddOrderLine(SPList orderLineList, OrderLine line) { var orderLine = orderLineList.AddItem(); orderLine["Title"] = line.Product; orderLine["Price"] = line.Price; orderLine["Quantity"] = line.Quantity; orderLine.Update(); }
private static void AddSalesOrderHeader(SalesOrder order, SPList salesOrderList) { var salesOrder = salesOrderList.AddItem(); salesOrder["Title"] = order.Customer.Name + "_" + order.OrderDate.ToString("yyyy-MM-dd"); salesOrder["OrderDate"] = order.OrderDate; salesOrder["Status"] = order.Status.ToString(); salesOrder["Customer"] = order.Customer.CustomerId; salesOrder.Update(); }
public static int AddNew(SPList list, int klientId, int rok, string key) { Debug.WriteLine("BLL.tabStratyZLatUbieglych.AddNew: " + key); SPListItem nItem = list.AddItem(); BLL.Tools.Set_Index(nItem, "selKlient", klientId); BLL.Tools.Set_Index(nItem, "colRokObrachunkowy", rok); BLL.Tools.Set_Text(nItem, "KEY", key); nItem.Update(); Debug.Write("-dodany"); return nItem.ID; }
public void AddDefaultData(SPList list) { var defaultDataRows = listInstance.Descendants(ns + "Data").Descendants(ns + "Rows").Descendants(ns + "Row"); foreach (var row in defaultDataRows) { var item = list.AddItem(); var fields = row.Descendants(ns + "Field"); foreach (var field in fields) { var name = field.Attribute("Name").Value; var value = field.Value; var spField = list.Fields.GetFieldByInternalName(name); item[name] = ConvertValueForFieldType(spField.Type, value); } item.Update(); } }
/// <summary> /// Writes messages of 255 characters or less /// </summary> /// <param name="message">The message.</param> /// <param name="list">The list.</param> private void WriteMessage(string message, SPList list) { message.RequireNotNullOrEmpty("message"); list.RequireNotNull("list"); message.Require(message.Length <= 255, "message"); SPListItem item = list.AddItem(); item["Title"] = message; item.Update(); }
public virtual void CreateNewListItem(SPList list, SPGENRepositoryDataItem dataItem, string parentFolderRelUrl, SPGENEntityFileOperationArguments fileOperationParams) { SPListItem listItem; if (string.IsNullOrEmpty(parentFolderRelUrl)) { listItem = list.AddItem(); } else { listItem = list.AddItem(GetSiteRelativeFolderUrl(list, parentFolderRelUrl), SPFileSystemObjectType.Invalid); } dataItem.ListItem = listItem; }
private void AddNews(SPWeb adminWeb, SPList list, string catID, string catName, string rssLink, DataRow rss) { try { adminWeb.AllowUnsafeUpdates = true; var item = list.AddItem(); item[FieldsName.NewsList.InternalName.Title] = rss["title"]; item[FieldsName.NewsList.InternalName.NewsUrl] = rss["link"]; item[FieldsName.NewsList.InternalName.NewsGroup] = catID; item[FieldsName.NewsList.InternalName.NewsGroupName] = catName; item[FieldsName.NewsList.InternalName.RSSLink] = rssLink; var desc = Convert.ToString(rss["description"]); var imgUrl = string.Empty; if (desc.Contains("<img")) { var str = desc.Split(new string[] { "<img" }, 2, StringSplitOptions.None)[1]; desc = str.Split(new string[] { ">" }, 2, StringSplitOptions.None)[1]; str = str.Split(new string[] { ">" }, 2, StringSplitOptions.None)[0]; if (str.Contains("\"")) { imgUrl = str.Split('\"')[1]; } else if (str.Contains("'")) { imgUrl = str.Split('\'')[1]; } else { str = str.Split('=')[1]; var str1 = str.Split('.')[0]; var str2 = str.Split('.')[1]; str2 = str2.Replace("/", "").Replace(" ", "").Replace("\"", "").Replace("'", ""); imgUrl = str1 + "." + str2; } } item[FieldsName.NewsList.InternalName.Description] = desc.Replace("-amp;", "&").Replace("&", "&").Replace("<", "<").Replace(">", ">").Replace(""", "\"").Replace("'", "'"); if (!string.IsNullOrEmpty(imgUrl)) { item[FieldsName.NewsList.InternalName.ImageThumb] = imgUrl; SPFieldUrlValue imgDsp = new SPFieldUrlValue(); imgDsp.Description = item.Title; imgDsp.Url = imgUrl; item[FieldsName.NewsList.InternalName.ImageDsp] = imgDsp; } adminWeb.AllowUnsafeUpdates = true; item.Update(); } catch (SPException ex) { Utilities.LogToULS(ex); } }
private static void Create_New_GFR_K(Microsoft.SharePoint.SPListItem item, string mask, SPList list, SPListItem klientItem) { string ct = "Generowanie formatek rozliczeniowych dla klienta"; int okresId = BLL.Tools.Get_LookupId(item, "selOkres"); SPListItem newItem = list.AddItem(); newItem["ContentType"] = ct; newItem["selKlient"] = klientItem.ID; newItem["selOkres"] = okresId; newItem["colMaskaSerwisu"] = mask; newItem.SystemUpdate(); }
private static int Create_KartaKontrolna(SPListItem task, string KEY, SPList list) { SPListItem newItem = list.AddItem(); newItem["KEY"] = KEY; newItem["selKlient"] = Get_LookupId(task, "selKlient"); newItem["selOkres"] = Get_LookupId(task, "selOkres"); BLL.Models.Klient k = new Models.Klient(task.Web, Get_LookupId(task, "selKlient")); Set_KartaKontrolna_InitValues(newItem, k); //ustaw CT if (k.TypKlienta == "KSH") newItem["ContentType"] = "Karta kontrolna KSH"; else newItem["ContentType"] = "Karta kontrolna KPiR"; newItem.SystemUpdate(); return newItem.ID; }
}//end useCaseUpdateItems static void useCaseAddInitialItems(SPList catsList, SPList cascomList) { try { //Console.WriteLine("NEWTRADOCTaskers Item Count = 0"); foreach(SPListItem catsListItem in catsList.Items)//iterate taskers items { //Console.WriteLine("CATS Item " + catsListItem); SPListItem addNEWTRADOCTaskersItem = cascomList.AddItem();//items to add to NEWTRADOCTaskers foreach (SPField taskersField in catsList.Fields)//iterate taskers fields { string getFieldTypes = taskersField.GetType().ToString();//get taskers field types string taskersInternalName = taskersField.InternalName;//get taskers internal names if (getFieldTypes.Contains("SPFieldText") && taskersInternalName != "_CopySource" && taskersInternalName != "_UIVersionString") //add single lines of text { //Copy Source/_CopySource and _UIVersionString/Version pertains to local list settings and should not copy over //Console.WriteLine("\tCATS Field Internal Name: " + taskersField.InternalName + "\n\tCATS Display Name: " + taskersField.Title + "\n\tValue: " + catsListItem[taskersInternalName]); addNEWTRADOCTaskersItem[taskersInternalName] = catsListItem[taskersInternalName]; } else if (getFieldTypes.Contains("SPFieldMultiLineText"))//add miltiple lines of text fields { addNEWTRADOCTaskersItem[taskersInternalName] = catsListItem[taskersInternalName]; //Console.WriteLine("\t\t\tUpdating " + cascomField.Title); } else if (getFieldTypes.Contains("SPFieldChoice"))//add choice fields { addNEWTRADOCTaskersItem[taskersInternalName] = catsListItem[taskersInternalName]; } else if (getFieldTypes.Contains("SPFieldBoolean") && taskersInternalName != "_HasCopyDestinations" && taskersInternalName != "_IsCurrentVersion")//add yes/no fields { //_HasCopyDestinations/_IsCurrentVersion pertains to local list settings addNEWTRADOCTaskersItem[taskersInternalName] = catsListItem[taskersInternalName]; } else if (getFieldTypes.Contains("SPFieldDateTime")) { addNEWTRADOCTaskersItem[taskersInternalName] = catsListItem[taskersInternalName]; } else if (getFieldTypes.Contains("SPFieldUser")) { Console.WriteLine("\t" + getFieldTypes); Console.WriteLine("\tCATS Field Internal Name: " + taskersField.InternalName + "\n\tCATS Display Name: " + taskersField.Title + "\n\tValue: " + catsListItem[taskersInternalName]); addNEWTRADOCTaskersItem[taskersInternalName] = catsListItem[taskersInternalName]; } }//end for Console.WriteLine("\n Item Updated"); addNEWTRADOCTaskersItem.Update(); ;//update content database }//end for } catch (Exception e) { Console.WriteLine(e.Message); Console.Read(); } }//end useCaseAddItems
private static void UpdateReportForMonth(SPList report, DateTime reportStart, SPListItemCollection monthlyCosts) { double monthlySum = 0; foreach (SPListItem cost in monthlyCosts) { monthlySum += (double)cost["Cost"]; } string reportsQueryString = string.Format( "<Where>" + "<Eq>" + "<FieldRef Name='{0}'></FieldRef>" + "<Value Type='DateTime'>{1}</Value>" + "</Eq>" + "</Where>", DelegationsFields.MonthIndicator.Name, SPUtility.CreateISO8601DateTimeFromSystemDateTime(reportStart)); SPQuery monthlyReportQuery = new SPQuery(); monthlyReportQuery.Query = reportsQueryString; SPListItemCollection monthlyReports = report.GetItems(monthlyReportQuery); if (monthlyReports.Count > 0) { var item = report.GetItemById((int)(monthlyReports[0]["ID"])); item[DelegationsFields.MonthlyCost] = monthlySum; item.Update(); } else { var item = report.AddItem(); item[DelegationsFields.MonthIndicator] = reportStart; item[DelegationsFields.MonthlyCost] = monthlySum; item.Update(); } }
public void TestInit() { using (SPSite site = new SPSite("http://sp2013test")) { using (SPWeb web = site.OpenWeb(webUrl)) { TestList = web.Lists.TryGetList(this.listName); if (TestList == null) { Guid listId = web.Lists.Add(this.listName, "Test list for SPQueryUtil querystring", SPListTemplateType.GenericList); web.Update(); TestList = web.Lists[listId]; TestList.Fields.Add("TextCol", SPFieldType.Text, false); TestList.Fields.Add("MultiTextCol", SPFieldType.Note, false); TestList.Fields.Add("NumberCol", SPFieldType.Number, false); TestList.Fields.Add("DateTimeCol", SPFieldType.DateTime, false); TestList.Fields.Add("BoolCol", SPFieldType.Boolean, false); TestList.Fields.Add("ChoiceCol", SPFieldType.Choice, false); TestList.Fields.Add("MultiChoiceCol", SPFieldType.MultiChoice, false); TestList.Fields.Add("GuidCol", SPFieldType.Guid, false); TestList.Fields.Add("UrlCol", SPFieldType.URL, false); TestList.Fields.Add("UserCol", SPFieldType.User, false); TestList.Update(); SPListItem textItem = TestList.AddItem(); textItem["TextCol"] = "text1"; textItem.Update(); SPListItem textItemMulti = TestList.AddItem(); textItemMulti["MultiTextCol"] = "Multi text"; textItemMulti.Update(); SPListItem numberItem = TestList.AddItem(); numberItem["NumberCol"] = 100; numberItem.Update(); SPListItem dateTimeCol = TestList.AddItem(); dateTimeCol["DateTimeCol"] = new DateTime(2000, 1, 1, 5, 10, 59); dateTimeCol.Update(); SPListItem boolItem = TestList.AddItem(); boolItem["BoolCol"] = true; boolItem.Update(); SPListItem choiceItem = TestList.AddItem(); choiceItem["ChoiceCol"] = "choice1"; choiceItem.Update(); var choicevalues = new SPFieldMultiChoiceValue(); choicevalues.Add("Green"); choicevalues.Add("Blue"); SPListItem chioceItemMulti = TestList.AddItem(); chioceItemMulti["MultiChoiceCol"] = choicevalues; chioceItemMulti.Update(); SPListItem guidItem = TestList.AddItem(); guidItem["GuidCol"] = new Guid("96D74029-8482-4C52-8C4F-4A4040A77BC5"); guidItem.Update(); SPListItem urlItem = TestList.AddItem(); urlItem["UrlCol"] = "http://www.google.com"; urlItem.Update(); //SPListItem userItem = TestList.AddItem(); //textItemMulti["UserCol"] = ""; //userItem.Update(); } } using (SPWeb web = site.OpenWeb(this.webUrl)) { TestList = web.Lists[this.listName]; } } }
private object CreateNewBatch(string batchName, SPList list) { SPListItem item = list.AddItem(); item["BatchName"] = batchName; item.Update(); return item.ID; }
private SPListItem EnsureListItem(SPList list, ListItemDefinition listItemModel) { // TODO, lazy to query // BIG TODO, don't tell me, I know that var currentItem = list.Items .OfType<SPListItem>() .FirstOrDefault(i => i.Title == listItemModel.Title); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioning, Object = currentItem, ObjectType = typeof(SPListItem), ObjectDefinition = listItemModel, ModelHost = list }); if (currentItem == null) { var newItem = list.AddItem(); newItem["Title"] = listItemModel.Title; InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = newItem, ObjectType = typeof(SPListItem), ObjectDefinition = listItemModel, ModelHost = list }); newItem.Update(); return newItem; } else { currentItem["Title"] = listItemModel.Title; InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = currentItem, ObjectType = typeof(SPListItem), ObjectDefinition = listItemModel, ModelHost = list }); currentItem.Update(); return currentItem; } }
}//end useCases() static void useCaseUpdateItems(SPList catsList, SPList cascomList, SPWeb webSite) { try { //we are going to add items for the first time in NEWTRADOC taskers here;we will break this into a seprate method to increase debugging simplicity if (cascomList.Items.Count == 0) { useCaseAddInitialItems(catsList, cascomList); }//add NEWTRADOC Taskers on initial push foreach (SPListItem catsListItem in catsList.Items)//iterate taskers items { //Console.WriteLine("CATS Item " + catsListItem); bool checkControlNumberExistsInCASCOM = false; string taskersPrimaryKey = catsListItem.Fields.GetField("Title").ToString(); Object taskersControlNumber = catsListItem[taskersPrimaryKey]; //Console.WriteLine("CATS Control Number " + taskersControlNumber); foreach (SPListItem cascomListItem in cascomList.Items)//iterate NEWTRADOCTaskers items { //Console.WriteLine("\tCASCOM Item " + cascomListItem); string NEWTRADOCTaskersprimaryKey = cascomListItem.Fields.GetField("Title").ToString(); Object NEWTRADOCTaskersControlNumber = cascomListItem[NEWTRADOCTaskersprimaryKey]; //Console.WriteLine("\tCASCOM Control Number " + NEWTRADOCTaskersControlNumber); if (Object.Equals(NEWTRADOCTaskersControlNumber, taskersControlNumber))//we are going to update the items here since they exist in NEWTRADOC taskers { DateTime d1 = new DateTime(1900, 05, 20); checkControlNumberExistsInCASCOM = true; //Console.WriteLine("\tCATS Control Number " + taskersControlNumber + " CASCOM Control Number " + NEWTRADOCTaskersControlNumber + " : " + checkControlNumberExistsInCASCOM); foreach (SPField taskersField in catsList.Fields)//iterate taskers fields { string getFieldTypes2 = taskersField.GetType().ToString();//get taskers field types string taskersInternalName2 = taskersField.InternalName;//get taskers internal names if (getFieldTypes2.Contains("SPFieldText") && taskersInternalName2 != "_CopySource" && taskersInternalName2 != "_UIVersionString" && taskersInternalName2 != "Title") //add single lines of text { //Copy Source/_CopySource and _UIVersionString/Version pertains to local list settings and should not copy over //Console.WriteLine("\t\tCATS Field Internal Name: " + taskersField.InternalName + "\n\tCATS Display Name: " + taskersField.Title + "\n\tValue: " + catsListItem[taskersInternalName2]); cascomListItem[taskersInternalName2] = catsListItem[taskersInternalName2]; } else if (getFieldTypes2.Contains("SPFieldMultiLineText"))//add miltiple lines of text fields { //Console.WriteLine("\t\tCATS Field Internal Name: " + taskersField.InternalName + "\n\tCATS Display Name: " + taskersField.Title + "\n\tValue: " + catsListItem[taskersInternalName2]); cascomListItem[taskersInternalName2] = catsListItem[taskersInternalName2]; } else if (getFieldTypes2.Contains("SPFieldChoice"))//add choice fields { cascomListItem[taskersInternalName2] = catsListItem[taskersInternalName2]; } else if (getFieldTypes2.Contains("SPFieldBoolean") && taskersInternalName2 != "_HasCopyDestinations" && taskersInternalName2 != "_IsCurrentVersion")//add yes/no fields { //_HasCopyDestinations/_IsCurrentVersion pertains to local list settings cascomListItem[taskersInternalName2] = catsListItem[taskersInternalName2]; } else if (getFieldTypes2.Contains("SPFieldDateTime")) { cascomListItem[taskersInternalName2] = catsListItem[taskersInternalName2]; } else if (getFieldTypes2.Contains("SPFieldUser")) { Console.WriteLine("\t" + getFieldTypes2); Console.WriteLine("\tCATS Field Internal Name: " + taskersField.InternalName + "\n\tCATS Display Name: " + taskersField.Title + "\n\tValue: " + catsListItem[taskersInternalName2]); cascomListItem[taskersInternalName2] = catsListItem[taskersInternalName2]; } else if (getFieldTypes2.Contains("SPFieldAttachments"))//add attachments { //addNEWTRADOCTaskersItem.Update();//might need an update to for attachments to recognize item /*SPAttachmentCollection catsAttachments = catsListItem.Attachments; //set cats attachment collection SPAttachmentCollection cascomAttachments = cascomListItem.Attachments; //set cascom attachment collection int numberOfCatsAttachments = catsAttachments.Count;//get number of cats attachments int numberOfCASCOMAttachments = cascomAttachments.Count;//get number of cascom attachments if (numberOfCatsAttachments > 0)// if any attachments exists { if (numberOfCASCOMAttachments > 0)//delete and add current attachments to refresh { Console.WriteLine("\t\tDeleting CASCOM attachments."); Console.WriteLine("\t\tNumber of CASCOM Attachments " + numberOfCASCOMAttachments); for (int j = 0; j < catsAttachments.Count; j++)//cats attachments { string path = catsAttachments.UrlPrefix + catsAttachments[j];//specify relative url for file location SPFile catsFile = webSite.GetFile(path);//cats file object string catsFileName = catsFile.Name;//cats file name cascomAttachments.Delete(catsFileName);//delete attachments Console.WriteLine("\t\tDeleting Attachment: " + catsFileName); //Console.WriteLine("\tAdding Attachments: " + catsFileName); }//end for }//end if numberOfCASCOMAttachments = cascomAttachments.Count; if (numberOfCASCOMAttachments == 0)//add attachments { Console.WriteLine("\t\tAdding CASCOM attachments."); Console.WriteLine("\t\tNumber of CASCOMAttachments " + numberOfCASCOMAttachments); for (int j = 0; j < catsAttachments.Count; j++)//cats attachments { string path = catsAttachments.UrlPrefix + catsAttachments[j];//specify relative url for file location SPFile catsFile = webSite.GetFile(path);//cats file object string catsFileName = catsFile.Name;//cats file name Console.WriteLine("\t\tAdding Attachment: " + catsFileName); byte[] binFile = catsFile.OpenBinary();//open file in binary format cascomAttachments.Add(catsFileName, binFile);//add files to cascom item }//end for }//end if }//end if*/ }//end if }//end for taskers fields Console.WriteLine("Updating Item."); cascomListItem.Update();//update content database }//end if }//end for //taskers items if (checkControlNumberExistsInCASCOM == false)//we are going to add items here since they do not exist in NEWTRADOC taskers { //Console.WriteLine("CATS Control Number DO Not EXIST in CASCOM -> " + taskersControlNumber); SPListItem addNEWTRADOCTaskersItem = cascomList.AddItem();//items to add to NEWTRADOCTaskers foreach (SPField taskersField in catsList.Fields)//iterate taskers fields { string getFieldTypes = taskersField.GetType().ToString();//get taskers field types string taskersInternalName = taskersField.InternalName;//get taskers internal names if (getFieldTypes.Contains("SPFieldText") && taskersInternalName != "_CopySource" && taskersInternalName != "_UIVersionString") //add single lines of text { //Copy Source/_CopySource and _UIVersionString/Version pertains to local list settings and should not copy over //Console.WriteLine("\tCATS Field Internal Name: " + taskersField.InternalName + "\n\tCATS Display Name: " + taskersField.Title + "\n\tValue: " + catsListItem[taskersInternalName]); addNEWTRADOCTaskersItem[taskersInternalName] = catsListItem[taskersInternalName]; } else if (getFieldTypes.Contains("SPFieldMultiLineText"))//add miltiple lines of text fields { addNEWTRADOCTaskersItem[taskersInternalName] = catsListItem[taskersInternalName]; //Console.WriteLine("\t\t\tUpdating " + cascomField.Title); } else if (getFieldTypes.Contains("SPFieldChoice"))//add choice fields { //Console.WriteLine("\t" + getFieldTypes); addNEWTRADOCTaskersItem[taskersInternalName] = catsListItem[taskersInternalName]; } else if (getFieldTypes.Contains("SPFieldBoolean") && taskersInternalName != "_HasCopyDestinations" && taskersInternalName != "_IsCurrentVersion")//add yes/no fields { //_HasCopyDestinations/_IsCurrentVersion pertains to local list settings addNEWTRADOCTaskersItem[taskersInternalName] = catsListItem[taskersInternalName]; } else if (getFieldTypes.Contains("SPFieldDateTime")) { addNEWTRADOCTaskersItem[taskersInternalName] = catsListItem[taskersInternalName]; } else if (getFieldTypes.Contains("SPFieldUser")) { Console.WriteLine("\t" + getFieldTypes); Console.WriteLine("\tCATS Field Internal Name: " + taskersField.InternalName + "\n\tCATS Display Name: " + taskersField.Title + "\n\tValue: " + catsListItem[taskersInternalName]); addNEWTRADOCTaskersItem[taskersInternalName] = catsListItem[taskersInternalName]; } else if (getFieldTypes.Contains("SPFieldAttachments"))//add attachments { //addNEWTRADOCTaskersItem.Update();//might need an update to for attachments to recognize item /*SPAttachmentCollection catsAttachments = catsListItem.Attachments; //set cats attachment collection SPAttachmentCollection cascomAttachments = cascomListItem.Attachments; //set cascom attachment collection int numberOfCatsAttachments = catsAttachments.Count;//get number of cats attachments int numberOfCASCOMAttachments = cascomAttachments.Count;//get number of cascom attachments if (numberOfCatsAttachments > 0)// if any attachments exists { if (numberOfCASCOMAttachments > 0)//delete and add current attachments to refresh { Console.WriteLine("\t\tDeleting CASCOM attachments."); Console.WriteLine("\t\tNumber of CASCOM Attachments " + numberOfCASCOMAttachments); for (int j = 0; j < catsAttachments.Count; j++)//cats attachments { string path = catsAttachments.UrlPrefix + catsAttachments[j];//specify relative url for file location SPFile catsFile = webSite.GetFile(path);//cats file object string catsFileName = catsFile.Name;//cats file name cascomAttachments.Delete(catsFileName);//delete attachments Console.WriteLine("\t\tDeleting Attachment: " + catsFileName); //Console.WriteLine("\tAdding Attachments: " + catsFileName); }//end for }//end if numberOfCASCOMAttachments = cascomAttachments.Count; if (numberOfCASCOMAttachments == 0)//add attachments { Console.WriteLine("\t\tAdding CASCOM attachments."); Console.WriteLine("\t\tNumber of CASCOMAttachments " + numberOfCASCOMAttachments); for (int j = 0; j < catsAttachments.Count; j++)//cats attachments { string path = catsAttachments.UrlPrefix + catsAttachments[j];//specify relative url for file location SPFile catsFile = webSite.GetFile(path);//cats file object string catsFileName = catsFile.Name;//cats file name Console.WriteLine("\t\tAdding Attachment: " + catsFileName); byte[] binFile = catsFile.OpenBinary();//open file in binary format cascomAttachments.Add(catsFileName, binFile);//add files to cascom item }//end for }//end if }//end if*/ }//end if }//end for taskers fields Console.WriteLine("Adding Item"); addNEWTRADOCTaskersItem.Update();//update content database }//end if }//end for taskers items }//end try catch (Exception e) { Console.WriteLine(e.Message); Console.Read(); } }//end useCaseUpdateItems