public async Task <CandidateSubmissionCreateModel> CreateCandidateSubmission(CandidateSubmissionCreateModel data) { try { CandidateSubmissionCreateModel model = null; if (data.IsNewCustomer) { CandidateCreateModel candidate = await Task.Run(() => CreateCandidate(data.Candidate)); data.CandidateSubmission.CandidateId = candidate.Candidate.id; } if (data.IsCustomerEdited) { await Task.Run(() => UpdateCandidate(data.Candidate)); } CandidateSubmissionModel submissionResp = await Task.Run(() => ManageCandidate.InsertCandidateSubmissions(data.CandidateSubmission.ConverToTblCandidateSubmission())); foreach (VacancyQuestionViewModel vq in data.Questions) { vq.CandidateSubmissionsQuestionsResponse.All(re => { re.createdTimestamp = data.CandidateSubmission.createdTimestamp; re.createdUserID = data.CandidateSubmission.createdUserID; re.updatedUserID = data.CandidateSubmission.updatedUserID; re.updatedTimestamp = data.CandidateSubmission.updatedTimestamp; re.submissionId = submissionResp.ID; return(true); }); await Task.Run(() => ManageCandidateSubmissionsQuestionsResponses.InsertCandidateSubmissionsQuestionsRespons(vq.CandidateSubmissionsQuestionsResponse.Select(re => re.ConvertTotblCandidateSubmissionsQuestionsRespons()).ToList())); } foreach (VacancyRequiredDocumentViewModel rd in data.RequiredDocument) { rd.CandidateSubmissionDocumentResponse.All(re => { re.createdTimestamp = data.CandidateSubmission.createdTimestamp; re.createdUserID = data.CandidateSubmission.createdUserID; re.updatedUserID = data.CandidateSubmission.updatedUserID; re.updatedTimestamp = data.CandidateSubmission.updatedTimestamp; re.candidateSubmissionId = submissionResp.ID; return(true); }); await Task.Run(() => ManageCandidateSubmissionDocumentResponses.InsertCandidateSubmissionDocumentRespons(rd.CandidateSubmissionDocumentResponse.Select(res => res.ConvertTotblCandidateSubmissionsQuestionsResponses()).ToList())); } return(model); } catch (Exception) { throw; } }
public static tblCandidateSubmission ConverToTblCandidateSubmission(this CandidateSubmissionModel data) { return(new tblCandidateSubmission() { ID = Convert.ToInt64(data.ID), VacancyID = data.VacancyId, CandidateID = data.CandidateId, BillRate = data.BillRate, StatusID = Convert.ToInt32(data.StatusId), IsActive = data.isActive, IsDeleted = data.isDeleted ?? false, CreatedUserID = data.createdUserID, UpdatedUserID = data.updatedUserID, CreatedTimestamp = data.createdTimestamp ?? DateTime.Now, UpdatedTimestamp = data.updatedTimestamp ?? DateTime.Now }); }