eitaa logo
پروژه ASP.Net Core MVC (وب و سی شارپ)
119 دنبال‌کننده
168 عکس
38 ویدیو
376 فایل
❁﷽❁ آموزش 📖 برنامه نویسی ASP.Net Core MVC (وب و سی شارپ) Admin: @alialirezapanahi برنامه نویسی برنامه نویسی سی شارپ eitaa.com/sisharpapp برنامه نویسی وب eitaa.com/aspdatnet ویراستی virasty.com/alialirezapanahi آپارات aparat.com/alialirezapanahi
مشاهده در ایتا
دانلود
SmartShopPlus.zip
حجم: 25.3M
ترکیب سه پروژه قبل به یک پروژه + زبان نکته : پروژه در ظاهر اول نگاه کنی ظاهر خوبی ندارد ولی پروژه فقط برای آموزش ساخته شده و اگر کامل نیست خودتون کامل کنید مخصوصا زبان که فقط یک کلمه را ترجمه می کند و کل سایت را خودتون ترجمه و @inject SmartShopPlus.Service.ILanguageService Lang در بالای ویو <h1>@Lang.Translate("Dashboard.Title")</h1> در همه جا قرار دهید و ترجمه کنید
SmartShopPlus (3).zip
حجم: 25.5M
افزودن دیکشنری و تغییر زبان و عوض شدن محتوا داده
پروژه ASP.Net Core MVC (وب و سی شارپ)
افزودن دیکشنری و تغییر زبان و عوض شدن محتوا داده
هدف اینه که مخاطب بفهمه فرق بین LanguageHelper و LanguageService چیه، کدوم برای چه شرایطی بهتره، و اینکه لزومی نداره هر دو رو همزمان داشته باشه. --- 🎯 تفاوت LanguageHelper و LanguageService در پروژه‌های چندزبانه MVC در پروژه‌های چندزبانه، معمولاً نیاز داریم متن‌ها رو بر اساس زبان انتخاب‌شده توسط کاربر نمایش بدیم. برای این کار دو روش رایج وجود داره: --- ✅ ۱. LanguageHelper (کلاس استاتیک)
csharp
public static class LanguageHelper
{
    public static string Translate(ApplicationDbContext context, IHttpContextAccessor httpContext, string key)
    {
        var culture = httpContext.HttpContext.Request.Cookies["lang"] ?? "fa";

        var resource = context.LanguageResources
            .FirstOrDefault(r => r.Key == key && r.Culture == culture);

        return resource?.Value ?? key;
    }
}
📌 ویژگی‌ها: - استاتیکه، یعنی نیازی به ساخت نمونه (instance) نداره - در کنترلرها و کلاس‌ها قابل استفاده‌ست - باید هر بار context و httpContext رو دستی بهش بدی - در Razor View مستقیم قابل استفاده نیست (مگر با ViewBag یا ViewData) --- ✅ ۲. LanguageService (سرویس تزریقی)
csharp
public class LanguageService : ILanguageService
{
    private readonly ApplicationDbContext _context;
    private readonly IHttpContextAccessor _http;

    public LanguageService(ApplicationDbContext context, IHttpContextAccessor http)
    {
        _context = context;
        _http = http;
    }

    public string Translate(string key)
    {
        var culture = _http.HttpContext?.Request.Cookies["lang"] ?? "fa";

        var value = _context.LanguageResources
            .Where(x => x.Key == key && x.Culture == culture)
            .Select(x => x.Value)
            .FirstOrDefault();

        return value ?? $"[{key}]";
    }
}
📌 استفاده در Razor View:
razor
@inject ILanguageService Lang
<h1>@Lang.Translate("Dashboard.Title")</h1>
📌 ویژگی‌ها: - از طریق DI (Dependency Injection) تزریق می‌شه - در Razor View مستقیم قابل استفاده‌ست - نیازی به ارسال دستی context و http نداره - قابل تست، توسعه و مدیریت بهتره --- ⚖️ مقایسه نهایی | ویژگی | LanguageHelper | LanguageService | |--------------------------|----------------|-----------------| | سادگی اولیه | ✅ ساده | ❌ کمی پیچیده‌تر | | استفاده در View | ❌ سخت | ✅ راحت با @inject | | نیاز به DI | ❌ ندارد | ✅ دارد | | توسعه‌پذیری | ❌ محدود | ✅ قابل گسترش | | مناسب پروژه‌های بزرگ | ❌ نه | ✅ بله | --- ✅ کدام را انتخاب کنیم؟ 🔹 اگر پروژه‌ات ساده است یا فقط در کنترلرها ترجمه نیاز داری → LanguageHelper کافیست 🔹 اگر پروژه‌ات چندزبانه، قابل توسعه و حرفه‌ای است → LanguageService بهتر و استانداردتر است ❗ لزومی نداره هر دو را همزمان داشته باشی فقط یکی را انتخاب کن و در کل پروژه از همان استفاده کن تا کدت تمیز و منسجم بماند.
SmartShopPlus (4).zip
حجم: 25.5M
ویرایش منو و اصلاح پروژه و حذف کدهای بی مصرف
SmartShopPlus (5).zip
حجم: 25.5M
اکشن های گزارش گیری با Join اضافه شد 📊 گزارش‌گیری حرفه‌ای با EF Core و Join در این پروژه، اکشن‌های گزارش‌گیری با استفاده از کوئری‌های بهینه و
Join
بین جدول‌ها نوشته شده‌اند تا عملکرد سریع‌تر و ساختار خواناتری داشته باشند. تمرکز بر تحلیل سفارش‌ها، محصولات پرفروش و فعالیت مشتریان با رویکرد واقعی و قابل توسعه.
SecureLoginPlus Pro.zip
حجم: 18.9M
بچه ها من دو صفحه لاگین ساختم که یکی باید کتابخانه System.Speech را نصب کنی 1- 🔢 ورود با کد تصادفی و تایمر 2- 🧩 ورود با کپچای تصویری و صوتی
SecureProfilePlus.zip
حجم: 24.9M
پروژه SecureProfilePlus یک سیستم مدیریت پروفایل کاربری است که امکاناتی مثل ثبت‌نام و ورود کاربران، آپلود تصویر پروفایل، لایک تصاویر توسط کاربران لاگین‌شده، و نمایش مجموع لایک‌های هر تصویر و هر کاربر را فراهم می‌کند. این پروژه با هدف تمرین عملی مفاهیم ASP.NET Core MVC، EF Core و طراحی رابط کاربری واکنش‌گرا توسعه یافته و بستری مناسب برای یادگیری و پیاده‌سازی قابلیت‌های واقعی در پروژه‌های وب محسوب می‌شود.