示例#1
0
        public ActionResult SavedNomination(int managerId = 0)
        {
            _logger.Log("Nomination-SavedNomination-GET");
            var email = User.Identity.Name;

            _awardService.GetProjectsUnderCurrentUserAsManager(email);
            _awardService.GetDepartmentsUnderCurrentUserAsManager(email);

            var nominations      = _nominationService.GetAllSubmittedAndSavedNominationsByCurrentUser(managerId);
            var savedNominations = new List <NominationListViewModel>();

            foreach (var nomination in nominations)
            {
                var award = _encourageDatabaseContext.Query <Award>().FirstOrDefault(a => a.Id == nomination.AwardId);
                if (award == null)
                {
                    continue;
                }
                var awardFrequencyCode = _nominationService.GetAwardFrequencyById(award.FrequencyId);
                var awardName          = award.Code;
                var nominee            = _commonDbContext.Query <User>().FirstOrDefault(u => u.ID == nomination.UserId);
                var nominationTime     = nomination.NominationDate;
                if (nominationTime == null)
                {
                    continue;
                }

                string nominationTimeToDisplay = CultureInfo.CurrentCulture.DateTimeFormat.GetAbbreviatedMonthName(nominationTime.Value.Month) + "-" + nominationTime.Value.Year;
                if (nominee != null)
                {
                    var reviewNominationViewModel = new NominationListViewModel()
                    {
                        Intials            = nominee.FirstName.Substring(0, 1) + "" + nominee.LastName.Substring(0, 1),
                        AwardName          = awardName,
                        DisplayName        = nominee.DisplayName,
                        NominationTime     = nominationTimeToDisplay,
                        Id                 = nomination.Id,
                        IsSubmitted        = nomination.IsSubmitted,
                        AwardFrequencyCode = awardFrequencyCode.Code,
                        UserId             = nominee.ID,
                        EmployeeId         = nominee.EmployeeID
                    };
                    savedNominations.Add(reviewNominationViewModel);
                }
            }
            return(View(savedNominations));
        }
示例#2
0
        private List <NominationListViewModel> GetSavedReviewsList(bool forCurrentMonth, int awardId)
        {
            _logger.Log("Nomination-GetSavedReviewsList");
            var reviewedNominations = new List <NominationListViewModel>();
            var reviewerId          = _nominationService.GetReviewerIdOfCurrentNomination(User.Identity.Name);

            if (reviewerId == 0)
            {
                ViewBag.erroMessage = "You are not authorized to view this page, please contact system administrator.";
                return(reviewedNominations);
            }

            var nominations = _nominationService.GetAllSubmitedReviewedNominations(reviewerId, forCurrentMonth, awardId);

            foreach (var nomination in nominations)
            {
                var awardName      = _nominationService.GetAwardNameByAwardId(nomination.AwardId);
                var nominee        = _nominationService.GetNomineeDetails(nomination.UserId);
                var nominationTime = Convert.ToDateTime(nomination.NominationDate);
                var award          = _encourageDatabaseContext.Query <Award>().FirstOrDefault(a => a.Id == nomination.AwardId);
                if (award != null)
                {
                    var    awardFrequency            = _nominationService.GetAwardFrequencyById(award.FrequencyId);
                    string nominationTimeToDisplay   = CultureInfo.CurrentCulture.DateTimeFormat.GetAbbreviatedMonthName(nominationTime.Month) + "-" + nominationTime.Year;
                    var    reviewNominationViewModel = new NominationListViewModel()
                    {
                        Intials            = nominee.FirstName.Substring(0, 1) + "" + nominee.LastName.Substring(0, 1),
                        AwardName          = awardName,
                        DisplayName        = nominee.DisplayName,
                        NominationTime     = nominationTimeToDisplay,
                        Id                 = nomination.Id,
                        IsSubmitted        = nomination.IsSubmitted,
                        AwardFrequencyCode = awardFrequency.Code,
                        UserId             = nominee.ID,
                        EmployeeId         = nominee.EmployeeID
                    };
                    reviewedNominations.Add(reviewNominationViewModel);
                }
            }
            return(reviewedNominations);
        }
