Tuesday, March 24, 2009

Generate Unique ID for InfoPath form

We are going to generate a Unique ID for each InfoPath form using a SharePoint list. We will then use this ID as the unique filename.
1. Create a SharePoint list with a key column:


2. Each time we load the InfoPath form, we will grab the key and then increment the key by 1:
XPathNavigator xNav = MainDataSource.CreateNavigator();

XPathNavigator nodeTermid = xNav.SelectSingleNode("my:myFields/my:TermID",
NamespaceManager);

if (nodeTermid.InnerXml == "0")
{

string termid = getTermID();
nodeTermid.SetValue(termid);
….
}


private string getTermID()
{
string termSite = ConfigurationManager.AppSettings["url_termsite"].ToString();
string termIDListName = ConfigurationManager.AppSettings["list_termid"].ToString();
string termIDKey = string.Empty;

SPSite mysite = null;
SPWeb site = null;

try
{
mysite = new SPSite(termSite);
site = mysite.RootWeb;
site.AllowUnsafeUpdates = true;

SPList list = site.Lists[termIDListName];

SPQuery query = new SPQuery();
string queryText = "<Where><Eq><FieldRef Name='{0}'" +
"/><Value Type='Text'>{1}</Value></Eq></Where>";

queryText = string.Format(queryText, "Title", "termid");

query.Query = queryText;


SPListItemCollection results = list.GetItems(query);
foreach (SPListItem item in results)
{
termIDKey = item["key"].ToString();
}

int newID = Convert.ToInt32(termIDKey) + 1;

UpdateFieldValues(termIDListName, "key", newID.ToString(), "Title", "termid");

return termIDKey;
}
catch (Exception ex)
{

throw ex;
}
finally
{
if (mysite != null) mysite.Dispose();
if (site != null) site.Dispose();
}
}

public static void UpdateFieldValues(string listName, string attribute, string attrValue,
string filterField, string filterValue)
{
SPSite mysite = null;
SPWeb site = null;

try
{

mysite = new SPSite(ConfigurationManager.AppSettings["url_termsite"].ToString());
site = mysite.RootWeb;
site.AllowUnsafeUpdates = true;

SPList list = site.Lists[listName];

SPQuery query = new SPQuery();
string queryText = "<Where><Eq><FieldRef Name='{0}'" +
"/><Value Type='Text'>{1}</Value></Eq></Where>";

queryText = string.Format(queryText, filterField, filterValue);

query.Query = queryText;

SPListItemCollection results = list.GetItems(query);
foreach (SPListItem item in results)
{

item[attribute] = attrValue;
item.UpdateOverwriteVersion();
}

}
catch (Exception ex)
{
throw ex;
}
finally
{
if (mysite != null) mysite.Dispose();
if (site != null) site.Dispose();
}
}

8 comments:

Anonymous said...

hmm. love this ..

Anonymous said...

All in due time.

Anonymous said...

I can recommend.

Anonymous said...

, melina perez nude, 932756, lori loughlin nude, qscqe, melina kanakaredes nude, 606117, jamie lee curtis naked, 223787,

Anonymous said...

, freida pinto nude, 8-PPP,

Anonymous said...

Битторрент трекер KINORELIZ.NET предоставляет возможность бесплатно скачать бесплатно торрент фильмы, музыку, игры, книги, программы, документацию. Торрент трекер - отличный вариант ускорить просмотр кино или прослушивание музыки.

KINORELIZ NET: [url=http://kinoreliz.net]торрент скачать[/url]

Anonymous said...

Битторрент трекер KINORELIZ.NET предоставляет шанс абсолютно бесплатно загрузить бесплатно торрент фильмы, музыку, игры, книги, программы, документацию. Бесплатный торрент трекер - отличный вариант ускорить просмотр кино или прослушивание мелодий.

KINORELIZ.NET Торрент трекер: [url=http://kinoreliz.net]бесплатный торрент трекер[/url]

Anonymous said...

Наша компания осуществляет помощь в оформлении пропусков для грузового транспорта на территорию города Москвы. Мы оформляем пропуск "СК" - действует на всей территории Москвы, пропуск "ТТК" - действует в пределах Третьего транспортного кольца, пропуск "МКАД" - действует в пределах МКАД, без права проезда по ТТК и заезда в пределы ТТК. У нас огромный опыт официального оформления пропусков на грузовой транспорт в Москву на МКАД, ТТК, в центр и Садовое кольцо. Гарантируем качественное предоставление услуг оформления и получение пропуска без отказов. Наши квалифицированные специалисты оформят документы на пропуск в Москву с занесением в электронный реестр. Также предоставляем полную информацию о оформляемых нами пропусках, сроках и границах действия, ограничения движения по Москве. Персонал компании максимально быстро работает с таким видом услуг, как оформить пропуск в Москву.
Multilogix.Ru - [url=http://multilogix.ru]Ограничения движения по Москве[/url]