نمایش نتایج 1 تا 3 از 3

نام تاپیک: نحوه استفاده Async در IRepository و Repository

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آبان 1387
    پست
    1,207
    تشکر کردن
    672
    78 بار تشکر شده در 59 پست

    نحوه استفاده Async در IRepository و Repository

    سلامکلاسهای زیر را داریم


    public interface ICustomerRepository
    {
    List<Customers> GetAllCustomers();
    IEnumerable<Customers> GetCusstomersByFilter(string parameter);
    List<ListCustomerViewModel> GetNameCustomers(string filter = "");
    Customers GetCustomerById(int customerId);
    bool InsertCustomer(Customers customer);
    bool UpdateCustomer(Customers customer);
    bool DeleteCustomer(Customers customer);
    bool DeleteCustomer(int customerId);
    int GetCustomerIdByName(string name);
    string GetCustomerNameById(int customerId);
    }

    و


    public class CustomerRepository : ICustomerRepository
    {
    private Accounting_DBEntities db;


    public CustomerRepository(Accounting_DBEntities context)
    {
    db = context;
    }


    public List<Customers> GetAllCustomers()
    {
    return db.Customers.ToList();
    }


    public IEnumerable<Customers> GetCusstomersByFilter(string parameter)
    {
    return db.Customers.Where(c =>
    c.FullName.Contains(parameter) || c.Email.Contains(parameter) || c.Mobile.Contains(parameter)).ToList();
    }


    public List<ListCustomerViewModel> GetNameCustomers(string filter = "")
    {
    if (filter == "")
    {
    return db.Customers.Select(c => new ListCustomerViewModel()
    {
    CustomerID = c.CustomerID,
    FullName = c.FullName
    }).ToList();
    }


    return db.Customers.Where(c => c.FullName.Contains(filter)).Select(c => new ListCustomerViewModel()
    {
    CustomerID = c.CustomerID,
    FullName = c.FullName
    }).ToList();
    }


    public Customers GetCustomerById(int customerId)
    {
    return db.Customers.Find(customerId);
    }


    public bool InsertCustomer(Customers customer)
    {
    try
    {
    db.Customers.Add(customer);
    return true;
    }
    catch
    {
    return false;
    }
    }


    public bool UpdateCustomer(Customers customer)
    {
    // try
    // {
    var local = db.Set<Customers>()
    .Local
    .FirstOrDefault(f => f.CustomerID == customer.CustomerID);
    if (local != null)
    {
    db.Entry(local).State = EntityState.Detached;
    }
    db.Entry(customer).State = EntityState.Modified;
    return true;
    // }
    // catch
    // {
    // return false;
    // }
    }


    public bool DeleteCustomer(Customers customer)
    {
    try
    {
    db.Entry(customer).State = EntityState.Deleted;
    return true;
    }
    catch
    {
    return false;
    }
    }


    public bool DeleteCustomer(int customerId)
    {
    try
    {
    var customer = GetCustomerById(customerId);
    DeleteCustomer(customer);
    return true;
    }
    catch
    {
    return false;
    }
    }


    public int GetCustomerIdByName(string name)
    {
    return db.Customers.First(c => c.FullName == name).CustomerID;
    }


    public string GetCustomerNameById(int customerId)
    {
    return db.Customers.Find(customerId).FullName;
    }
    }


    چگون می توان تبدیل به Async کنم
    باتشکر

  2. #2
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,070
    تشکر کردن
    164
    723 بار تشکر شده در 597 پست

    نقل قول: نحوه استفاده Async در IRepositoryوRepository

    سلام
    این نحوه پیاده سازی لازمه کدنویسی برای تمام مدل های موجود هست بهتره از جنریک تایپ ها استفاده کنی که کد نویسی کمتر داشته باشی.نمونه مثال های زیر را مطالعه کنید که بصورت Generic Repositroy و بصورت Async پیاده سازی شده

    https://www.itworld.com/article/2700...perations.html
    https://cpratt.co/truly-generic-repository/
    https://github.com/bhamer/async-repository
    First,solve the problem then write the code

  3. کاربرانی که به خاطر مطلب مفید ژیار رحیمی از وی تشکر کرده‌اند:


  4. #3
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1389
    پست
    431
    تشکر کردن
    166
    73 بار تشکر شده در 55 پست

    نقل قول: نحوه استفاده Async در IRepository و Repository

    یه سر هم به لینک زیر بزنید . آموزش فارسی

    https://toplearn.com/courses/48/%D8%...81%D8%AA%D9%87

تاپیک های مشابه

  1. نحوه استفاده DLL در برنامه
    نوشته شده توسط rasoolgh در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: پنج شنبه 19 اردیبهشت 1387, 17:48 عصر
  2. نحوه استفاده فلش در ویژوال
    نوشته شده توسط Amir_vb.Net در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: پنج شنبه 09 اسفند 1386, 18:40 عصر
  3. روش ایجاد راهنمای CHM و نحوه استفاده ان در دلفی
    نوشته شده توسط hr110 در بخش برنامه نویسی در Delphi
    پاسخ: 19
    آخرین پست: شنبه 15 دی 1386, 17:42 عصر
  4. یک api برای پیدا کردن cpu id و نحوه استفاده ان در دلفی ؟
    نوشته شده توسط tele_hamid در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: سه شنبه 16 فروردین 1384, 02:25 صبح
  5. Tapi و نحوه استفاده آن در VB
    نوشته شده توسط ghreza در بخش برنامه نویسی در 6 VB
    پاسخ: 0
    آخرین پست: چهارشنبه 28 مرداد 1383, 17:05 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •