Example #1
0
        private async void SendInterviewScheduledMailToApplicant(TblInterviewManagement tblInterviewManagement)
        {
            DateTime      dt            = (DateTime)tblInterviewManagement.InterviewDate;
            var           interview     = dbContext.TblInterviewManagement.Where(r => r.InterviewId == tblInterviewManagement.InterviewId).AsNoTracking().Include(r => r.Applicant).Include(r => r.ApplicantRequisition.Requisition.Designation).FirstOrDefault();
            EmailTemplate emailTemplate = new EmailTemplate();

            emailTemplate.ToEmailAddress = new string[] { dbContext.TblApplicants.Where(r => r.ApplicantId == tblInterviewManagement.ApplicantId).FirstOrDefault().EmailAddress };
            StringBuilder stringBuilder = new StringBuilder();
            TblInterviewEmployeeMapping tblInterviewEmployees = dbContext.TblInterviewEmployeeMapping.AsNoTracking().Where(r => r.InterviewId == tblInterviewManagement.InterviewId).Include(r => r.Employee).FirstOrDefault();

            stringBuilder.AppendLine("Dear " + interview.Applicant.Name + ",");
            stringBuilder.AppendLine("Your application for the '" + interview.ApplicantRequisition.Requisition.Designation.Designation + "' position stood out to us and we would like to invite you for an interview at our office[s] to get to know you a bit better.");
            stringBuilder.AppendLine("Your interview has been scheduled for '" + interview.InterviewDate + ", at " + tblInterviewManagement.Venue + "' and your Interview panel is '" + tblInterviewManagement.InterviewPanel + "'.");
            stringBuilder.AppendLine("Please call me at '1234567890' or email me at '" + emailTemplate.ToEmailAddress[0] + "', if you have any questions or need to reschedule.");
            stringBuilder.AppendLine();
            stringBuilder.AppendLine("Sincerely,");
            stringBuilder.AppendLine(tblInterviewEmployees.Employee.EmployeeName);
            emailTemplate.Body                 = stringBuilder.ToString();
            emailTemplate.Subject              = "Invitation to Interview";
            emailTemplate.InvitationStartTime  = dt;
            emailTemplate.InvitationEndTime    = dt.AddHours(1);
            emailTemplate.Location             = tblInterviewManagement.Venue;
            emailTemplate.EmailFromDisplayName = tblInterviewEmployees.Employee.EmployeeName;
            emailTemplate.UniqueIdentifier     = tblInterviewManagement.EmailGuid;
            await EmailHelper.SendMailWithCalendarInvite(emailTemplate);
        }
Example #2
0
        private async void SendInterviewScheduledMailToPanel(TblInterviewManagement tblInterviewManagement, ICollection <TblInterviewEmployeeMapping> tblInterviewEmployeeMapping)
        {
            DateTime      dt            = (DateTime)tblInterviewManagement.InterviewDate;
            var           interview     = dbContext.TblInterviewManagement.Where(r => r.InterviewId == tblInterviewManagement.InterviewId).AsNoTracking().Include(r => r.Applicant).Include(r => r.ApplicantRequisition.Requisition.Designation).FirstOrDefault();
            EmailTemplate emailTemplate = new EmailTemplate();
            StringBuilder stringBuilder = new StringBuilder();
            TblInterviewEmployeeMapping tblInterviewEmployees = dbContext.TblInterviewEmployeeMapping.AsNoTracking().Where(r => r.InterviewId == tblInterviewManagement.InterviewId).Include(r => r.Employee).FirstOrDefault();

            stringBuilder.AppendLine("Hi " + tblInterviewEmployees.Employee.EmployeeName + ",");
            stringBuilder.AppendLine("Interview has been Raised for you on '" + tblInterviewManagement.InterviewDate + "' at '" + tblInterviewManagement.Venue + "'.");
            stringBuilder.AppendLine("Applicant Name - " + interview.Applicant.Name);
            stringBuilder.AppendLine("Comments about Candidate - '" + tblInterviewManagement.Comments + "'.");
            emailTemplate.Body                 = stringBuilder.ToString();
            emailTemplate.Subject              = "Interview has been Scheduled";
            emailTemplate.InvitationStartTime  = dt;
            emailTemplate.InvitationEndTime    = dt.AddHours(1);
            emailTemplate.Location             = tblInterviewManagement.Venue;
            emailTemplate.EmailFromDisplayName = tblInterviewEmployees.Employee.EmployeeName;
            List <string> emails = new List <string>();

            foreach (TblInterviewEmployeeMapping interviewer in tblInterviewEmployeeMapping)
            {
                emails.Add(dbContext.TblEmployees.AsNoTracking().Where(r => r.EmployeeId == interviewer.EmployeeId).FirstOrDefault().EmailId);
            }
            emailTemplate.ToEmailAddress   = emails.ToArray();
            emailTemplate.UniqueIdentifier = tblInterviewManagement.EmailGuid;
            await EmailHelper.SendMailWithCalendarInvite(emailTemplate);
        }
