// GET: Admin
        public ActionResult Index()
        {
            if (_appraisalSeasonDa.GetActiveAppraisalSeason() != null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            List <User> userList = _activeDirectoryUserDa.GetActiveDirectoryUsers().ToList()
                                   .Select(p => AutoMapper.Mapper.Map <User>(p)).ToList();

            userList.ForEach(p => p.IsPC = _userRolesDa.IsUserPC(p.id));
            return(View(userList));
        }
コード例 #2
0
        public async Task <ActionResult> UpdateFeedback(Guid feedbackFor, string feedbackForName, Guid feedbackFrom, string feedbackFromName, HttpPostedFileBase file, int peerAssociateId, bool shareWithPeer)
        {
            var activeAppraisalProces = _appraisalSeasonDa.GetActiveAppraisalSeason();
            //var name = string.Concat(feedbackForName + "-" + feedbackFromName + "-" + activeAppraisalProces.Name);
            var ext  = Path.GetExtension(file.FileName);
            var name = $"[{activeAppraisalProces.Name}]-for-[{feedbackForName}]-from-[{feedbackFromName}]{ext}";

            var path = await _fileService.UploadFile(file, name, activeAppraisalProces.Name);

            var peer = _peersDa.GetByPeerAssociateId(peerAssociateId);

            peer.FeedbackDocumentUrl        = path;
            peer.ShareFeedbackWithAssociate = shareWithPeer;
            _peersDa.UpdatePeer(peer);
            return(RedirectToAction("Index"));
        }
        public async Task <ActionResult> UpdateFeedback(EmployeeViewModel employeeViewModel)
        {
            var activeAppraisalProces = _appraisalProcessDa.GetActiveAppraisalSeason();
            var name = string.Concat(employeeViewModel.AssociateName + "-" + employeeViewModel.PeerName + "-" + activeAppraisalProces.Name);

            var path = await _fileService.UploadFile(employeeViewModel.FeedbackDocument, name, activeAppraisalProces.Name);

            employeeViewModel.FeedbackDocumentUrl = path;
            var peer = AutoMapper.Mapper.Map <Peer>(employeeViewModel);

            _peersDa.UpdatePeer(peer);
            return(RedirectToAction("Index"));
        }
コード例 #4
0
        public async Task <ActionResult> AddPeers(AssociatePeerSelectionModel peerSelectionModel, string addPeersButton)
        {
            var peers = peerSelectionModel.PeerViewModels.Where(p => p.IsSelected == true)
                        .Select(p => AutoMapper.Mapper.Map <Peer>(p)).ToList();

            if (peers.Any())
            {
                var pcAssociateId = peers.FirstOrDefault().PCAssociateId;
                var peersForGivenAssociateByPcAssociateId = _peersDa.GetPeersForGivenAssociateByPcAssociateId(pcAssociateId);
                _peersDa.RemovePeers(peersForGivenAssociateByPcAssociateId);
                if (addPeersButton == "Finalize Peers")
                {
                    var pcAssociate = _pcAssociatesDa.GetPCAssociate(pcAssociateId);
                    pcAssociate.PeerListFinalized = true;
                    _pcAssociatesDa.EditPCAssociate(pcAssociate);

                    #region mailNotification
                    {
                        var allAdUsers = _activeDirectoryUserDa.GetActiveDirectoryUsers().ToList()
                                         .Select(p => AutoMapper.Mapper.Map <User>(p)).ToList();
                        var allAdUsersDictionary = allAdUsers.ToList().ToDictionary(p => p.id);
                        var pc        = allAdUsersDictionary[_pcAssociatesDa.GetPCAssociate(pcAssociateId).PCUserId];
                        var associate =
                            allAdUsersDictionary[_pcAssociatesDa.GetPCAssociate(pcAssociateId).AssociateUserId];
                        var peerUsers = new List <User>();
                        peers.ForEach(p => peerUsers.Add(allAdUsersDictionary[p.PeerUserId]));
                        var activeAppraisalSeason = _appraisalSeasonDa.GetActiveAppraisalSeason();
                        _notificationService.SendMessageToAssociateOnPeerListFinalization(pc, associate, peerUsers);
                        _notificationService.SendMessageToPeersOnPeerListFinalization(pc, associate, peerUsers, activeAppraisalSeason.Name);
                    }
                    #endregion
                }
            }


            _peersDa.AddPeers(peers);
            return(RedirectToAction("Index", "Home"));
        }