بزنس سلسہ مناظر:
ایک طریقہ ہے کہ صارفین کو درست خرید ریقاساٹانس تیزی سے داخل کرنے کے قابل بناتا ہے فراہم کرنے.
کاروباری مسائل:
وصول کار کئی سو دکانداروں کے ساتھ کاروبار کرتا ہے.
دکانداروں "کی قسم ہیں ۔" مخصوص. اس کا مطلب ہے کہ ایک خوانچہ فروش خاتون کمپیوٹر ساز و سامان کی فروخت (مثلا. ڈیل) یا دفتر کی فراہمی (مثلا. سٹاپلاس).
ہم آخر صارفین جو ایک جائز وینڈر خرید ریقاساٹانس منتخب کریں بنائیں کیسے ان ایبل کروں?
کاروبار کا حل:
"قسم" کے ذریعے نظام میں دکانداروں کا فرق.
"قسم منتخب کرنے کے لیے صارفین کو فعال کریں" کی مصنوعات اور پھر مناسب دکانداروں کا فلٹر شدہ سیٹ فراہم کرتے ہیں.
تکنیکی حل:
ایک انفوپیٹہ فارم کہ آن لائن داخل کرنے کے لیے اہل بناتی ہے، صارفین ریقاساٹانس خریدنے ڈیزائن کیا گیا ہے.
دو انفوپیٹہ انتخاب فہرستیں وینڈر انتخاب کنٹرول. اول, صارف کو ایک "خرید قسم" منتخب کرتا ہے. یہ صرف دکانداروں کہ اس خریداری کی قسم کے لئے فروخت پر مشتمل کرنے کے لیے ایک دوسرا انتخاب فہرست کی حدود. یہ ایک کلاسک جھرن ڈراپ-ڈاؤن ہے ۔.
دکانداروں کو کائی وینڈر اوصاف کہ نام کے لیے مخصوص کالم کے ساتھ مخصوص فہرست میں ذخیرہ شدہ ہیں, پتہ اور خاص طور پر "قسم".
اپنی مرضی کے مطابق وینڈر فہرست کے ذریعے نافذ کرنا ایک انفوپیٹہ کلائنٹ جو بسم کرنے کے لئے ایک ویب سروس اٹیراٹیس, دکانداروں سے صرف ایک فراہم کردہ "قسم" مشابہ واپس کر رہا ہے ۔.
ویب خدمت انفوپیٹہ فارم کے ذریعے اورکسی.
سیکھے گئے اسباق:
- اول, یہ اس راستے میں جانے کے لئے ضروری لگتا ہے. میں مکمل طور پر انفوپیٹہ کے اندر اندر فلٹرنگ کرتے ہیں اور کسی بھی ویب سروس کی فعالیت یہاں نہیں بنا ہونے کو ترجیح دی ہو گی. تاہم, فارم پیش کار مطلوبہ فلٹر کاری کی صلاحیت نہیں فراہم کرتا ہے. ہم ایک قاعدہ پر رکھ سکتے ہیں ایک "کی قسم" قسم کے وینڈر طلب دوبارہ کھولنے کی شکل میں انتخاب کی فہرست, لیکن ہم صحیح طور پر کام کرنے کے لئے حاصل نہیں کر سکتا. لہذا, یہ ویب خدمت پر عمل درآمد کے لیے ضروری تھا ۔.
- یہ ایک کلاسک "جھرن انتخاب فہرست ہے" مسئلہ انفوپیٹہ میں پیش کار دنیا بناتی ہے اور جو اس مسئلے کو حل کرنے کے طریقہ کی وضاحت کئی اچھی مثالیں ہیں وہاں سے باہر.
- ایک خالی قدر وینڈر فہرست میں کالم کے لیے اس طرح حوالہ دیا گیا ہے جب ایک خالی سلک واپس نہیں کرتی ۔: انیاٹیم[وینڈر نام""]. اس کے بجائے, یہ ایک کالعدم واپس کرتا ہے ۔.
کچھ دیگر نوٹ:
- میں ایک لڑی واپس[] دکانداروں کے کیونکہ میں ایک آرریلاسٹ واپس لینے میں کچھ مشکل تھا. میں اس وقت یا اس کے اوپر کا مقابلہ کرنے کی رغبت نہیں اور انفوپیٹہ اس کے بارے میں کی جارہی تھی. یہ, کورس کے, ایک مصنوعی حد دکانداروں کی کل تعداد پر رکھتا ہے ۔. یہ بھی مجھے ایک تراشیں نافذ کرنے پر مجبور کیا() طریقہ پر لڑی جس کا مجھے لوٹنے کے خیال سے نفرت ہے کیونکہ واپس 100 کے معدوم دکانداروں کی. انفوپیٹہ کی پرواہ نہیں کرتا, لیکن یہ میری ناگگاد. (پھر, یہ آرریلسٹس پر انفوپیٹہ کی لڑائی سے زیادہ آسان تھا ۔).
- میں ایک گیٹسپیکافاکواندوربینمی نافذ() فعل بھی, جو سبق آموز ہو سکتا ہے.
کوڈ:
کا استعمال کرتے ہوئے سسٹم;
کا استعمال کرتے ہوئے System.Web;
کا استعمال کرتے ہوئے System.Web.Services;
کا استعمال کرتے ہوئے System.Web.Services.Protocols;
کا استعمال کرتے ہوئے Microsoft.SharePoint;
کا استعمال کرتے ہوئے System.Configuration;
/// <خلاصہ>
/// وینڈر سروس: جو آج کی طرف سے ایک انفوپیٹہ وصول کار فارم فنا ہیں فروشندہ سے متعلق خدمات فراہم کرتا ہے.
///
/// تاریخ:
/// ——–
/// 07/24/07: ابتدائی ترمیز, Paul J. کونچانگو کے سنسنی خیز گیون روز.
///
/// </خلاصہ>
[WebService(نام جگہ = "http://www.conchango.com/")]
[ویبسرواکباندانگ(کونفورمسٹو = وساپروفال.BasicProfile1_1)]
عوامی کلاس واندورسرواسی : System.Web.Services.WebService
{
/// <خلاصہ>
/// مسوس کی طرف سے برقرار رکھا ہوا ہے ایک اپنی مرضی کے مطابق sharepoint فہرست سے ایک وینڈر کی نمائندگی کرتا ہے.
/// </خلاصہ>
عوامی کلاس فروشندہ
{
عوامی فروشندہ() { }
عوامی فروشندہ(سپاٹم انیاٹیم)
{
اگر (! (انیاٹیم[وینڈر نام""] == صفر)) واندورنمی = انیاٹیم[وینڈر نام""].ToString();
اگر (! (انیاٹیم["خطاب 1"] == صفر)) VendorAddress1 = انیاٹیم["خطاب 1"].ToString();
اگر (! (انیاٹیم["2 پتا جات"] == صفر)) VendorAddress2 = انیاٹیم["2 پتا جات"].ToString();
اگر (! (انیاٹیم["شہر"] == صفر)) واندورکاٹی = انیاٹیم["شہر"].ToString();
اگر (! (انیاٹیم["وینڈورفونی"] == صفر)) وینڈورفونی = انیاٹیم["وینڈورفونی"].ToString();
اگر (! (انیاٹیم["پرچاسیٹیپی"] == صفر)) وینڈورٹیپی = انیاٹیم["پرچاسیٹیپی"].ToString();
اگر (! (انیاٹیم["ریاست"] == صفر)) واندورستاٹی = انیاٹیم["ریاست"].ToString();
اگر (! (انیاٹیم["زپ"] == صفر)) واندورزاپ = اناتاٹیم["زپ"].ToString();
اگر (!(انیاٹیم["فیکس"] == صفر)) وینڈورفن = اناتاٹیم["فیکس"].ToString();
اگر (!(انیاٹیم["سالیسریپنمی"] == صفر)) واندورسالیسریپنمی = انیاٹیم["سالیسریپنمی"].ToString();
واندوریٹیماد = initItem.ID; // منفرد شناخت کائی کے ذریعے برقرار رکھا ہوا ہے ۔.
}
عوامی INT واندوریٹیماد;
عوامی سٹرنگ واندورنمی;
عوامی سٹرنگ VendorAddress1;
عوامی سٹرنگ VendorAddress2;
عوامی سٹرنگ واندورکاٹی;
عوامی سٹرنگ واندورستاٹی;
عوامی سٹرنگ واندورزاپ;
عوامی سٹرنگ وینڈورفونی;
عوامی سٹرنگ وینڈورٹیپی;
عوامی سٹرنگ واندورسالیسریپنمی;
عوامی سٹرنگ وینڈورفن;
}
عوامی واندورسرواسی () {
//بلاک بے تبصرہ اجزاء کا استعمال کرتے ہوئے اگر مندرجہ ذیل لائن ڈیزائن
//اناٹاالازیکومپونینٹ();
}
نجی فروشندہ[] گانریٹٹیستواندور()
{
فروشندہ[] ریسلٹلاسٹ;
ریسلٹلاسٹ = نئے فروشندہ[100];
فروشندہ v;
v = نئے فروشندہ();
v.VendorAddress1 = "v1_address1";
v.VendorAddress2 = "v1_address2";
v.VendorCity = "v1_city";
v.VendorName = "v1_vendorname";
v.VendorPhone = "v1_vendorphone";
v.VendorState =
v.VendorType = "v1_type";
v.VendorZip = "v1_zip";
ریسلٹلاسٹ[0] v =;
v = نئے فروشندہ();
v.VendorAddress1 = "v2_address1";
v.VendorAddress2 = "v2_address2";
v.VendorCity = "v2_city";
v.VendorName = "v2_vendorname";
v.VendorPhone = "v2_vendorphone";
v.VendorState = "v2_st";
v.VendorType = "v2_type";
v.VendorZip = "v2_zip";
ریسلٹلاسٹ[1] v =;
v = نئے فروشندہ();
v.VendorAddress1 = "v3_address1";
v.VendorAddress2 = "v3_address2";
v.VendorCity = "v3_city";
v.VendorName = "v3_vendorname";
v.VendorPhone = "v3_vendorphone";
v.VendorState = "v3_st";
v.VendorType = "v3_type";
v.VendorZip = "v3_zip";
ریسلٹلاسٹ[2] v =;
واپس ریسلٹلاسٹ;
}
[ویبمیٹہود]
عوامی فروشندہ گیٹسپیکافاکواندوربید(INT واندورید)
{
سٹرنگ سپواندورساٹینمی; // اصل کائی سائٹ وینڈر مخصوص فہرست کے لیے میزبان کا نام.
سٹرنگ سپواندورلسٹناما; // دکانداروں کی حامل اصل کائی فہرست کا نام.
سپواندورساٹینمی = کونفاگوراٹاونسیٹنگس.اپپسیٹنگس["واندورلاستوسٹنگساٹی"].ToString();
سپواندورلسٹناما = کونفاگوراٹاونسیٹنگس.اپپسیٹنگس["واندورلاسٹ"].ToString();
کا استعمال کرتے ہوئے (SPSite سائٹ = نئے SPSite(سپواندورساٹینمی))
{
کا استعمال کرتے ہوئے (SPWeb ویب سائٹ = ۔ اوپانواب())
{
SPList کوررانٹلاسٹ = جال ۔ فہرستیں[سپواندورلسٹناما];
سپاٹم سپکافکاٹیم = currentList.Items[واندورید];
واپس نئے فروشندہ(سپکافکاٹیم);
} // سپویب ویب کا استعمال کرتے ہوئے = site.openweb()
} // سپساٹی ویب سائٹ کو استعمال کرتے ہوئے نئے سپساٹی =("http://مقامی میزبان کا میزوہو")
}
[ویبمیٹہود]
// یہ فرض کر لیتی ہے کہ وینڈر نام منفرد ہے, ایک تجارتی نقطہ نظر سے
عوامی فروشندہ گیٹسپیکافاکواندوربیواندورنمی(سٹرنگ واندورنمی)
{
سٹرنگ سپواندورساٹینمی; // اصل کائی سائٹ وینڈر مخصوص فہرست کے لیے میزبان کا نام.
سٹرنگ سپواندورلسٹناما; // دکانداروں کی حامل اصل کائی فہرست کا نام.
سپواندورساٹینمی = کونفاگوراٹاونسیٹنگس.اپپسیٹنگس["واندورلاستوسٹنگساٹی"].ToString();
سپواندورلسٹناما = کونفاگوراٹاونسیٹنگس.اپپسیٹنگس["واندورلاسٹ"].ToString();
کا استعمال کرتے ہوئے (SPSite سائٹ = نئے SPSite(سپواندورساٹینمی))
{
کا استعمال کرتے ہوئے (SPWeb ویب سائٹ = ۔ اوپانواب())
{
SPList کوررانٹلاسٹ = جال ۔ فہرستیں[سپواندورلسٹناما];
foreach (سپاٹم واندوریٹیم میں currentList.Items)
{
اگر (واندوریٹیم[وینڈر نام""] == صفر) جاری;
اگر (واندوریٹیم[وینڈر نام""].ToString().مساوی(واندورنمی))
واپس نئے فروشندہ(واندوریٹیم);
}
فروشندہ v = نئے فروشندہ();
v.VendorPhone = "نہیں ملا: " + واندورنمی;
واپس v;
واپس صفر;
} // سپویب ویب کا استعمال کرتے ہوئے = site.openweb()
} // سپساٹی ویب سائٹ کو استعمال کرتے ہوئے نئے سپساٹی =("http://مقامی میزبان کا میزوہو")
} // طریقہ
[ویبمیٹہود]
عوامی فروشندہ[] گیٹواندورسفٹیپی (سٹرنگ فالٹرٹیپی)
{
سٹرنگ سپواندورساٹینمی; // اصل کائی سائٹ t کے لیے میزبان کا نام
اس نے فروشندہ مخصوص فہرست.
سٹرنگ سپواندورلسٹناما; // دکانداروں کی حامل اصل کائی فہرست کا نام.
سپواندورساٹینمی = کونفاگوراٹاونسیٹنگس.اپپسیٹنگس["واندورلاستوسٹنگساٹی"].ToString();
سپواندورلسٹناما = کونفاگوراٹاونسیٹنگس.اپپسیٹنگس["واندورلاسٹ"].ToString();
فروشندہ[] ریسلٹلاسٹ;
INT واندوراند = 0;
ریسلٹلاسٹ = نئے فروشندہ[1000];
// فہرست کے ساتھ طے شدہ دوستانہ پیغام کی ابتدا.
فروشندہ v = نئے فروشندہ();
v.VendorName = "اس فہرست کو آباد کرنے کے لیے ایک وینڈر قسم منتخب کریں ۔";
ریسلٹلاسٹ[0] v =;
// لوئر کیس کے بعد آسان سلک مقابلے کے لئے فلٹر بدلیں.
فالٹرٹیپی = filterType.ToLower();
// "ٹیسٹ" فلٹر کی قسم منظور ہونے کی صورت ہے, کچھ سادہ ڈیٹا نکالیں.
#خطے قسم فلٹر "ٹیسٹ ="
اگر (filterType.Equals("ٹیسٹ"))
واپس گانریٹٹیستواندور();
#endregion
اگر (سچ)
{
کا استعمال کرتے ہوئے (SPSite سائٹ = نئے SPSite(سپواندورساٹینمی))
{
کا استعمال کرتے ہوئے (SPWeb ویب سائٹ = ۔ اوپانواب())
{
v = صفر;
SPList کوررانٹلاسٹ = جال ۔ فہرستیں[سپواندورلسٹناما];
// وینڈر فہرست میں تمام اشیاء کے ذریعے دہرانا.
foreach (سپاٹم واندوریٹیم میں currentList.Items)
{
سٹرنگ لوورواندورٹیپی;
لورواندورٹیپی = واندوریٹیم["پرچاسیٹیپی"].ToString().ToLower();
لورواندورٹیپی = lowerVendorType.Substring(3);
اگر (lowerVendorType.Equals(فالٹرٹیپی))
{
ریسلٹلاسٹ[واندوراند ] = نئے فروشندہ(واندوریٹیم);
}
} // فہرست میں تمام دکانداروں thru اٹراٹانگ
واپس ٹرامواندورآرری(واندوراند, ریسلٹلاسٹ);
// ریسلٹلاسٹ کی واپسی;
} // سپویب ویب کا استعمال کرتے ہوئے = site.openweb()
} // سپساٹی ویب سائٹ کو استعمال کرتے ہوئے نئے سپساٹی =("http://مقامی میزبان کا میزوہو")
} // اگر سچ ہے تو
واپس صفر;
}
نجی فروشندہ[] ٹرامواندورآرری(INT نیوسای, فروشندہ[] اراگانالواندورآرری)
{
فروشندہ[] ٹرامادآرری;
اگر (نیوسای = = 0) نیوسای = 1;
ٹرامادآرری = نئے فروشندہ[نیوسای];
INT کوررانساونٹیر = 0;
کے لئے (کوررانساونٹیر = 0; کوررانساونٹیر < نیوسای; کوررانساونٹیر )
{
ٹرامادآرری[کوررانساونٹیر] اراگانالواندورآرری =[کوررانساونٹیر];
}
واپس ٹرامادآرری;
}
}