Example #3
0
        public int SaveInterviewDetails(TblInterviewManagement tblInterviewManagement)
        {
            dbContext.Entry(tblInterviewManagement).State = EntityState.Added;
            tblInterviewManagement.CreatedBy   = CurrentContext.EmployeeID;
            tblInterviewManagement.CreatedDate = DateTime.Now;
            tblInterviewManagement.IsCompleted = false;
            tblInterviewManagement.EmailGuid   = new Guid();
            string Round = tblInterviewManagement.Status;

            tblInterviewManagement.Status = InterviewStatus.InterviewScheduled;
            dbContext.TblInterviewManagement.Add(tblInterviewManagement);
            dbContext.SaveChanges();
            dbContext.Entry(tblInterviewManagement).State = EntityState.Detached;
            for (int i = 0; tblInterviewManagement.TblInterviewEmployeeMapping.Count > i; i++)
            {
                tblInterviewManagement.TblInterviewEmployeeMapping.ElementAt(i).InterviewId = tblInterviewManagement.InterviewId;
                tblInterviewManagement.TblInterviewEmployeeMapping.ElementAt(i).IsActive    = true;
                dbContext.TblInterviewEmployeeMapping.Add(tblInterviewManagement.TblInterviewEmployeeMapping.ElementAt(i));
            }
            dbContext.SaveChanges();
            //Requisition
            var requisition = dbContext.TblApplicantRequisition.Where(r => r.ApplicantRequisitionId == tblInterviewManagement.ApplicantRequisitionId).FirstOrDefault();

            requisition.Status                 = Round + "-" + InterviewStatus.InterviewScheduled;
            requisition.ModifiedBy             = CurrentContext.EmployeeID;
            requisition.ModifiedDate           = DateTime.Now;
            dbContext.Entry(requisition).State = EntityState.Modified;
            dbContext.TblApplicantRequisition.Update(requisition);
            dbContext.SaveChanges();
            dbContext.Entry(requisition).State = EntityState.Detached;
            SendInterviewScheduledMailToApplicant(tblInterviewManagement);
            SendInterviewScheduledMailToPanel(tblInterviewManagement, tblInterviewManagement.TblInterviewEmployeeMapping);
            return(1);
        }
