eitaa logo
پروژه ASP.Net Core MVC (وب و سی شارپ)
120 دنبال‌کننده
168 عکس
38 ویدیو
376 فایل
❁﷽❁ آموزش 📖 برنامه نویسی ASP.Net Core MVC (وب و سی شارپ) Admin: @alialirezapanahi برنامه نویسی برنامه نویسی سی شارپ eitaa.com/sisharpapp برنامه نویسی وب eitaa.com/aspdatnet ویراستی virasty.com/alialirezapanahi آپارات aparat.com/alialirezapanahi
مشاهده در ایتا
دانلود
پروژه ASP.Net Core MVC (وب و سی شارپ)
پروژه فروشگاه این قسمت زرین پال با iisExpress بروید و پورت 44350 میباشد تا برگشت به پروژه از بانک تس
DbSet<Cart> Carts { get; set; } DbSet<CartItem> CartItems { get; set; } DbSet<RequestPay> RequestPays { get; set; } این خطوط کد در کلاس IDataBaseContext مربوط به مدیریت موجودیت‌های پایگاه داده است. DbSet<T> نشان‌دهنده جدول یا مجموعه‌ای از داده‌ها در پایگاه داده است که نوع آن T مشخص می‌کند. در اینجا توضیحات مربوط به هر یک از این خطوط آورده شده است: 1. DbSet<Cart> Carts { get; set; }: این خط کد مشخص می‌کند که کلاس Cart به یک جدول به نام Carts در پایگاه داده مرتبط است. هر رکورد در این جدول نماینده‌ی یک سبد خرید است. شامل اطلاعات مربوط به کاربر، آیتم‌های موجود در سبد خرید، شناسه مرورگر و وضعیت تکمیل شدن خرید می‌باشد. 2. DbSet<CartItem> CartItems { get; set; }: این خط کد مشخص می‌کند که کلاس CartItem به یک جدول به نام CartItems در پایگاه داده مرتبط است. هر رکورد در این جدول نشان‌دهنده یک آیتم موجود در یک سبد خرید است. شامل اطلاعاتی مانند محصول مربوطه، تعداد، قیمت و ارتباط آن با یک سبد خرید مشخص می‌باشد. 3. DbSet<RequestPay> RequestPays { get; set; }: این خط کد مشخص می‌کند که کلاس RequestPay به یک جدول به نام RequestPays در پایگاه داده مرتبط است. هر رکورد در این جدول نشان‌دهنده‌ی یک درخواست پرداخت است. شامل اطلاعاتی مانند مبلغ پرداخت، شناسه یکتا (Guid)، وضعیت پرداخت (IsPay)، تاریخ پرداخت (PayDate) و شناسه‌های تراکنش (Authority و RefId) است. کارکرد کلی این خطوط: این خطوط به Entity Framework اجازه می‌دهند تا با استفاده از کلاس‌ها (مانند Cart, CartItem, و RequestPay) به پایگاه داده متصل شود و عملیات‌هایی مانند ذخیره، بازیابی، به‌روزرسانی و حذف داده‌ها را انجام دهد. هر DbSet یک نماینده از جدول مربوطه در پایگاه داده است. نقاط قوت طراحی: یکپارچگی و استفاده‌ی ماژولار: تمام موجودیت‌ها در قالب DbSet تعریف شده‌اند که تعامل با پایگاه داده را ساده و ماژولار می‌کند. انعطاف‌پذیری بالا: با استفاده از DbSet‌ها، می‌توان به راحتی داده‌ها را فیلتر کرد و عملیات‌های مختلف انجام داد. سادگی در خوانایی: نام‌های انتخاب‌شده برای DbSet‌ها (مانند Carts, CartItems, RequestPays) کاملاً واضح و مرتبط با کاربردشان هستند. جمع‌بندی: این تعریف‌ها نقطه‌ای کلیدی برای مدیریت داده‌های مرتبط با سبد خرید (Cart و CartItem) و درخواست‌های پرداخت (RequestPay) در سیستم شما هستند. طراحی آن‌ها کاملاً استاندارد و مناسب برای کاربرد موردنظر است.
پروژه ASP.Net Core MVC (وب و سی شارپ)
پروژه فروشگاه این قسمت زرین پال با iisExpress بروید و پورت 44350 میباشد تا برگشت به پروژه از بانک تس
توضیح کد در DataBaseContext : DbContext, IDataBaseContext public DbSet<Cart> Carts { get; set; } public DbSet<CartItem> CartItems { get; set; } public DbSet<RequestPay> RequestPays { get; set; } modelBuilder.Entity<Cart>().HasQueryFilter(p => !p.IsRemoved); modelBuilder.Entity<CartItem>().HasQueryFilter(p => !p.IsRemoved); modelBuilder.Entity<RequestPay>().HasQueryFilter(p => !p.IsRemoved); این کد مربوط به تنظیمات کلاس DataBaseContext است که برای تعامل با پایگاه داده طراحی شده و از DbContext در Entity Framework ارث‌بری می‌کند. همچنین این کلاس IDataBaseContext را پیاده‌سازی می‌کند تا وابستگی‌های آن از طریق اینترفیس مدیریت شوند. بیایید بخش‌های مختلف کد را بررسی کنیم: 1. DbSet<T> ها DbSet<Cart> Carts { get; set; }: این خط کد مشخص می‌کند که کلاس Cart به جدول Carts در پایگاه داده مرتبط است. این جدول تمامی اطلاعات مربوط به سبد خرید را شامل می‌شود. DbSet<CartItem> CartItems { get; set; }: مشخص می‌کند که کلاس CartItem به جدول CartItems در پایگاه داده مرتبط است. این جدول اطلاعات مربوط به آیتم‌های سبد خرید را نگهداری می‌کند. DbSet<RequestPay> RequestPays { get; set; }: مشخص می‌کند که کلاس RequestPay به جدول RequestPays در پایگاه داده مرتبط است. این جدول برای مدیریت درخواست‌های پرداخت طراحی شده است. DbSet<T>‌ها در Entity Framework به شما اجازه می‌دهند که به داده‌های پایگاه داده به عنوان مجموعه‌ای از اشیاء (entities) دسترسی داشته باشید و عملیات CRUD (ایجاد، خواندن، به‌روزرسانی، حذف) را روی آن‌ها انجام دهید. 2. HasQueryFilter این خطوط کد فیلترهای سراسری (Global Query Filters) را روی جداول Cart, CartItem, و RequestPay اعمال می‌کنند: csharp modelBuilder.Entity<Cart>().HasQueryFilter(p => !p.IsRemoved); modelBuilder.Entity<CartItem>().HasQueryFilter(p => !p.IsRemoved); modelBuilder.Entity<RequestPay>().HasQueryFilter(p => !p.IsRemoved); نکات فیلتر: p => !p.IsRemoved: این فیلتر به گونه‌ای طراحی شده که فقط رکوردهایی را از جداول مربوطه بازیابی کند که مقدار IsRemoved آن‌ها false باشد. این ویژگی معمولاً برای پیاده‌سازی حذف منطقی (soft delete) استفاده می‌شود. مزایا: حذف منطقی (Soft Delete): به جای حذف کامل رکوردها از پایگاه داده، شما می‌توانید با تنظیم IsRemoved = true، آن‌ها را غیرقابل‌دسترس کنید. رکوردها در پایگاه داده باقی می‌مانند و برای اهداف گزارش‌گیری یا بازگرداندن در آینده در دسترس خواهند بود. بازیابی ساده رکوردها: به طور خودکار فقط رکوردهایی که حذف نشده‌اند (IsRemoved == false) در کوئری‌ها بازیابی می‌شوند. 3. ارث‌بری از DbContext کلاس DataBaseContext از DbContext ارث‌بری می‌کند. این کلاس پایه در Entity Framework Core است که عملیات اصلی مرتبط با پایگاه داده مانند ذخیره‌سازی و بازیابی داده‌ها را مدیریت می‌کند. از متد OnModelCreating(ModelBuilder modelBuilder) برای تنظیمات مدل (مانند تعریف فیلترهای سراسری) استفاده شده است. کاربردهای کد: مدیریت جداول سبد خرید و پرداخت: Carts, CartItems, و RequestPays به طور مستقیم با پایگاه داده ارتباط دارند. حذف منطقی: رکوردهایی که حذف شده‌اند به طور پیش‌فرض از نتایج کوئری‌ها فیلتر می‌شوند. افزایش خوانایی و انعطاف‌پذیری: با استفاده از فیلترهای سراسری، نیازی نیست که در هر کوئری حذف منطقی مدیریت شود. این کار به طور خودکار انجام می‌شود. جمع‌بندی: این تنظیمات به طور کامل و استاندارد عملیات پایگاه داده را برای جداول مرتبط با سبد خرید و پرداخت مدیریت می‌کند. استفاده از HasQueryFilter باعث می‌شود که مدیریت حذف منطقی ساده‌تر و موثرتر شود. طراحی کد برای استفاده در پروژه‌های بزرگ کاملاً مناسب و مقیاس‌پذیر است.
پروژه ASP.Net Core MVC (وب و سی شارپ)
پروژه فروشگاه این قسمت زرین پال با iisExpress بروید و پورت 44350 میباشد تا برگشت به پروژه از بانک تس
این کد در فایل Program مربوط به تنظیمات سرویس‌ها و احراز هویت (Authentication) و مجوزها (Authorization) در یک برنامه ASP.NET Core است. در ادامه بخش‌های مختلف این کد توضیح داده شده‌اند: 1. تنظیمات Authorization (مجوزها): csharp builder.Services.AddAuthorization(options => { options.AddPolicy(UserRoles.Admin, policy => policy.RequireRole(UserRoles.Admin)); options.AddPolicy(UserRoles.Customer, policy => policy.RequireRole(UserRoles.Customer)); options.AddPolicy(UserRoles.Operator, policy => policy.RequireRole(UserRoles.Operator)); }); این بخش تنظیمات مجوزها را تعریف می‌کند. AddPolicy: برای هر نقش (Role)، یک سیاست (Policy) تعریف شده است که مشخص می‌کند کاربران باید متعلق به نقش مشخص‌شده باشند تا به منابع مربوطه دسترسی پیدا کنند. UserRoles.Admin: سیاستی که فقط کاربران با نقش مدیر (Admin) می‌توانند دسترسی داشته باشند. UserRoles.Customer: سیاستی که فقط مشتریان (Customer) دسترسی دارند. UserRoles.Operator: سیاستی که فقط اپراتورها (Operator) مجوز دارند. 2. تنظیمات Cookie Authentication: csharp }).AddCookie(options => { options.LoginPath = new PathString("/Authentication/Signin"); options.ExpireTimeSpan = TimeSpan.FromMinutes(5.0); }); این تنظیمات مربوط به احراز هویت با استفاده از کوکی‌ها است. LoginPath: مشخص می‌کند که اگر کاربر احراز هویت نشده باشد، به کدام مسیر هدایت شود. در اینجا مسیر /Authentication/Signin برای صفحه ورود کاربر تعریف شده است. ExpireTimeSpan: مدت زمان اعتبار کوکی‌ها را تنظیم می‌کند. در اینجا کوکی‌ها بعد از ۵ دقیقه منقضی می‌شوند. 3. ثبت سرویس‌ها در Dependency Injection Container: csharp builder.Services.AddScoped<ICartService, CartService>(); builder.Services.AddScoped<IAddRequestPayService, AddRequestPayService>(); builder.Services.AddScoped<IGetRequestPayService, GetRequestPayService>(); AddScoped: مشخص می‌کند که این سرویس‌ها با اسکوپ (Scope) درخواست HTTP ایجاد شوند، به این معنی که یک نمونه از این سرویس برای هر درخواست HTTP ایجاد می‌شود. ICartService, CartService: سرویس مدیریت سبد خرید. IAddRequestPayService, AddRequestPayService: سرویس افزودن درخواست پرداخت. IGetRequestPayService, GetRequestPayService: سرویس دریافت اطلاعات پرداخت. این ثبت سرویس‌ها باعث می‌شود وابستگی‌ها به صورت خودکار مدیریت شوند. 4. Middleware‌های مربوط به Authentication و Authorization: csharp app.UseAuthentication(); app.UseAuthorization(); UseAuthentication: Middleware برای مدیریت احراز هویت کاربر است. این بخش بررسی می‌کند که آیا کاربر وارد حساب شده است یا خیر. UseAuthorization: Middleware برای مدیریت دسترسی‌های کاربر است. این بخش سیاست‌های تعریف‌شده را برای نقش‌های کاربر اعمال می‌کند. جای Middleware ها عوض شده است کاربرد کد: مدیریت نقش‌ها و دسترسی‌ها: با استفاده از سیاست‌ها، دسترسی کاربران به منابع مختلف کنترل می‌شود. کنترل اعتبار کوکی‌ها: تنظیمات کوکی‌ها باعث می‌شود که جلسات احراز هویت به طور خودکار منقضی شوند. تزریق وابستگی‌ها: ثبت سرویس‌های مربوط به سبد خرید و درخواست‌های پرداخت به افزایش انعطاف‌پذیری و ماژولار بودن برنامه کمک می‌کند. جمع‌بندی: این کد به خوبی تنظیمات امنیتی و مدیریتی برنامه را مشخص می‌کند و همه چیز برای مدیریت نقش‌ها، احراز هویت و تزریق سرویس‌ها طراحی شده است.
پروژه ASP.Net Core MVC (وب و سی شارپ)
پروژه فروشگاه این قسمت زرین پال با iisExpress بروید و پورت 44350 میباشد تا برگشت به پروژه از بانک تس
توضیح کد مدل namespace EndPoint.Site.Models { public class VerifyParameters { public string amount { set; get; } public string merchant_id { set; get; } public string authority { set; get; } } } این کد یک کلاس مدل به نام VerifyParameters را تعریف می‌کند که برای ارسال پارامترهای لازم به درگاه پرداخت (مثل زرین‌پال) طراحی شده است. این کلاس شامل سه ویژگی اصلی است که در فرآیند تأیید پرداخت مورد نیاز هستند: ویژگی‌ها و توضیحات: 1. amount: نوع داده: string وظیفه: مبلغ پرداختی را نشان می‌دهد. این مقدار معمولاً به صورت عددی ذخیره می‌شود و نشان‌دهنده مبلغ تراکنش است. کاربرد: مشخص کردن مقدار پولی که کاربر باید پرداخت کند. 2. merchant_id: نوع داده: string وظیفه: شناسه پذیرنده (Merchant ID) که توسط درگاه پرداخت اختصاص داده می‌شود. کاربرد: شناسایی حساب پذیرنده در سیستم درگاه پرداخت. 3. authority: نوع داده: string وظیفه: شناسه تراکنش پرداخت. این مقدار توسط درگاه پرداخت (مثل زرین‌پال) تولید می‌شود و برای تأیید تراکنش استفاده می‌گردد. کاربرد: هنگام تأیید پرداخت، این مقدار باید به درگاه ارسال شود تا تراکنش تأیید شود. کاربرد کلی کلاس: این کلاس مدل برای ارسال داده‌های مربوط به تأیید پرداخت طراحی شده است و به عنوان یک قالب (template) برای پارامترهای مورد نیاز استفاده می‌شود. در سرویس‌ها یا کنترلرها، داده‌های مربوط به پرداخت از سمت برنامه جمع‌آوری شده و در قالب این مدل به درگاه پرداخت ارسال می‌شوند. مزایای استفاده از این مدل: ساختار مشخص: استفاده از مدل‌های مشخص مانند VerifyParameters باعث نظم و خوانایی بیشتر کد می‌شود. انعطاف‌پذیری بالا: قابلیت گسترش یا تغییر ویژگی‌های مدل بدون تأثیر بر سایر بخش‌های برنامه. سازگاری: این مدل برای مطابقت با نیازهای API درگاه پرداخت طراحی شده است. جمع‌بندی: این مدل به خوبی داده‌های لازم برای تأیید پرداخت را مدیریت می‌کند و استفاده از آن باعث کاهش پیچیدگی و افزایش نظم در تعامل با درگاه پرداخت می‌شود.
پروژه ASP.Net Core MVC (وب و سی شارپ)
پروژه فروشگاه این قسمت زرین پال با iisExpress بروید و پورت 44350 میباشد تا برگشت به پروژه از بانک تس
کلاس RequestParameters برای ارسال پارامترهای ضروری به درگاه پرداخت طراحی شده است. این مدل شامل اطلاعاتی است که برای ایجاد یک درخواست پرداخت لازم هستند. در ادامه، بخش‌های مختلف این کلاس توضیح داده می‌شود: 1. ویژگی‌ها (Properties): a) merchant_id: نوع داده: string وظیفه: شناسه پذیرنده که توسط درگاه پرداخت ارائه می‌شود. کاربرد: شناسایی حساب پذیرنده در سیستم درگاه پرداخت. b) amount: نوع داده: string وظیفه: مبلغ تراکنش پرداخت. کاربرد: نشان‌دهنده میزان پولی که کاربر باید پرداخت کند. c) description: نوع داده: string وظیفه: توضیحات مرتبط با پرداخت. کاربرد: مثلاً می‌توان توضیحاتی در مورد سفارش یا هدف پرداخت وارد کرد که این اطلاعات به کاربر یا پذیرنده نمایش داده می‌شود. d) callback_url: نوع داده: string وظیفه: آدرس بازگشتی که پس از تکمیل یا لغو پرداخت توسط درگاه استفاده می‌شود. کاربرد: این URL به درگاه پرداخت اعلام می‌شود تا کاربر پس از انجام پرداخت به آن هدایت شود. e) metadata: نوع داده: string[]? (یک آرایه قابل nullable از رشته‌ها) وظیفه: شامل اطلاعات اضافی مانند موبایل و ایمیل کاربر. کاربرد: ارسال اطلاعات جانبی به درگاه پرداخت برای سفارشی‌سازی تراکنش. 2. سازنده (Constructor): سازنده این کلاس وظیفه مقداردهی اولیه به ویژگی‌ها را بر عهده دارد. ورودی‌ها: merchant_id: شناسه پذیرنده. amount: مبلغ پرداخت. description: توضیحات تراکنش. callback_url: آدرس بازگشتی. mobile: شماره موبایل کاربر (اختیاری). email: آدرس ایمیل کاربر (اختیاری). مقداردهی: متغیرهای ورودی به ویژگی‌های کلاس نسبت داده می‌شوند. آرایه metadata مقداردهی می‌شود و در صورت وجود مقادیر mobile و email، مقادیر آن‌ها در آرایه ذخیره می‌شوند. 3. تبدیل نوع (implicit operator): متد implicit operator تعریف شده اما هنوز پیاده‌سازی نشده است. این متد برای تبدیل مستقیم نوع RequestParameters به نوع دیگری (احتمالاً RestSharp.RequestParameters) استفاده می‌شود. در حال حاضر، متد یک استثنا (NotImplementedException) را پرتاب می‌کند. کاربرد کلاس: این کلاس به عنوان مدلی برای ارسال پارامترهای مربوط به درخواست پرداخت به درگاه پرداخت استفاده می‌شود. ویژگی‌هایی مانند شناسه پذیرنده، مبلغ پرداخت، توضیحات و آدرس بازگشتی همه در یک ساختار واحد سازمان‌دهی شده‌اند. اطلاعات متادیتا (مانند موبایل و ایمیل) نیز می‌توانند به درخواست پرداخت اضافه شوند. نقاط قوت: ساختار منظم: ویژگی‌های مربوط به درخواست پرداخت به خوبی سازمان‌دهی شده‌اند. انعطاف‌پذیری: از metadata برای افزودن اطلاعات جانبی استفاده می‌شود. قابلیت توسعه: سازنده کلاس و متد تبدیل نوع امکان گسترش و استفاده آسان را فراهم می‌کنند. پیشنهادات بهبود: پیاده‌سازی implicit operator: پیاده‌سازی این متد برای تبدیل مستقیم به نوع دیگر (مثلاً RestSharp.RequestParameters) می‌تواند استفاده از کلاس را ساده‌تر کند. بررسی مقادیر ورودی: می‌توان با افزودن اعتبارسنجی (Validation)، از مقداردهی نادرست متغیرها جلوگیری کرد. جمع‌بندی: کلاس RequestParameters مدلی بسیار مفید برای مدیریت پارامترهای پرداخت است و ساختاری انعطاف‌پذیر و کاربرپسند دارد. این کلاس می‌تواند به راحتی در هر پروژه‌ای که نیاز به تعامل با درگاه پرداخت دارد مورد استفاده قرار گیرد
پروژه ASP.Net Core MVC (وب و سی شارپ)
پروژه فروشگاه این قسمت زرین پال با iisExpress بروید و پورت 44350 میباشد تا برگشت به پروژه از بانک تس
این کد یک کنترلر به نام PayController برای مدیریت فرآیندهای پرداخت در برنامه ASP.NET Core است. در ادامه توضیحات مربوط به بخش‌های مختلف آن ارائه شده است: 1. ویژگی‌ها و سازنده (Constructor): ویژگی‌ها: IAddRequestPayService برای ایجاد درخواست پرداخت. ICartService برای مدیریت سبد خرید. IGetRequestPayService برای بازیابی اطلاعات پرداخت. CookiesManeger برای مدیریت کوکی‌های کاربر. سازنده: وابستگی‌ها با استفاده از تزریق وابستگی (Dependency Injection) مقداردهی می‌شوند. 2. متد Index: این متد وظیفه ایجاد درخواست پرداخت و هدایت کاربر به درگاه پرداخت را بر عهده دارد. مراحل: دریافت شناسه کاربر: با استفاده از کوکی‌ها یا اطلاعات احراز هویت، شناسه کاربر (UserId) استخراج می‌شود. بازیابی سبد خرید: سبد خرید کاربر با استفاده از ICartService بازگردانده می‌شود. بررسی مبلغ سبد خرید: اگر مبلغ سبد خرید صفر باشد، کاربر به صفحه سبد خرید هدایت می‌شود. ایجاد درخواست پرداخت: با استفاده از IAddRequestPayService درخواست پرداخت در پایگاه داده ذخیره می‌شود. ارسال درخواست به درگاه پرداخت: اطلاعات پرداخت شامل مبلغ، توضیحات، شناسه پذیرنده و لینک بازگشتی به درگاه ارسال می‌شود. اگر درگاه پاسخ موفق برگرداند، کاربر به صفحه پرداخت هدایت می‌شود. مدیریت خطا: در صورت قطع اینترنت یا خطا در پاسخ درگاه، پیغام خطا در ویو ErrorView نمایش داده می‌شود. 3. متد Verify: این متد وظیفه تأیید پرداخت و مدیریت نتیجه آن را بر عهده دارد. مراحل: بررسی وضعیت پرداخت: وضعیت پرداخت از پارامتر status بررسی می‌شود. اگر کاربر پرداخت را لغو کرده باشد، پیام خطای "پرداخت توسط کاربر لغو شد" نمایش داده می‌شود. بازیابی درخواست پرداخت: اطلاعات پرداخت مرتبط با GUID از پایگاه داده استخراج می‌شود. ارسال درخواست تأیید: اطلاعات پرداخت شامل مبلغ، شناسه تراکنش (authority) و شناسه پذیرنده (merchant_id) به API تأیید پرداخت ارسال می‌شود. بررسی موفقیت پرداخت: اگر تراکنش موفق باشد، شماره پیگیری پرداخت (ref_id) ذخیره شده و پیام موفقیت نمایش داده می‌شود. اگر خطایی وجود داشته باشد، پیام خطای مناسب نمایش داده می‌شود. ویژگی‌های مهم: مدیریت سبد خرید: از ICartService برای بررسی مبلغ و اطلاعات سبد خرید استفاده شده است. ارتباط با درگاه پرداخت: از HttpClient در متد Index برای ارسال درخواست اولیه پرداخت و از RestClient در متد Verify برای تأیید پرداخت استفاده شده است. مدیریت خطا: تمام حالت‌های احتمالی مانند پاسخ نامعتبر درگاه، قطع اینترنت و لغو پرداخت توسط کاربر مدیریت شده‌اند. استفاده از کوکی‌ها: از کوکی‌ها برای شناسایی مرورگر کاربر و مدیریت سبد خرید استفاده شده است. نقاط قوت: ساختار ماژولار: وظایف مختلف به متدها و سرویس‌های جداگانه تقسیم شده‌اند. مدیریت خطا: خطاهای احتمالی به خوبی مدیریت شده‌اند و پیام‌های کاربرپسند ارائه می‌شوند. یکپارچگی: تعامل بین سبد خرید، پرداخت و درگاه پرداخت به خوبی پیاده‌سازی شده است. جمع‌بندی: این کنترلر طراحی کاملی برای مدیریت فرآیند پرداخت دارد. از ایجاد درخواست پرداخت تا تأیید آن و هدایت کاربر، همه چیز به درستی سازمان‌دهی شده است
پروژه ASP.Net Core MVC (وب و سی شارپ)
پروژه فروشگاه این قسمت زرین پال با iisExpress بروید و پورت 44350 میباشد تا برگشت به پروژه از بانک تس
این کد یک ویو در Razor برای نمایش نتیجه پرداخت طراحی شده است. ویو بر اساس مقدار موجود در ViewBag، نتیجه پرداخت را به کاربر نمایش می‌دهد. در ادامه توضیح بخش‌های مختلف کد آورده شده است: 1. تنظیم عنوان صفحه csharp @{ ViewData["Title"] = "نتیجه پرداخت"; } وظیفه: تنظیم عنوان صفحه (در اینجا "نتیجه پرداخت") که در مرورگر نمایش داده می‌شود. این مقدار معمولاً در بخش <title> از فایل Layout نمایش داده می‌شود. 2. نمایش عنوان صفحه html <h2>نتیجه پرداخت</h2> یک عنوان اصلی (<h2>) برای نمایش عنوان صفحه به کاربران. 3. نمایش نتیجه پرداخت ویو بر اساس وضعیت‌های مختلف، سه سناریو را مدیریت می‌کند: الف) پرداخت موفق csharp @if (ViewBag.code != null) { <div style="background-color: ; color: ; padding: 15px; border: 1px solid ; border-radius: 5px;"> <h4>پرداخت موفق!</h4> <p>شماره پیگیری پرداخت شما:</p> <p><strong>@ViewBag.code</strong></p> <a href="/" style="text-decoration: none; color: white; background-color: ; padding: 10px 15px; border-radius: 5px;">بازگشت به صفحه اصلی</a> </div> } شرط: اگر ViewBag.code مقداردهی شده باشد (یعنی تراکنش موفق باشد). نمایش پیام: پیام "پرداخت موفق" نمایش داده می‌شود. شماره پیگیری: مقدار ViewBag.code (مثلاً شماره پیگیری تراکنش) به کاربر نمایش داده می‌شود. دکمه بازگشت: لینکی برای بازگشت کاربر به صفحه اصلی. ب) پرداخت ناموفق csharp else if (ViewBag.ErrorMessage != null) { <div style="background-color: ; color: ; padding: 15px; border: 1px solid ; border-radius: 5px;"> <h4>پرداخت ناموفق</h4> <p>@ViewBag.ErrorMessage</p> <a href="/Cart/Index" style="text-decoration: none; color: white; background-color: ; padding: 10px 15px; border-radius: 5px;">بازگشت به سبد خرید</a> </div> } شرط: اگر مقدار ViewBag.ErrorMessage تنظیم شده باشد (پرداخت ناموفق یا خطا رخ داده باشد). نمایش پیام: پیام "پرداخت ناموفق" و توضیحات خطا که از ViewBag.ErrorMessage خوانده می‌شود. دکمه بازگشت: لینکی برای بازگشت به صفحه سبد خرید. ج) وضعیت نامشخص csharp else { <div style="background-color: ; color: ; padding: 15px; border: 1px solid ; border-radius: 5px;"> <h4>اطلاعات پرداخت در دسترس نیست</h4> <p>لطفاً دوباره تلاش کنید.</p> <a href="/" style="text-decoration: none; color: white; background-color: ; padding: 10px 15px; border-radius: 5px;">بازگشت به صفحه اصلی</a> </div> } شرط: زمانی که ViewBag.code و ViewBag.ErrorMessage هردو null باشند (یعنی پرداخت در وضعیت نامشخص است). نمایش پیام: پیام "اطلاعات پرداخت در دسترس نیست" به کاربر نمایش داده می‌شود. دکمه بازگشت: لینکی برای بازگشت به صفحه اصلی. 4. طراحی بصری با CSS Inline طراحی بصری با استفاده از style درون‌خطی انجام شده است: زمینه رنگی (background-color): سبز () برای موفقیت. قرمز () برای شکست. زرد () برای وضعیت نامشخص. حاشیه (border): حاشیه‌هایی با رنگ مناسب برای هر وضعیت. دایره کردن گوشه‌ها (border-radius): به منظور زیباتر کردن طراحی. لینک‌ها: به صورت دکمه‌های ساده با رنگ و طراحی مناسب. جمع‌بندی: ویو به خوبی وضعیت‌های مختلف پرداخت را مدیریت می‌کند: پرداخت موفق. پرداخت ناموفق. وضعیت نامشخص. از طراحی ساده و واضح برای نمایش پیام‌ها و اطلاعات استفاده شده است. امکان بازگشت به صفحه اصلی یا سبد خرید با استفاده از لینک‌های مناسب فراهم شده است.
پروژه ASP.Net Core MVC (وب و سی شارپ)
پروژه فروشگاه این قسمت زرین پال با iisExpress بروید و پورت 44350 میباشد تا برگشت به پروژه از بانک تس
کد مربوط به ErrorView برای نمایش پیام‌های خطا طراحی شده است و مشخصاً برای زمانی که مشکلی در اتصال به درگاه پرداخت پیش می‌آید استفاده می‌شود. در ادامه توضیحات بخش‌های مختلف این ویو آورده شده است: 1. تنظیم عنوان صفحه csharp @{ ViewData["Title"] = "خطای اتصال"; } وظیفه: تعیین عنوان صفحه (در اینجا "خطای اتصال"). این عنوان معمولاً در بخش <title> فایل Layout اصلی نمایش داده می‌شود. 2. نمایش عنوان اصلی html <h2>خطا</h2> این خط یک عنوان اصلی (<h2>) برای صفحه خطا است که به کاربر اعلام می‌کند مشکلی رخ داده است. 3. نمایش پیام خطا html <div style="background-color: ; color: ; padding: 15px; border: 1px solid ; border-radius: 5px;"> <h4>مشکلی در اتصال به درگاه پرداخت پیش آمده است.</h4> <p>@ViewBag.ErrorMessage</p> <a href="/" style="text-decoration: none; color: white; background-color: ; padding: 10px 15px; border-radius: 5px;">بازگشت به صفحه اصلی</a> </div> توضیحات بخش‌ها: <div>: این بخش اصلی ویو است و پیام خطا را در قالب یک باکس طراحی‌شده نمایش می‌دهد. از استایل‌های CSS درون‌خطی برای طراحی بصری استفاده شده است: رنگ زمینه (background-color): رنگ قرمز کمرنگ () که نشان‌دهنده خطاست. رنگ متن (color): قرمز تیره () برای هماهنگی با رنگ زمینه. حاشیه (border): حاشیه‌ای قرمز با ضخامت مناسب برای تاکید بر خطا. گرد کردن گوشه‌ها (border-radius): گوشه‌های گرد برای زیبایی طراحی. فاصله داخلی (padding): فاصله مناسب داخلی برای خوانایی بهتر. <h4>: عنوان خطای اصلی، یعنی "مشکلی در اتصال به درگاه پرداخت پیش آمده است." <p>: پیام خطا از طریق ViewBag.ErrorMessage نمایش داده می‌شود. این مقدار معمولاً شامل توضیحاتی درباره علت خطا است که از کنترلر تنظیم شده است. دکمه بازگشت: لینکی برای هدایت کاربر به صفحه اصلی: طراحی آن شبیه یک دکمه است. از رنگ قرمز تیره برای پس‌زمینه استفاده شده است که با موضوع خطا هماهنگ است. کاربرد ویو: این ویو به طور خاص برای نمایش خطاهای مرتبط با مشکلات اتصال به درگاه پرداخت طراحی شده است. از آنجا که پیام خطا از کنترلر ارسال می‌شود، این ویو به صورت دینامیک پیام‌های مختلف خطا را مدیریت می‌کند. مزایا: ساده و کاربردی: طراحی ویو بسیار ساده و مناسب برای نمایش پیام‌های خطاست. کاربرپسند: پیام خطا به کاربر اطلاع می‌دهد که مشکلی رخ داده است و گزینه‌ای برای بازگشت ارائه می‌دهد. استفاده از CSS داخلی: باعث خوانایی و اجرای سریع طراحی می‌شود. جمع‌بندی: این ویو به خوبی پیام‌های خطا را مدیریت می‌کند و طراحی بصری آن بسیار مناسب و واضح است.
ChartProject.zip
حجم: 17.5M
سلام عید شما مبارک من یک پروژه نمودار ساختم که نام و قیمت کالا به صورت نمودار از دیتابیس می خواند خواستم به شما بدهم تا ازش ایده بگیرید این هم یک هدیه به همه برنامه نویسان asp.net core
Test_Store 18.zip
حجم: 56.8M
پروژه فروشگاه این قسمت ثبت سفارش