예제 #1
0
        public JsonResult GetAwardFrequency(int awardId)
        {
            var currentAward   = _awardService.GetAwardById(awardId);
            var awardFrequency = _nominationService.GetAwardFrequencyById(currentAward.FrequencyId);

            return(Json(awardFrequency.Code, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
 /* Yazilimci Odul Detay Detayi */
 public IActionResult OdulDetay(int Id)
 {
     int developerId = Convert.ToInt32(HttpContext.Session.GetString("SessionDeveloperId"));
     Award award = _awardService.GetAwardById(Id);
     if (award == null)
     {
         return RedirectToAction("Hata", "Uye");
     }
     if (award.DeveloperId != developerId)
     {
         return RedirectToAction("Hata", "Uye");
     }
     return View(award);
 }
예제 #3
0
        private AwardViewModel GetAward(string userId, string awardId)
        {
            var award = _awardService.GetAwardById(userId, awardId);

            if (award == null)
            {
                return(null);
            }


            var result = new AwardViewModel()
            {
                Id         = award.Id,
                Title      = award.Title,
                Level      = award.Level,
                IssuedBy   = award.IssuedBy,
                IssuedDate = award.IssuedDate
            };

            return(result);
        }
예제 #4
0
        public ActionResult AddNomination(NominationViewModel model, string submit)
        {
            _logger.Log("Nomination-AddNomination-POST");
            try
            {
                _logger.Log("Nomination-AddNomination-POST-try");
                var customDate = _customDateService.GetCustomDate(model.AwardId);
                var awardOfCurrentNomination = _awardService.GetAwardById(model.AwardId);
                var currentAwardFrequency    = _nominationService.GetAwardFrequencyById(awardOfCurrentNomination.FrequencyId);
                #region RestrictManagerLogic

                var noOfNominationForManager = Convert.ToInt32(ConfigurationManager.AppSettings["noOfNominationForManager"]);
                var startDate         = new DateTime();
                var endDate           = new DateTime();
                var countOfNomination = 0;
                _logger.Log("Todays Date: " + customDate);
                if (currentAwardFrequency.Code == FrequencyCode.MON.ToString())
                {
                    var firstDateOfCurrentMonth = new DateTime(customDate.Year, customDate.Month, 1);
                    startDate = firstDateOfCurrentMonth;
                    var noOfDaysInCurrentMonth = DateTime.DaysInMonth(customDate.Year, customDate.Month);
                    endDate           = new DateTime(customDate.Year, customDate.Month, noOfDaysInCurrentMonth);
                    countOfNomination = _nominationService.GetNominationCountByManagerIdForSom(model.ManagerId, startDate, endDate, model.AwardId);
                }
                else if (currentAwardFrequency.Code == FrequencyCode.YEAR.ToString())
                {
                    var firstDateOfCurrentYear = new DateTime(customDate.Year, 1, 1);
                    startDate         = firstDateOfCurrentYear;
                    countOfNomination = _nominationService.GetNominationCountByManagerIdForPinnacle(model.ManagerId, startDate, model.AwardId);
                }

                if (noOfNominationForManager <= countOfNomination)
                {
                    _logger.Log("Nomination-AddNomination-POST-try-if noOfNominationForManager <= countOfNomination");
                    return(Json(new { success = true, nominationExceed = true, message = "Only " + noOfNominationForManager + " nominations are allowed for " + awardOfCurrentNomination.Name + " !" }, JsonRequestBehavior.AllowGet));
                }

                #endregion RestrictManagerLogic

                var nomination = new Nomination
                {
                    AwardId   = model.AwardId,
                    ManagerId = model.ManagerId,
                    UserId    = model.ResourceId
                };

                switch (model.SelectResourcesBy)
                {
                case "Project":
                    nomination.ProjectID = model.ProjectID;
                    break;

                case "Department":
                    nomination.DepartmentId = model.DepartmentId;
                    break;

                case "Other":
                    nomination.Other = true;
                    nomination.OtherNominationReason = model.OtherNominationReason;
                    break;

                default:
                    break;
                }

                nomination.NominationDate = customDate;
                nomination.IsSubmitted    = submit.Equals("Submit");

                foreach (var criteria in model.Comments)
                {
                    if (criteria.Comment != null || criteria.Rating != 0)
                    {
                        nomination.ManagerComments.Add(
                            new ManagerComment
                        {
                            CriteriaId   = criteria.Id,
                            Comment      = criteria.Comment != null ? criteria.Comment : "",
                            Rating       = criteria.Rating,
                            Weightage    = criteria.Weightage,
                            FinalScore   = 0,
                            AdminComment = ""
                        }
                            );
                    }
                }
                nomination.Comment = model.MainComment != null ? model.MainComment : "";

                nomination.IsLocked = false;
                var wasSubmitted = _awardService.AddNomination(nomination);
                return(Json(new { success = wasSubmitted }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                _logger.Log("Nomination-AddNomination-POST-catch");
                _logger.Log("Nomination-AddNomination-POST-" + ex.Message);
            }
            return(Json(new { success = false }, JsonRequestBehavior.AllowGet));
        }