Example #4
0
        public int UpdateInterview(TblInterviewManagement tblInterviewManagement)
        {
            if (CurrentContext.RoleName != RoleConstants.EmployeeRole && CurrentContext.RoleName != RoleConstants.ManagerRole)
            {
                var interviewers = dbContext.TblInterviewEmployeeMapping.Where(r => r.InterviewId == tblInterviewManagement.InterviewId).ToList();
                SendInterviewCancelledMailToPanel(tblInterviewManagement, interviewers);
                foreach (TblInterviewEmployeeMapping interviewer in interviewers)
                {
                    dbContext.TblInterviewEmployeeMapping.Remove(interviewer);
                }
                dbContext.SaveChanges();
                for (int i = 0; tblInterviewManagement.TblInterviewEmployeeMapping.Count > i; i++)
                {
                    TblInterviewEmployeeMapping tblInterviewEmployeeMapping = new TblInterviewEmployeeMapping();
                    tblInterviewEmployeeMapping.InterviewId = tblInterviewManagement.InterviewId;
                    tblInterviewEmployeeMapping.IsActive    = true;
                    tblInterviewEmployeeMapping.EmployeeId  = tblInterviewManagement.TblInterviewEmployeeMapping.ElementAt(i).EmployeeId;
                    dbContext.TblInterviewEmployeeMapping.Add(tblInterviewEmployeeMapping);
                }
                dbContext.SaveChanges();
                SendInterviewScheduledMailToPanel(tblInterviewManagement, tblInterviewManagement.TblInterviewEmployeeMapping);
            }
            dbContext.Entry(tblInterviewManagement).State = EntityState.Modified;
            tblInterviewManagement.ModifiedBy             = CurrentContext.EmployeeID;
            tblInterviewManagement.ModifiedDate           = DateTime.Now;
            string Round = tblInterviewManagement.Status;

            if (CurrentContext.RoleName != RoleConstants.EmployeeRole && CurrentContext.RoleName != RoleConstants.ManagerRole)
            {
                tblInterviewManagement.Status = InterviewStatus.InterviewScheduled;
            }
            dbContext.TblInterviewManagement.Update(tblInterviewManagement);
            dbContext.SaveChanges();
            dbContext.Entry(tblInterviewManagement).State = EntityState.Detached;
            //Requisition
            var requisition = dbContext.TblApplicantRequisition.Where(r => r.ApplicantRequisitionId == tblInterviewManagement.ApplicantRequisitionId).FirstOrDefault();

            if (CurrentContext.RoleName != RoleConstants.EmployeeRole && CurrentContext.RoleName != RoleConstants.ManagerRole)
            {
                requisition.Status = Round + "-" + tblInterviewManagement.Status;
            }
            else
            {
                requisition.Status = requisition.Status.Split("-")[0] + "-" + tblInterviewManagement.Status;
            }
            requisition.ModifiedBy             = CurrentContext.EmployeeID;
            requisition.ModifiedDate           = DateTime.Now;
            dbContext.Entry(requisition).State = EntityState.Modified;
            dbContext.TblApplicantRequisition.Update(requisition);
            dbContext.SaveChanges();
            dbContext.Entry(requisition).State = EntityState.Detached;
            SendFeedbackMailToRecruiter(tblInterviewManagement);
            return(1);
        }
Example #5
0
        private async void SendInterviewCancelledMailToRecruiter(TblInterviewManagement tblInterviewManagement)
        {
            EmailTemplate emailTemplate = new EmailTemplate();
            StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.AppendLine("Hi,");
            stringBuilder.AppendLine("I will be busy on '" + tblInterviewManagement.InterviewDate + "', so you can reschedule or cancel interview for me.");
            emailTemplate.Body    = stringBuilder.ToString();
            emailTemplate.Subject = "Interview Reschedule or cancel";
            emailTemplate.EmailFromDisplayName = dbContext.TblEmployees.AsNoTracking().Where(r => r.EmployeeId == CurrentContext.EmployeeID).FirstOrDefault().EmployeeName;
            emailTemplate.ToEmailAddress       = dbContext.TblEmployees.AsNoTracking().Where(r => r.EmployeeId == tblInterviewManagement.CreatedBy).AsNoTracking().ToList().Select(r => r.EmailId).ToArray();
            await EmailHelper.SendMailWithoutCalendarInvite(emailTemplate);
        }
Example #6
0
        private async void SendFeedbackMailToRecruiter(TblInterviewManagement tblInterviewManagement)
        {
            EmailTemplate emailTemplate = new EmailTemplate();
            StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.AppendLine("Interviewer " + tblInterviewManagement.Applicant.Name);
            stringBuilder.AppendLine("Applicant Name " + tblInterviewManagement.Applicant.Name);
            stringBuilder.AppendLine("Feedback on Candidate: '" + tblInterviewManagement.FeedBack + "'.");
            emailTemplate.Body    = stringBuilder.ToString();
            emailTemplate.Subject = "Interviewer feedback";
            emailTemplate.EmailFromDisplayName = dbContext.TblEmployees.AsNoTracking().Where(r => r.EmployeeId == CurrentContext.EmployeeID).FirstOrDefault().EmployeeName;
            emailTemplate.ToEmailAddress       = dbContext.TblEmployees.AsNoTracking().Where(r => r.EmployeeId == tblInterviewManagement.CreatedBy).AsNoTracking().ToList().Select(r => r.EmailId).ToArray();
            await EmailHelper.SendMailWithoutCalendarInvite(emailTemplate);
        }
