Forum
Merhaba;
Sharepoint'te çok yeniyim ve elimde takibini yapmam gereken bir web sitesi var.
Sitede dış kullanıcıların şikayetlerini bildirdikleri bir sayfa mevcut. Bu şikayetler önce [email protected] ye gidiyor ve oradan da şikayetle ilgilenecek adrese düşüyor. Sorum şu ki bu adresteki [email protected] sikayet kelimesi portal olarak değişmesi gerekiyor. Visual Studio 2010 da ilgili kod olduğunu düşündüğüm kısım şöyle:
if (isValidNewItem(item))
{
messageBody = yeniSikayetSablonu(item.ID.ToString(),
item["SikayetTipi"].ToString(),
item.Title,
item["TCKimlik"].ToString(),
item["EPosta"].ToString(),
item["SikayetTarihi"].ToString(),
item["AdresTipi"].ToString(),
item["Adres"].ToString(),
item["SikayetDetayi"].ToString());
SPFieldLookupValue eposta = new SPFieldLookupValue(
item["SikayetKategorisi:EPosta"].ToString());
if (SPUtility.SendEmail(_rootWeb, true, false,
eposta.LookupValue, "Yeni Şikayet",
messageBody))
{
item["ZamanliIsDurumu"] = "YENİ UYARISI YAPILDI";
item.Update();
}
else
{
// Log error
logMessage += "Yeni ID=" + item.ID.ToString();
}
}
Anlamadığım item["SikayetKategorisi:EPosta"] kısmı nerede tutuluyor?? içeriği nerde nasıl değiştirebilirim??
Teşekkür ederimmm.
bunu Infopath ile kolayca yapabilirsiniz, ve bir is akisi, email adresleri AD den alacak, veya Infopath + C# ile de yaparsiniz, hangisi isinizi gorse, oyle ornekler cok, google amcadan sorun
Yapılmış olan var, ben sadece adres adında değişiklik yapacağım. Nerden yapacağımı bilemiyorum.
bu linklere bakin
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfieldlookupvalue.aspx
http://www.learningsharepoint.com/2011/03/31/addingupdatingretrivingspquery-lookup-fields-in-sharepoint/
--------------------------------------------------------------------------------------------------------------------------------------------
SPFieldLookupValue value = new SPFieldLookupValue(customer.ID, customer.ID.ToString());
order[lookupFld.Id] = value.ToString();
order.Update();
SPFieldLookupValue newValue = new SPFieldLookupValue(i, item["ID"].ToString());
myListItem["emp_id"] = newValue.ToString();
-----------------------------------------------------------------------
using Microsoft.SharePoint; using Microsoft.SharePoint.Administration; using Microsoft.SharePoint.WebControls; using Microsoft.Office.Server.ApplicationRegistry.Infrastructure; using Microsoft.SharePoint.Portal.WebControls; using Microsoft.Office.Server.ApplicationRegistry.MetadataModel;
private string UpdateListItem(SPListItem item, BusinessDataField bizDataField, LobSystemInstance sysinst, Entity entity, Microsoft.Office.Server.ApplicationRegistry.MetadataModel.View view, string[] secondaryBdcFieldNames, string[] secondaryWssFieldNames, string ObjectValueID) { string bdcFieldName = bizDataField.BdcFieldName; //string encodedId = null; object[] objArray = new object[] { ObjectValueID }; IList<object> identifierValues = null; object[] objArray2 = null; List<Field>.Enumerator enumerator; //encodedId = (string)item[bizDataField.RelatedField]; try { identifierValues = entity.FindSpecific(objArray, sysinst).GetIdentifierValues(); } catch (Exception ex) { return ex.Message; } objArray2 = new object[identifierValues.Count]; for (int i = 0; i < identifierValues.Count; i++) { objArray2[i] = identifierValues[i]; } item[bizDataField.RelatedField] = EntityInstanceIdEncoder.EncodeEntityInstanceId(objArray2); enumerator = view.Fields.GetEnumerator(); Microsoft.Office.Server.ApplicationRegistry.Runtime.IEntityInstance instance = entity.FindSpecific(objArray2, sysinst); Field field; string name; while (enumerator.MoveNext()) { field = enumerator.Current; name = field.Name; if (name == bdcFieldName) { item[bizDataField.InternalName] = Convert.ToString(instance.GetFormatted(field)); } for (int i = 0; i < secondaryBdcFieldNames.Length; i++) { if (secondaryBdcFieldNames[i] == field.Name) { item[secondaryWssFieldNames[i]] = Convert.ToString(instance.GetFormatted(field)); } } } return "Success"; }
function:
//Update business Data Field SPField fieldByInternalName = list.Fields.GetFieldByInternalName("Customer"); //This is the column name in the list if (!(fieldByInternalName is BusinessDataField)) { throw new BusinessDataListConfigurationException("The field Customer is not a business data field"); } BusinessDataField bizDataField = (BusinessDataField)fieldByInternalName; string[] secondaryFieldsNames = bizDataField.GetSecondaryFieldsNames(); string[] secondaryWssFieldNames = new string[0]; string property = bizDataField.GetProperty("SecondaryFieldWssNames"); secondaryWssFieldNames = property.Split(new char[] { ':' }); sysinst = ApplicationRegistry.GetLobSystemInstanceByName(bizDataField.SystemInstanceName); entity = sysinst.GetEntities()[bizDataField.EntityName]; specificFinderView = entity.GetSpecificFinderView(); //listItem is a reference to SPListItem that you want to add or update //txtCustomer.Text.Trim() is the identity of the BDC that you want to select string Message = UpdateListItem(listItem, bizDataField, sysinst, entity, specificFinderView, secondaryFieldsNames, secondaryWssFieldNames, txtCustomer.Text.Trim()); if (!Message.Equals("Success")) { lblMessage.Text = "Customer Not Found"; }
Olmadi o kodu veren arkadasle konusun.
İlginize çok teşekkür ederim. İnceliyorumm.