public ActionResult Create(JobPositionType jobCatg)
 {
     if (ModelState.IsValid)
     {
         var service = new JobPositionTypeProvider();
         var results = service.Add(jobCatg);
         return(Json(results));
     }
     return(new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest));
 }
        public Reviewer GetNextReviewer(JobPositionType positionType)
        {
            var reviewerService = new ReviewerProvider();
            var commonConfigs   = AppConfigsProvider.CommonConfigs;

            if (positionType == null || string.IsNullOrEmpty(positionType.Interviewers))
            {
                return(null);
            }

            var reviewers = positionType.Interviewers.Split(new char[] { ';', ',' }, StringSplitOptions.RemoveEmptyEntries)
                            .Select(email => email.ToLower().Trim())
                            .Select(email => reviewerService.GetByEmail(email))
                            .Where(rvr => rvr != null && rvr.IsInWorkingHours(commonConfigs.StartTimeOfDay, commonConfigs.EndTimeOfDay, commonConfigs.EnabledDays))
                            .Distinct();

            return(reviewers.OrderBy(rvr => rvr.RecentAssignedAt ?? DateTime.MinValue)
                   .FirstOrDefault());
        }