Example #7
0
        private async void SendInterviewCancellationMailToPanel(string EmailID, TblInterviewManagement tblInterviewManagement)
        {
            DateTime      dt            = (DateTime)tblInterviewManagement.InterviewDate;
            var           interview     = dbContext.TblInterviewManagement.Where(r => r.InterviewId == tblInterviewManagement.InterviewId).AsNoTracking().Include(r => r.Applicant).Include(r => r.ApplicantRequisition.Requisition.Designation).FirstOrDefault();
            EmailTemplate emailTemplate = new EmailTemplate();
            StringBuilder stringBuilder = new StringBuilder();
            TblInterviewEmployeeMapping tblInterviewEmployees = dbContext.TblInterviewEmployeeMapping.AsNoTracking().Where(r => r.InterviewId == tblInterviewManagement.InterviewId).Include(r => r.Employee).FirstOrDefault();

            stringBuilder.AppendLine("Hi " + tblInterviewEmployees.Employee.EmployeeName + ",");
            stringBuilder.AppendLine("Interview has been cancelled for the date '" + tblInterviewManagement.InterviewDate + "'.");
            emailTemplate.Body                 = stringBuilder.ToString();
            emailTemplate.Subject              = "Interview has been Cancelled";
            emailTemplate.InvitationStartTime  = dt;
            emailTemplate.InvitationEndTime    = dt.AddHours(1);
            emailTemplate.Location             = tblInterviewManagement.Venue;
            emailTemplate.EmailFromDisplayName = tblInterviewEmployees.Employee.EmployeeName;
            emailTemplate.ToEmailAddress       = new string[] { EmailID };
            await EmailHelper.SendMailWithoutCalendarInvite(emailTemplate);
        }
Example #8
0
        public int CancelInterview(long id)
        {
            TblInterviewManagement tblInterviewManagement = dbContext.TblInterviewManagement.Where(r => r.InterviewId == id).FirstOrDefault();

            dbContext.Entry(tblInterviewManagement).State = EntityState.Modified;
            tblInterviewManagement.ModifiedBy             = CurrentContext.EmployeeID;
            tblInterviewManagement.ModifiedDate           = DateTime.Now;
            tblInterviewManagement.Status = InterviewStatus.Cancelled;
            dbContext.TblInterviewManagement.Update(tblInterviewManagement);
            dbContext.SaveChanges();
            dbContext.Entry(tblInterviewManagement).State = EntityState.Detached;
            //Requisition
            var requisition = dbContext.TblApplicantRequisition.Where(r => r.ApplicantRequisitionId == tblInterviewManagement.ApplicantRequisitionId).FirstOrDefault();

            requisition.Status                 = requisition.Status.Split("-")[0] + "-" + tblInterviewManagement.Status;
            requisition.ModifiedBy             = CurrentContext.EmployeeID;
            requisition.ModifiedDate           = DateTime.Now;
            dbContext.Entry(requisition).State = EntityState.Modified;
            dbContext.TblApplicantRequisition.Update(requisition);
            dbContext.SaveChanges();
            dbContext.Entry(requisition).State = EntityState.Detached;
            if (CurrentContext.RoleName == RoleConstants.RecruiterRole)
            {
                var interviewers = dbContext.TblInterviewEmployeeMapping.Where(r => r.InterviewId == tblInterviewManagement.InterviewId).Include(r => r.Employee).ToList();
                foreach (TblInterviewEmployeeMapping interviewer in interviewers)
                {
                    //Send Email Cancelled Interview
                    dbContext.Entry(interviewer).State = EntityState.Modified;
                    interviewer.IsActive = false;
                    dbContext.TblInterviewEmployeeMapping.Update(interviewer);
                    dbContext.SaveChanges();
                    dbContext.Entry(interviewer).State = EntityState.Detached;
                }
                SendInterviewCancelledMailToPanel(tblInterviewManagement, interviewers);
            }
            if (CurrentContext.RoleName == RoleConstants.EmployeeRole)
            {
                SendInterviewCancelledMailToRecruiter(tblInterviewManagement);
            }
            return(1);
        }