示例#3
0
        private List <NominationListViewModel> GetNominations(bool forCurrentMonth, int awardId)
        {
            _logger.Log("Nomination-GetNominations-GET");
            var email = User.Identity.Name;

            _awardService.GetProjectsUnderCurrentUserAsManager(email);

            var managerId = _awardService.GetUserIdFromEmail(email);

            var nominations = _nominationService.GetAllSubmittedAndSavedNominationsByCurrentUserAndMonth(managerId, forCurrentMonth, awardId);

            var savedNominations = new List <NominationListViewModel>();

            foreach (var nomination in nominations)
            {
                var award = _encourageDatabaseContext.Query <Award>().FirstOrDefault(a => a.Id == nomination.AwardId);
                if (award != null)
                {
                    var    awardName               = award.Code;
                    var    nominee                 = _nominationService.GetNomineeDetails(nomination.UserId);
                    var    nominationTime          = Convert.ToDateTime(nomination.NominationDate);
                    var    awardFrequency          = _nominationService.GetAwardFrequencyById(award.FrequencyId);
                    string nominationTimeToDisplay = CultureInfo.CurrentCulture.DateTimeFormat.GetAbbreviatedMonthName(nominationTime.Month) + "-" + nominationTime.Year;

                    var reviewNominationViewModel = new NominationListViewModel()
                    {
                        Intials            = nominee.FirstName.Substring(0, 1) + "" + nominee.LastName.Substring(0, 1),
                        AwardName          = awardName,
                        DisplayName        = nominee.DisplayName,
                        NominationTime     = nominationTimeToDisplay,
                        Id                 = nomination.Id,
                        IsSubmitted        = nomination.IsSubmitted,
                        AwardFrequencyCode = awardFrequency.Code,
                        UserId             = nominee.ID,
                        EmployeeId         = nominee.EmployeeID
                    };
                    savedNominations.Add(reviewNominationViewModel);
                }
            }
            return(savedNominations);
        }
示例#4
0
        public ActionResult ReviewNominations()
        {
            _logger.Log("Nomination-ReviewNominations-GET");
            var reviewerId        = _nominationService.GetReviewerIdOfCurrentNomination(User.Identity.Name);
            var reviewNominations = new List <NominationListViewModel>();

            if (reviewerId == 0)
            {
                ViewBag.erroMessage = "You are not authorized to view this page, please contact system administrator.";
                return(View(reviewNominations));
            }

            var nominations = _nominationService.GetAllSubmitedNonreviewedNominations(reviewerId);

            foreach (var nomination in nominations)
            {
                var award = _encourageDatabaseContext.Query <Award>().FirstOrDefault(a => a.Id == nomination.AwardId);
                if (award == null)
                {
                    continue;
                }

                var customDate     = _customDateService.GetCustomDate(award.Id);
                var awardFrequency = _nominationService.GetAwardFrequencyById(award.FrequencyId);
                var orDefault      = _encourageDatabaseContext.Query <Award>().FirstOrDefault(a => a.Id == nomination.AwardId);
                if (orDefault == null)
                {
                    continue;
                }

                var awardName    = orDefault.Code;
                var nominee      = _commonDbContext.Query <User>().FirstOrDefault(u => u.ID == nomination.UserId);
                var nominationDb = _encourageDatabaseContext.Query <Nomination>().FirstOrDefault(n => n.Id == nomination.Id);
                if (nominationDb == null)
                {
                    continue;
                }

                var  nominationTime = Convert.ToDateTime(nominationDb.NominationDate);
                bool islocked       = false;

                try
                {
                    var reviewData = from r in _reviewService.GetAllReview()
                                     join n in _nominationService.GetAllNominations()
                                     on r.NominationId equals n.Id

                                     where (n.NominationDate.Value.Month.Equals(customDate.Month) &&
                                            (customDate.Year).Equals(n.NominationDate.Value.Year)
                                            )
                                     select r;

                    var firstOrDefault = reviewData.FirstOrDefault();
                    if (firstOrDefault != null)
                    {
                        islocked = firstOrDefault.IsLocked ?? false;
                    }
                }
                catch (Exception ex)
                {
                    _logger.Log("Nomination-ReviewNominations-POST-" + ex.Message);
                }

                string nominationTimeToDisplay = CultureInfo.CurrentCulture.DateTimeFormat.GetAbbreviatedMonthName(nominationTime.Month) + "-" + nominationTime.Year.ToString();

                var reviewNominationViewModel = new NominationListViewModel()
                {
                    Intials = nominee != null?nominee.FirstName.Substring(0, 1) + "" + nominee.LastName.Substring(0, 1) : string.Empty,
                                  AwardName          = awardName,
                                  DisplayName        = nominee != null ? nominee.DisplayName : string.Empty,
                                  NominationTime     = nominationTimeToDisplay,
                                  Id                 = nomination.Id,
                                  IsLocked           = islocked,
                                  IsDrafted          = _nominationService.CheckReviewIsDrafted(nomination.Id),
                                  AwardFrequencyCode = awardFrequency.Code,
                                  UserId             = nominee.ID,
                                  EmployeeId         = nominee.EmployeeID
                };
                reviewNominations.Add(reviewNominationViewModel);
            }
            return(View(reviewNominations));
        }