Beispiel #1
0
        public async Task <IHttpActionResult> SaveInterviewDetails(InterviewDetailsDTO interviewDetails)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                if (interviewDetails != null)
                {
                    var claimsIdentity = RequestContext.Principal.Identity as ClaimsIdentity;
                    var userName       = claimsIdentity.Claims.Where(x => x.Type == "sub").Select(y => y.Value).SingleOrDefault();
                    var user           = await _authRepository.FindUser(userName);

                    var savedInterviewDetails = _unitOfWork.GetInterviewRepository().SaveInterviewDetails(interviewDetails, user.Id);
                    await _unitOfWork.Save();

                    var response = new { interviewId = savedInterviewDetails.InterviewDetailId };
                    return(Ok(response));
                }
                else
                {
                    return(BadRequest());
                }
            }
            catch (Exception e)
            {
                return(InternalServerError(e));
            }
        }
Beispiel #2
0
        public InterviewDetail SaveInterviewDetails(InterviewDetailsDTO interviewDetails, string userId)
        {
            var interviewDetailEntity = new InterviewDetail();

            interviewDetailEntity.CompanyName          = interviewDetails.CompanyName;
            interviewDetailEntity.Designation          = interviewDetails.Designation;
            interviewDetailEntity.HiringIndividualName = interviewDetails.HiringIndividualName;
            interviewDetailEntity.InterviewDate        = interviewDetails.InterviewDate;
            interviewDetailEntity.InterviewTypeId      = interviewDetails.InterviewTypeId;
            interviewDetailEntity.UserId    = userId;
            interviewDetailEntity.ColorCode = interviewDetails.Tag;
            return(_dbContext.InterviewDetails.Add(interviewDetailEntity));
        }
Beispiel #3
0
        public async Task <List <InterviewDetailsDTO> > GetInterviewDetails(string userId)
        {
            List <InterviewDetailsDTO> interviewDetailsList = new List <InterviewDetailsDTO>();
            var interviewDetails = await _dbContext.InterviewDetails.Where(x => x.UserId == userId).ToListAsync();

            foreach (var item in interviewDetails)
            {
                var interviewDetailItem = new InterviewDetailsDTO();
                interviewDetailItem.CompanyName          = item.CompanyName;
                interviewDetailItem.Designation          = item.Designation;
                interviewDetailItem.HiringIndividualName = item.HiringIndividualName;
                interviewDetailItem.InterviewDate        = item.InterviewDate;
                interviewDetailItem.InterviewTypeId      = item.InterviewTypeId;
                interviewDetailItem.Tag               = item.ColorCode;
                interviewDetailItem.InterviewId       = item.InterviewDetailId;
                interviewDetailItem.InterviewTypeName = _dbContext.InterviewTypes.FirstOrDefault(x => x.InterviewTypeId == item.InterviewTypeId).InterviewTypeName;
                var stages = _dbContext.Stages.Where(x => x.InterviewTypeId == interviewDetailItem.InterviewTypeId);
                if (stages != null && stages.Any())
                {
                    interviewDetailItem.TotalNumberOfStages     = stages.Count();
                    interviewDetailItem.CompletedNumberOfStages = _dbContext.InterviewCompletedStageMappings.Count(x => x.InterviewId == interviewDetailItem.InterviewId);
                    //if (completedStages != null)
                    //    interviewDetailItem.CompletedNumberOfStages = completedStages.Count();
                }
                else
                {
                    interviewDetailItem.TotalNumberOfStages = 0;
                }

                GetInterviewStage_Result stageDetails = _dbContext.GetInterviewStage(item.InterviewDetailId).FirstOrDefault();
                if (stageDetails != null)
                {
                    interviewDetailItem.CurrentStageId   = stageDetails.Id;
                    interviewDetailItem.CurrentStageName = stageDetails.StageName;
                }
                interviewDetailsList.Add(interviewDetailItem);
            }
            return(interviewDetailsList);
        }