Example #9
0
        public async void SendInterviewCancelledMailToPanel(TblInterviewManagement tblInterviewManagement, ICollection <TblInterviewEmployeeMapping> tblInterviewEmployeeMapping)
        {
            DateTime      dt            = (DateTime)tblInterviewManagement.InterviewDate;
            EmailTemplate emailTemplate = new EmailTemplate();
            StringBuilder stringBuilder = new StringBuilder();
            TblInterviewEmployeeMapping tblInterviewEmployees = dbContext.TblInterviewEmployeeMapping.AsNoTracking().Where(r => r.InterviewId == tblInterviewManagement.InterviewId).Include(r => r.Employee).FirstOrDefault();

            stringBuilder.AppendLine("Hi " + tblInterviewEmployees.Employee.EmployeeName + ",");
            stringBuilder.AppendLine("Interview has been Cancelled for you on '" + tblInterviewManagement.InterviewDate + "'.");
            stringBuilder.AppendLine("Applicant Name - " + tblInterviewManagement.Applicant.Name);
            emailTemplate.Body                 = stringBuilder.ToString();
            emailTemplate.Subject              = "Interview has been Cancelled";
            emailTemplate.InvitationStartTime  = dt;
            emailTemplate.EmailFromDisplayName = tblInterviewEmployees.Employee.EmployeeName;
            List <string> emails = new List <string>();

            foreach (TblInterviewEmployeeMapping interviewer in tblInterviewEmployeeMapping)
            {
                emails.Add(dbContext.TblEmployees.AsNoTracking().Where(r => r.EmployeeId == interviewer.EmployeeId).FirstOrDefault().EmailId);
            }
            emailTemplate.ToEmailAddress   = emails.ToArray();
            emailTemplate.UniqueIdentifier = tblInterviewManagement.EmailGuid;
            await EmailHelper.SendCancelCalendarInvite(emailTemplate);
        }
Example #10
0
 public int UpdateInterview(TblInterviewManagement tblInterviewManagement)
 {
     return(ApplicantDAL.UpdateInterview(tblInterviewManagement));
 }
Example #11
0
 public int SaveInterviewDetails(TblInterviewManagement tblInterviewManagement)
 {
     return(ApplicantDAL.SaveInterviewDetails(tblInterviewManagement));
 }
Example #12
0
        public IActionResult UpdateInterviewApplicant([FromBody] TblInterviewManagement tblInterviewManagement)
        {
            int result = _applicant.UpdateInterview(tblInterviewManagement);

            return(Ok(result));
        }
Example #13
0
        public IActionResult AddInterviewApplicant([FromBody] TblInterviewManagement tblInterviewManagement)
        {
            int result = _applicant.SaveInterviewDetails(tblInterviewManagement);

            return(Ok(result));
        }
