예제 #1
0
 public ActionResult EditAssociate(PCAssociateViewModel pcAssociateViewModel)
 {
     if (ModelState.IsValid)
     {
         _pcAssociatesDa.EditPCAssociate(
             AutoMapper.Mapper.Map <PCAssociateViewModel, PCAssociate>(pcAssociateViewModel));
         return(RedirectToAction("Index"));
     }
     return(View(pcAssociateViewModel));
 }
예제 #2
0
        /*public async Task<ActionResult> Associates(int pcAssociateId)
         * {
         *  var identityName = User.Identity.Name;
         *  var users = await _activeDirectory.GetAllAdUsers();
         *  var adUsersMap = users.ToDictionary(key => key.id, value => value.displayName);
         *  var userID = users.First(adUser => adUser.userPrincipalName == identityName).id;
         *  ViewBag.AssociateId = userID;
         *  var pcAssociateUserViewModels =
         *      AutoMapper.Mapper.Map<PCAssociateViewModel>(_pcAssociatesDa.GetPCAssociate(pcAssociateId));
         *  pcAssociateUserViewModels.PCDisplayName = adUsersMap[pcAssociateUserViewModels.PCUserId];
         *  pcAssociateUserViewModels.AssociateDisplayName = adUsersMap[pcAssociateUserViewModels.AssociateUserId];
         *  pcAssociateUserViewModels.Peers.ForEach(q => q.PeerName = adUsersMap[q.PeerUserId]);
         *  return View(pcAssociateUserViewModels);
         * }*/

        public async Task <ActionResult> AssignPeersToAssociates(PCAssociateViewModel pcAssociateViewModel)
        {
            var peersForGivenAssociateByPcAssociateId = _peersDa.GetPeersForGivenAssociateByPcAssociateId(pcAssociateViewModel.PCAssociatesId);
            var users = _activeDirectoryUserDa.GetActiveDirectoryUsers().ToList()
                        .Select(p => AutoMapper.Mapper.Map <User>(p)).ToList();
            var peerViewModels = users.Where(p => p.id != pcAssociateViewModel.PCUserId && p.id != pcAssociateViewModel.AssociateUserId).ToList()
                                 .Select(p => AutoMapper.Mapper.Map <PeerViewModel>(p)).ToList();

            foreach (var peerViewModel in peerViewModels)
            {
                peerViewModel.AssociateUserId = pcAssociateViewModel.AssociateUserId;
                peerViewModel.IsSelected      = false || peersForGivenAssociateByPcAssociateId.Any(p => p.PeerUserId == peerViewModel.PeerUserId);
                peerViewModel.PCAssociateId   = pcAssociateViewModel.PCAssociatesId;
            }
            var associatePeerSelectionModel = new AssociatePeerSelectionModel();

            associatePeerSelectionModel.PeerViewModels.AddRange(peerViewModels);
            associatePeerSelectionModel.PeerListFinalized = pcAssociateViewModel.PeerListFinalized;
            return(View(associatePeerSelectionModel));
        }