این سایت برای ie9 طراحی نشده است

لطفا دستگاه خود را بچرخانید.

اضافه کردن contact در Microsoft Dynamic CRM توسط Net Framework.

۲۹ مرداد ۱۳۹۴ نگین ربیعی
بدون دیدگاه

در این قسمت میخواهیم چگونگی اضافه کردن یک Contatct را در Microsoft Dynamic CRM مورد مطالعه قرار دهیم .

در قسمت  گذشته اتصال به Microsoft Dynamic CRM را توضیح دادیم ،حال با استفاده از کلاس Xrm که در قسمت قبل ایجاد کردیم می توانیم یک Contact جدید در Dynamic CRM ایجاد نماییم .

var xrm = new XrmServiceContext("Xrm");

با ایجاد یک شی از کلاس Contact می توانیم به property های آن مقادیر دلخواهمان را نسبت دهیم.

var myContact= new Xrm.Contact
{
FirstName = "Allison",
LastName = "Brown",
Address1_Line1 = "23 Market St.",
Address1_City = "Sammamish",
Address1_StateOrProvince = "MT",
Address1_PostalCode = "99999",
Telephone1 = "12345678",
EMailAddress1 = "allison.brown@example.com"
};

همه فیلدها را بصورت مستقیم نمی توانیم مقداردهی کنیم برای مثال اگر یک فیلد در Contact ، بصورت انتخابی باشد یعنی باید ازیک لیست یک مقدار را برگزینیم و در نهایت ID آنرا که از جنس GUID  می باشد به عنوان مقدار به فیلد مورد نظر بدهیم

برای فهم بهتر این موضوع  مثالی مطرح می کنیم ،می خواهیم برای فیلد Parent Account یک مقدار را از لیست انتخاب کنیم .برای انجام این امر باید از لیست تمام Account هایی که در اختیار داریم ، Account مورد نظر خودمون را انتخاب کنیم .

var account = xrm.AccountSet.ToList();

کد بالا یک لیست از تمامی account ها رابر می گرداند  برای انتخاب یک مورد از لیست بالا ،  با قید شرط ، account مورد نظر خود را انتخاب می کنیم .

var Parent_AccountId = account.Where(t => t.Name=="My Account").Select(t => t.Id).First();

“My Account” از جنس string و نام Account مورد نظر ما میباشد .  Parent_AccountId از جنس GUID می باشد و  Id اولین Account از لیست account را که نامش برابر “My Account”است  را بر می گرداند .

در اینجا ما Account ، Id مورد نظر خود را بدست آوردیم. در قدم بعد باید این مقدار را به Contact خود نسبت دهیم .

در اینجا بایدبا  کلاس CrmEntityReference  آشنا شویم   این کلاس در Microsoft.Xrm.Client ، namespace قرار دارد و با دادن logicalName و id خود می توانیم به فیلد مورد نظر ،مقدار دهیم .

در مثال بالا account ، Id  ما مقدار  Parent_AccountId ست و Id یک Account می باشد بنابراین logicalName ما account است.

 

myContact.ParentAccountId = new CrmEntityReference("account", Parent_AccountId);

 

در ادامه باید مقادیر خود را ذخیره نماییم ، که با نوشتن کد زیر contact جدیدی که ساختیم به Dynamic CRM ما اضافه می شود.

xrm.AddObject(myContact);
xrm.SaveChanges();

تبریک ! شما موفق به ایجاد یک contact  جدید در Dynamic CRM توسط Net Framework. شدید !!