// 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)); }
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")); }
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")); }