Example #14
0
        public List <TblInterviewManagement> GetAllInterviews()
        {
            var interviews       = dbContext.TblInterviewManagement.Where(r => r.TblInterviewEmployeeMapping.Any(k => k.EmployeeId == CurrentContext.EmployeeID && k.IsActive == true)).AsNoTracking().Include(r => r.Applicant).Include(r => r.CreatedByNavigation).Include(r => r.ApplicantRequisition).ThenInclude(r => r.Requisition).ThenInclude(r => r.TblRequisitionSkillMapping).ThenInclude(r => r.Skill).Include(r => r.TblInterviewEmployeeMapping).ThenInclude(r => r.Employee).ToList();
            var clientinterviews = dbContext.TblInterviewManagementStaffing.Where(r => r.TblInterviewEmployeeMappingStaffing.Any(k => k.EmployeeId == CurrentContext.EmployeeID && k.IsActive == true)).AsNoTracking().Include(r => r.Applicant).Include(r => r.CreatedByNavigation).Include(r => r.ApplicantRequisition).ThenInclude(r => r.Requisition).ThenInclude(r => r.TblRequisitionSkillMappingStaffing).ThenInclude(r => r.Skill).Include(r => r.TblInterviewEmployeeMappingStaffing).ThenInclude(r => r.Employee).ToList();

            foreach (var item in clientinterviews)
            {
                List <TblInterviewEmployeeMapping> employeeMappings = new List <TblInterviewEmployeeMapping>();
                foreach (var interviewer in item.TblInterviewEmployeeMappingStaffing)
                {
                    employeeMappings.Add(new TblInterviewEmployeeMapping()
                    {
                        InterviewEmployeeMappingId = interviewer.InterviewEmployeeMappingId,
                        InterviewId = interviewer.InterviewId,
                        EmployeeId  = interviewer.EmployeeId,
                        IsActive    = interviewer.IsActive,
                        Employee    = interviewer.Employee,
                    });
                }
                List <TblRequisitionSkillMapping> skillMappings = new List <TblRequisitionSkillMapping>();


                foreach (var skill in item.ApplicantRequisition.Requisition.TblRequisitionSkillMappingStaffing)
                {
                    skillMappings.Add(new TblRequisitionSkillMapping()
                    {
                        RequisitionSkillId = skill.RequisitionSkillId,
                        RequisitionId      = skill.RequisitionId,
                        SkillId            = skill.SkillId,
                        Skill = skill.Skill
                    });
                }
                TblInterviewManagement interview = new TblInterviewManagement()
                {
                    InterviewId            = item.InterviewId,
                    InterviewPanel         = item.InterviewPanel,
                    ApplicantId            = item.ApplicantId,
                    InterviewDate          = item.InterviewDate,
                    Comments               = item.Comments,
                    IsCompleted            = item.IsCompleted,
                    CreatedBy              = item.CreatedBy,
                    CreatedDate            = item.CreatedDate,
                    ModifiedBy             = item.ModifiedBy,
                    ModifiedDate           = item.ModifiedDate,
                    ApplicantRequisitionId = item.ApplicantRequisitionId,
                    Status             = item.Status,
                    Venue              = item.Venue,
                    FeedBack           = item.FeedBack,
                    EmailGuid          = item.EmailGuid,
                    Communication      = item.Communication,
                    Attitude           = item.Attitude,
                    SkillRatings       = item.SkillRatings,
                    RoundName          = item.RoundName,
                    ModeOfInterview    = item.ModeOfInterview,
                    IsClient           = item.IsClient,
                    RecruitersFeedBack = item.RecruitersFeedBack,

                    Applicant = new TblApplicants()
                    {
                        ApplicantId          = item.Applicant.ApplicantId,
                        Name                 = item.Applicant.Name,
                        Dob                  = item.Applicant.Dob,
                        EmailAddress         = item.Applicant.EmailAddress,
                        Qualification        = item.Applicant.Qualification,
                        Experience           = item.Applicant.Experience,
                        RelevantExperience   = item.Applicant.RelevantExperience,
                        CurrentCtc           = item.Applicant.CurrentCtc,
                        ExpectedCtc          = item.Applicant.ExpectedCtc,
                        JoiningTime          = item.Applicant.JoiningTime,
                        SkillsandProficiency = item.Applicant.SkillsandProficiency,
                        LocationPreference   = item.Applicant.LocationPreference,
                        ReferedBy            = item.Applicant.ReferedBy,
                        JobType              = item.Applicant.JobType,
                        Status               = item.Applicant.Status,
                        NoticePeriod         = item.Applicant.NoticePeriod,
                        ApplicantActive      = item.Applicant.ApplicantActive,
                        ShortlistedBy        = item.Applicant.ShortlistedBy,
                    },
                    CreatedByNavigation = new TblEmployees()
                    {
                        EmployeeId         = item.CreatedByNavigation.EmployeeId,
                        EmployeeName       = item.CreatedByNavigation.EmployeeName,
                        DesignationId      = item.CreatedByNavigation.DesignationId,
                        DepartmentId       = item.CreatedByNavigation.DepartmentId,
                        ReportingManagerId = item.CreatedByNavigation.ReportingManagerId,
                        RoleId             = item.CreatedByNavigation.RoleId,
                        IsActive           = item.CreatedByNavigation.IsActive,
                        CreatedDate        = item.CreatedByNavigation.CreatedDate,
                        CreatedBy          = item.CreatedByNavigation.CreatedBy,
                        ModifiedBy         = item.CreatedByNavigation.ModifiedBy,
                        ModifiedDate       = item.CreatedByNavigation.ModifiedDate,
                        EmailId            = item.CreatedByNavigation.EmailId,
                    },
                    ApplicantRequisition = new TblApplicantRequisition()
                    {
                        ApplicantRequisitionId = item.ApplicantRequisition.ApplicantRequisitionId,
                        ApplicantId            = item.ApplicantRequisition.ApplicantId,
                        RequisitionId          = item.ApplicantRequisition.RequisitionId,
                        Status               = item.ApplicantRequisition.Status,
                        CreatedBy            = item.ApplicantRequisition.CreatedBy,
                        ModifiedBy           = item.ApplicantRequisition.ModifiedBy,
                        CreatedDate          = item.ApplicantRequisition.CreatedDate,
                        ModifiedDate         = item.ApplicantRequisition.ModifiedDate,
                        RecruiterComment     = item.ApplicantRequisition.RecruiterComment,
                        CurrentCtc           = item.ApplicantRequisition.CurrentCtc,
                        ExpectedCtc          = item.ApplicantRequisition.ExpectedCtc,
                        NegotiatedCtc        = item.ApplicantRequisition.NegotiatedCtc,
                        TentativeJoiningDate = item.ApplicantRequisition.TentativeJoiningDate,

                        Requisition = new TblRequisition()
                        {
                            RequistionId               = item.ApplicantRequisition.Requisition.RequistionId,
                            DepartmentId               = item.ApplicantRequisition.Requisition.DepartmentId,
                            YearsofExperience          = item.ApplicantRequisition.Requisition.YearsofExperience,
                            JoiningTenure              = item.ApplicantRequisition.Requisition.JoiningTenure,
                            NoofPositions              = item.ApplicantRequisition.Requisition.NoofPositions,
                            Location                   = item.ApplicantRequisition.Requisition.Location,
                            IsActive                   = item.ApplicantRequisition.Requisition.IsActive,
                            Comments                   = item.ApplicantRequisition.Requisition.Comments,
                            Status                     = item.ApplicantRequisition.Requisition.Status,
                            ManagerEmployeeId          = item.ApplicantRequisition.Requisition.ManagerEmployeeId,
                            ManagerComments            = item.ApplicantRequisition.Requisition.ManagerComments,
                            CreatedBy                  = item.ApplicantRequisition.Requisition.CreatedBy,
                            CreatedDate                = item.ApplicantRequisition.Requisition.CreatedDate,
                            ModifiedBy                 = item.ApplicantRequisition.Requisition.ModifiedBy,
                            ModifiedDate               = item.ApplicantRequisition.Requisition.ModifiedDate,
                            DesignationId              = item.ApplicantRequisition.Requisition.DesignationId,
                            Title                      = item.ApplicantRequisition.Requisition.Title,
                            RecruiterComment           = item.ApplicantRequisition.Requisition.RecruiterComment,
                            RecruiterLeadId            = item.ApplicantRequisition.Requisition.RecruiterLeadId,
                            CurrentOwner               = item.ApplicantRequisition.Requisition.CurrentOwner,
                            ApplicantWorkFlow          = item.ApplicantRequisition.Requisition.ApplicantWorkFlow,
                            CancelComments             = item.ApplicantRequisition.Requisition.CancelComments,
                            ClientId                   = item.ApplicantRequisition.Requisition.ClientId,
                            TblRequisitionSkillMapping = skillMappings
                        }
                    },
                    TblInterviewEmployeeMapping = employeeMappings
                };
                interviews.Add(interview);
            }
            return(interviews.OrderBy(x => x.InterviewDate).ToList());
        }
        public IActionResult GetInterviewById(int id)
        {
            TblInterviewManagement result = _applicantstaffing.GetInterviewById(id);

            return(Ok(result));
        }