public HttpResponseMessage Post(InterviewFeedbacks feedback) { try { if (feedback != null) { string user = iRecruit.Security.Extensions.FetchUserFromRequestHeader(this.ActionContext); if (feedback.InterviewFeedbacksID == 0) { feedback.CreatedBy = user; } else { feedback.ModifiedBy = user; } int candId = this._repo.SaveInterviewFeedback(feedback); if (candId > 0) { string toNotification = this._repo.ExecuteInterviewWorkflow(candId); if (!string.IsNullOrWhiteSpace(toNotification)) { EmailMessage message = new EmailMessage() { To = toNotification, Subject = "Interview Feedback" }; string messageBody = File.ReadAllText(HttpContext.Current.Server.MapPath("~/Views/Templates/InterviewFeedback.html")); messageBody = messageBody.Replace("##CandidateID##", candId.ToString()); Candidates cand = _repo.GetCandidate(candId); if (cand != null) { messageBody = messageBody.Replace("##CandidateName##", cand.FirstName + " " + cand.LastName); message.Body = messageBody; new EmailHelper().Send(message, null, null); } } } HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, true); return(response); } else { return(Request.CreateErrorResponse(HttpStatusCode.NoContent, new Exception("No data found to save"))); } } catch (Exception ex) { _tracer.Error(Request, this.ControllerContext.ControllerDescriptor.ControllerType.FullName, ex.StackTrace); return(new HttpResponseMessage(HttpStatusCode.InternalServerError) { Content = new StringContent(ex.Message) }); } }
public int SaveInterviewFeedback(InterviewFeedbacks feedback) { try { // add/update feedback var count = this.InterviewFeedbacks.Count(a => a.InterviewFeedbacksID == feedback.InterviewFeedbacksID); if (count == 0) { feedback.CreatedDate = DateTime.UtcNow; InterviewFeedbacks.Add(feedback); } else { InterviewFeedbacks u = this.InterviewFeedbacks.Where(s => s.InterviewFeedbacksID == feedback.InterviewFeedbacksID).FirstOrDefault <InterviewFeedbacks>(); // change contact in disconnected mode (out of DBContext scope) if (u != null) { //u.IndentDate = indent.IndentDate.HasValue ? indent.IndentDate.Value : (DateTime?) null; u.InterviewerName = feedback.InterviewerName; u.PositionFor = feedback.PositionFor; u.ReleventExperience = feedback.ReleventExperience; u.ReleventExperienceDiscountReason = feedback.ReleventExperienceDiscountReason; u.TechKnowledgeAreas = feedback.TechKnowledgeAreas; u.TechKnowledgeAreasLevel = feedback.TechKnowledgeAreasLevel; u.TechKnowledgeAreasComments = feedback.TechKnowledgeAreasComments; u.AnalysisAreas = feedback.AnalysisAreas; u.AnalysisAreasLevel = feedback.AnalysisAreasLevel; u.AnalysisAreasComments = feedback.AnalysisAreasComments; u.DesignAreas = feedback.DesignAreas; u.DesignAreasLevel = feedback.DesignAreasLevel; u.DesignAreasComments = feedback.DesignAreasComments; u.CodingAreas = feedback.CodingAreas; u.CodingAreasLevel = feedback.CodingAreasLevel; u.CodingAreasComments = feedback.CodingAreasComments; u.DatabaseAreas = feedback.DatabaseAreas; u.DatabaseAreasLevel = feedback.DatabaseAreasLevel; u.DatabaseAreasComments = feedback.DatabaseAreasComments; u.TestingAreas = feedback.TestingAreas; u.TestingAreasLevel = feedback.TestingAreasLevel; u.TestingAreasComments = feedback.TestingAreasComments; u.ResultOrientationLevel = feedback.ResultOrientationLevel; u.ResultOrientationComments = feedback.ResultOrientationComments; u.CommunicationSkillsLevel = feedback.CommunicationSkillsLevel; u.CommunicationSkillsComments = feedback.CommunicationSkillsComments; u.TeamWorkingLevel = feedback.TeamWorkingLevel; u.TeamWorkingComments = feedback.TeamWorkingComments; u.LeadershipCapabilityLevel = feedback.LeadershipCapabilityLevel; u.LeadershipCapabilityComments = feedback.LeadershipCapabilityComments; u.AttitudeLevel = feedback.AttitudeLevel; u.AttitudeComments = feedback.AttitudeComments; u.OverallRatingLevel = feedback.OverallRatingLevel; u.OverallRatingComments = feedback.OverallRatingComments; u.SelectionReason = feedback.SelectionReason; u.PositivesRemarks = feedback.PositivesRemarks; u.ConcernsGaps = feedback.ConcernsGaps; u.PositionRecomended = feedback.PositionRecomended; u.PositionSuggested = feedback.PositionSuggested; u.AlternaticeCompetancy = feedback.AlternaticeCompetancy; u.TrainingsNeededTechnical = feedback.TrainingsNeededTechnical; u.TrainingNeededBehavioral = feedback.TrainingNeededBehavioral; u.Status = feedback.Status; u.ModifiedBy = feedback.ModifiedBy; u.ModifiedDate = DateTime.UtcNow; } this.Entry(u).State = EntityState.Modified; } this.SaveChanges(); return(feedback.CandidateID); } catch { throw; } }
public int SaveInterviewFeedback(InterviewFeedbacks feedback) { return(this.DataContext.SaveInterviewFeedback(feedback)); }