quicktype generates types and helper code for reading JSON in C#, Swift, TypeScript, Go, Objective-C, C++ and more. Customize online with advanced options, or download a command-line tool. VSCode Plugin
شما برای کار با دیتا در اندروید، کدامیک از روش های زیر را استفاده میکنید یا ترجیح می دهید؟
انتقال #F به Github
آدرس مخزن
ایجاد یک Fork جدید در GitHub
برای ارسال تغییرات انجام شده بر روی یک پروژه، نیاز است به صاحب یا مسئول آن مخزن در GitHub مراجعه و سپس درخواست دسترسی اعمال تغییرات را نمود. در این حالت، احتمال اینکه جواب منفی دریافت کنید، بسیار زیاد است. جهت مدیریت یک چنین مواردی، قابلیتی به نام ایجاد یک Fork پیش بینی شدهاست.
در بالای هر مخزن کد در GitHub، یک دکمه به نام Fork موجود است. بر روی آن که کلیک کنید، یک کپی از آن پروژه را به مجموعهی مخزنهای کد شما در GitHub اضافه میکند. بدیهی است در این حالت، مجوز ارسال تغییرات خود را به GitHub و در اکانت خود خواهید داشت. نحوهی اطلاع رسانی این تغییرات به صاحب اصلی این مخزن کد، ارسال همان PR یا Pull Request است.
دریافت مخزن کد Fork شده از GitHub به کمک Visual Studio
پس از اینکه Fork جدیدی را از پروژهای موجود ایجاد کردیم، نیاز است یک Clone یا کپی مطابق اصل آنرا جهت اعمال تغییرات محلی، تهیه کنیم. برای اینکار VS.NET را گشوده و به برگهی Team Explorer آن که در کنار Solution Explorer قرار دارد، مراجعه کنید.
در اینجا بر روی دکمهی Connect در نوار ابزار آن، کلیک کرده و در صفحهی باز شده، بر روی لینک Clone کلیک نمائید. در اینجا میتوان آدرس مخزن کد Fork شده را جهت تهیه یک Clone مشخص کرد؛ به همراه محلی که قرار است این Clone در آن ذخیره شود.
آدرس HTTPS وارد شده، در کنار تمام مخازن کد GitHub قابل مشاهده هستند:
پس از تکمیل این دو آدرس، بر روی دکمهی Clone کلیک نمائید. پس از پایان کار، اگر به آدرس محلی داده شده بر روی کامپیوتر خود مراجعه کنید، یک کپی از فایلهای این مخزن، قابل مشاهده هستند.
اعمال تغییرات محلی و ارسال آن به سرور GitHub
در ادامه، این پروژهی جدید را در VS.NET باز کرده و تغییرات خود را اعمال کنید. اکنون نوبت به ارسال این تغییرات به سرور GitHub است. برای این منظور به برگهی Team Explorer مراجعه کرده و بر روی دکمهی Home آن کلیک کنید. سپس گزینهی Changes را انتخاب نمائید:
در اینجا توضیحاتی را نوشته و سپس بر روی دکمهی Commit کلیک کنید.
پس از هماهنگ سازی محلی، اکنون نوبت به هماهنگ سازی این تغییرات با مخزن کد GitHub است. بنابراین بر روی لینک Sync در پیام ظاهر شده کلیک کنید و در صفحهی بعدی نیز بر روی دکمهی Sync کلیک نمائید:
اکنون اگر به پروژهی GitHub خود مراجعه کنید، این تغییر جدید قابل مشاهدهاست:
مطلع سازی صاحب اصلی مخزن کد از تغییرات انجام شده
تا اینجا کسی از تغییرات جدید انجام شدهی توسط ما باخبر نیست. برای اطلاع رسانی در مورد این تغییرات، به مخزن کد Fork شده که اکنون تغییرات جدید به آن ارسال شدهاند، مراجعه کنید. سپس در کنار صفحه بر روی لینک Pull request کلیک نمائید:
در اینجا بر روی دکمهی New pull request کلیک کنید:
در ادامه تغییرات ارسال شما نمایش داده خواهند شد. آنها را بررسی کرده و مجددا بر روی دکمهی Create pull request کلیک کنید:
در اینجا عنوان و توضیحاتی را وارد کرده و سپس بر روی دکمهی Create pull request کلیک نمائید:
یکی سازی تغییرات با مخزن اصلی
اکنون صاحب اصلی مخزن کد یک ایمیل را دریافت خواهد کرد؛ همچنین اگر به مخزن کد خود مراجعه نماید، آمار Pull requests دریافتی قابل مشاهده است:
پس از انتخاب یکی از آنها، لینکی برای بررسی تغییرات انجام شده و همچنین دکمهای برای یکی سازی آنها با پروژهی اصلی وجود دارد:
دریافت این تغییرات در مخزن کد محلی توسط صاحب اصلی پروژه
اکنون که این تغییرات با پروژهی اصلی Merge و یکی شدهاند، صاحب اصلی پروژه جهت تهیهی یک کپی محلی و بهبود یا تغییر آنها میتواند به صورت ذیل عمل کند:
ابتدا به برگهی Team explorer مراجعه کرده و بر روی دکمهی Home آن کلیک کنید. سپس گزینهی Unsynced commits را انتخاب نمائید. در صفحهی باز شده بر روی دکمهی Sync کلیک نمائید. به این ترتیب آخرین تغییرات را از مخزن کد GitHub به صورت خودکار دریافت خواهید کرد:
روی گزینهی Next کلیک کنید و در پنجرهای که باز میشود در قسمت Address نشانی وبسایتی که در بخش پیشین تولید کردیم و ممکن است شما در IIS افزوده باشید؛ قرار دهید و روی دکمهی GO بفشارید تا سرویس در کادر پایین افزوده شود. سپس در قسمت Namespace نامی مناسب برای فراخوانی سرویس وارد کنید آنگاه دکمهی OK را بفشارید.
از پنجرهی بازشده روی دکمهی Finish کلیک کنید. پس از مکثی کوتاه سرویس به همراه دو موجودیت آن درون Data Sources دیده خواهد شد. از آنطرف در Solution Explorer نیز در پوشهی Service References سرویس تعریفشده ارجاع داده خواهد گرفت.
از Data Sources روی tblNews کلیک کنید سپس آنرا کشیده و به روی فرم رها کنید. خواهید دید که یک DataGridView شامل همهی ویژگیهای موجودیت tblNews و یک Binding Navigator که با موجودیت tblNews در پیوند است و یک منبع داده به نام tblNewsBindingSource به صورت خودکار در فرم افزوده خواهد شد.
چیدمان فرم، رنگها، اندازهها و فونت را آنگونه که میپسندید تنظیم کنید. سپس ستونهایی که به آنها نیازی ندارید حذف یا پنهان کرده و عنوان ستونهای مانده را ویرایش کنید. کلیدهای افزودن، حذف و ذخیره را روی Navigator ایجاد کنید و بقیهی کلیدها را اگر به آن نیازی ندارید حذف کنید. البته میتوانید بنا به سلیقهی کاریتان یک Panel برای اینکار اختصاص دهید. در اینجا یک فرم ساده در نظر گرفته شده است:
اکنون نوبت به کدنویسی است. سورس فرم را بازکنید و نخست سرویس را به این صورت در جای مناسب تعریف کنید:
MyNewsService.MyNewsServiceClient MyNews = new MyNewsService.MyNewsServiceClient();
یک تابع کوچک برای تبدیل تاریخ میلادی به شمسی بنویسید سپس رویداد Load فرم را به این صورت بنویسید:
string MiladiToShamsi(DateTime MyDate) { System.Globalization.PersianCalendar pers = new System.Globalization.PersianCalendar(); return string.Format("{0}/{1}/{2}", pers.GetYear(MyDate), pers.GetMonth(MyDate).ToString("D2"), pers.GetDayOfMonth(MyDate).ToString("D2")); } private void Form1_Load(object sender, EventArgs e) { tblNewsBindingSource.DataSource = MyNews.GetAllNews().Select(p => new {p.tblNewsId, p.tblCategory.CatName, p.Title, p.Description, RegDate= MiladiToShamsi( p.RegDate) }); }
پیش از اجرای پروژه از Solution Explorer روی نام راه حل راستکلیک کنید و گزینهی Properties را انتخاب کنید. در پنجرهی بازشده تنظیمات زیر را انجام دهید:
این کار باعث میشود که به طور همزمان پروژهی وبسایت و ویندوز اجرا شود. اکنون پروژه را اجرا کنید. اگر با پیغام خطا روبهرو شدید؛ تگ Connection String را از App.Config پروژه WCF Library به Web.Config پروژه وبسایت کپی کنید. در این صورت پروژه به راحتی اجرا خواهد شد.
در بخش پسین پیرامون افزودن، ویرایش و حذف و برخی توضیحات برای توسعهی کار خواهم نوشت.
آسنکرون Repository
و اگر در متن مقاله ، عباراتی شبیه به C# وجود داشت ، باید چکار کرد ؟