// GET: MOOCProviders/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            //if (id == null)
            //{
            //    return NotFound();
            //}

            //var mOOCProvider = await _context.MOOCProvider
            //    .Include(m => m.ApplicationUser)
            //    .SingleOrDefaultAsync(m => m.Id == id);
            //if (mOOCProvider == null)
            //{
            //    return NotFound();
            //}
            //return View(mOOCProvider);

            MOOCProviderViewModel MOOCProviderVM = new MOOCProviderViewModel()
            {
                MOOCProviderFollowers = _context.MOOCProviderFollowers
                                        .Include(f => f.ApplicationUser)
                                        .Include(f => f.MOOCProvider)
                                        .Where(f => f.ApplicationUserId == _userManager.GetUserId(User))
                                        .ToList(),

                ApplicationUser = await _userManager.Users
                                  .Include(c => c.Country)
                                  .Include(c => c.City)
                                  .Include(c => c.University)
                                  .Include(c => c.Faculty)
                                  .Include(a => a.ReferredBy)
                                  .SingleOrDefaultAsync(u => u.Id == _userManager.GetUserId(User)),

                MOOCProvider = await _context.MOOCProviders
                               .SingleOrDefaultAsync(m => m.Id == id),
            };

            return(View(MOOCProviderVM));
        }
        // GET: MOOCProviders
        public async Task <IActionResult> Index(string SearchString, int productPage = 1)
        {
            MOOCProviderViewModel MOOCProviderVM = new MOOCProviderViewModel();

            if (string.IsNullOrEmpty(SearchString))
            {
                MOOCProviderVM = new MOOCProviderViewModel()
                {
                    MOOCProviders = _context.MOOCProviders.Include(p => p.ApplicationUser),
                    MOOCLists     = _context.MOOCLists
                };
            }
            else if (!string.IsNullOrEmpty(SearchString))
            {
                MOOCProviderVM = new MOOCProviderViewModel()
                {
                    MOOCProviders = _context.MOOCProviders.Where(a => a.Name.Contains(SearchString) || a.Description.Contains(SearchString) || a.Email.Contains(SearchString) || a.ApplicationUser.ArName.Contains(SearchString) || a.Website.Contains(SearchString) || a.Fb.Contains(SearchString) || a.Twitter.Contains(SearchString)).Include(p => p.ApplicationUser),
                    MOOCLists     = _context.MOOCLists
                };
            }

            var count = MOOCProviderVM.MOOCProviders.Count();

            MOOCProviderVM.MOOCProviders = MOOCProviderVM.MOOCProviders.OrderBy(p => p.Id)
                                           .Skip((productPage - 1) * PagSize)
                                           .Take(PagSize).ToList();


            MOOCProviderVM.PagingInfo = new PagingInfo
            {
                CurrentPage  = productPage,
                ItemsPerPage = PagSize,
                TotalItem    = count
            };

            //var aRIDDbContext = _context.MOOCProvider.Include(m => m.ApplicationUser);
            return(View(MOOCProviderVM));
        }