/// <summary> /// This function adds interviwers to the interview /// </summary> /// <param name="timeSlotId"></param> /// <param name="interviewers"></param> /// <param name="updatingUserId"></param> public void AddInterviwersToInteriew(int timeSlotId, List<Interviewer> interviewers, int updatingUserId) { var context = new dbDataContext(); foreach (var interviewer in interviewers) { var foundInterviwer = context.tbl_TimeSlotInterviewers.FirstOrDefault(t => t.TimeSlotId == timeSlotId && t.InterviewerId == interviewer.Id && t.IsUser == interviewer.IsUser); if (foundInterviwer == null) { foundInterviwer = new tbl_TimeSlotInterviewer { InterviewerId = interviewer.Id, IsUser = interviewer.IsUser, OutlookSynced = false, TimeSlotId = timeSlotId }; context.tbl_TimeSlotInterviewers.InsertOnSubmit(foundInterviwer); context.SubmitChanges(); } } //remove deleted interviwers var ids = interviewers.Select(t => t.Id).ToList(); var deletedInterviwers = context.tbl_TimeSlotInterviewers.Where(t => !ids.Contains(t.InterviewerId) && t.TimeSlotId == timeSlotId).ToList(); if (deletedInterviwers.Count > 0) { foreach (var interviewer in deletedInterviwers.Where(item => item.IsUser && item.OutlookSynced)) { new Events().AddItemToDeleteFromOutlook(interviewer.TimeSlotInterviewerId, interviewer.InterviewerId, updatingUserId, "Interview"); } context.tbl_TimeSlotInterviewers.DeleteAllOnSubmit(deletedInterviwers); context.SubmitChanges(); } }
partial void Updatetbl_TimeSlotInterviewer(tbl_TimeSlotInterviewer instance);
partial void Deletetbl_TimeSlotInterviewer(tbl_TimeSlotInterviewer instance);
partial void Inserttbl_TimeSlotInterviewer(tbl_TimeSlotInterviewer instance);