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

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

  1. #1

    نحوه استفاده 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,095

    نقل قول: نحوه استفاده 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. #3

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

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

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

  4. #4

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

    سلام و درود وقت بخیر منم با این مشکل مواجه شدم متاسفانه هر چی تلاش کردم جواب نداد و اصلا کد ها به
    Async تبدیل نمی شدن خیلی بالا پایین کردم تا اینکه واقعا کلافه ام کرده بود ولی یکی از آشنا ها یک ویدئو بهم معرفی کرد که کارم راه انداخت خدا خیرشون بده، حالا لینکش می گذارم شما هم استفاده کن اگه مشکلت حل شد برام اینجا بنویس.
    https://darsman.com/courses/advanced-csharp-training

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

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

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

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