示例#1
0
        public async Task <ActionResult> AddChefToRestaurant(AddChefToRestaurantViewModel model)
        {
            var   selectedIds = model.getSelectedIds();
            Resto restoFound  = await DbManager.Restos.FirstOrDefaultAsync(resto => resto.Name == model.RestoName);


            if (restoFound != null)
            {
                var selectedUsers = from x in DbManager.Users
                                    where selectedIds.Contains(x.Id)
                                    select x;
                if (model.chefOrNotAdmin)
                {
                    restoFound.Chefs.Clear();
                }
                else
                {
                    restoFound.Administrators.Clear();
                }

                foreach (var user in selectedUsers)
                {
                    if (model.chefOrNotAdmin)
                    {
                        restoFound.Chefs.Add(user);
                    }
                    else
                    {
                        restoFound.Administrators.Add(user);
                    }
                }
                await DbManager.SaveChangesAsync();

                return(RedirectToAction("Edit", new { id = restoFound.Id }));
            }
            else
            {
                return(View("Error"));
            }
        }
示例#2
0
        public async Task <ActionResult> AddChefToRestaurant(int RestoId, bool ChefOrNotAdmin)
        {
            ICollection <ApplicationUser> UserList = await UserManager.Users.ToListAsync();

            Resto restofound = await DbManager.Restos.FirstOrDefaultAsync(resto => resto.Id == RestoId);

            if (UserList != null && restofound != null)
            {
                var model = new AddChefToRestaurantViewModel()
                {
                    RestoName      = restofound.Name,
                    chefOrNotAdmin = ChefOrNotAdmin
                };

                foreach (var user in UserList)
                {
                    var userViewModel = new SelectUserRestoViewModel()
                    {
                        Id       = user.Id,
                        UserName = user.UserName,
                        Email    = user.Email,
                        Selected = true
                    };
                    if (restofound.Chefs.FirstOrDefault(m => m.Id == user.Id) == null && ChefOrNotAdmin)
                    {
                        userViewModel.Selected = false;
                    }
                    if (restofound.Administrators.FirstOrDefault(m => m.Id == user.Id) == null && !ChefOrNotAdmin)
                    {
                        userViewModel.Selected = false;
                    }
                    model.User.Add(userViewModel);
                }
                return(View(model));
            }
            return(View("Error"));
        }