public void Insert(StudyingStatusBindingModel model) { using (var context = new Context()) { using (var transaction = context.Database.BeginTransaction()) { try { StudyingStatus status = new StudyingStatus { EnrollmentDate = DateTime.Now, ProviderId = model.ProviderId, StudentId = model.StudentId, StudyingBase = model.StudyingBase, StudyingForm = model.StudyingForm, Course = model.Course }; context.StudyingStatuses.Add(status); context.SaveChanges(); CreateModel(model, status, context); context.SaveChanges(); transaction.Commit(); } catch { transaction.Rollback(); throw; } } } }
public List <StudyingStatusViewModel> GetFilteredList(StudyingStatusBindingModel model) { if (model == null) { return(null); } using (var context = new Context()) { return(context.StudyingStatuses .Include(rec => rec.Provider) .Include(rec => rec.Student) .ThenInclude(rec => rec.Thread) .Where(rec => (!model.DateFrom.HasValue && !model.DateTo.HasValue && rec.EnrollmentDate.Date == model.DateCreate.Date) || (model.DateFrom.HasValue && model.DateTo.HasValue && rec.EnrollmentDate.Date >= model.DateFrom.Value.Date && rec.EnrollmentDate.Date <= model.DateTo.Value.Date) || (rec.ProviderId == model.ProviderId)) .ToList() .Select(rec => new StudyingStatusViewModel { Id = rec.Id, StudentId = rec.StudentId, DateCreate = rec.EnrollmentDate, StudyingForm = rec.StudyingForm, StudyingBase = rec.StudyingBase, Course = rec.Course, ThreadName = rec.Student.Thread?.Name }) .ToList()); } }
private StudyingStatus CreateModel(StudyingStatusBindingModel model, StudyingStatus studyingStatus, Context context) { if (model == null) { return(null); } Student element = context.Students.FirstOrDefault(rec => rec.Id == model.StudentId); if (element != null) { if (element.StudyingStatus == null) { element.StudyingStatus = new StudyingStatus(); } studyingStatus.StudyingBase = model.StudyingBase; studyingStatus.StudyingForm = model.StudyingForm; studyingStatus.ProviderId = model.ProviderId; studyingStatus.Course = model.Course; studyingStatus.StudentId = model.StudentId; element.StudyingStatus = studyingStatus; context.Students.Update(element); } else { throw new Exception("Элемент не найден"); } return(studyingStatus); }
public void Delete(StudyingStatusBindingModel model) { StudyingStatusViewModel element = _studyingStatusStorage.GetElement(new StudyingStatusBindingModel { Id = model.Id }); if (element == null) { throw new Exception("Элемент не найден"); } _studyingStatusStorage.Delete(model); }
public void Update(StudyingStatusBindingModel model) { using (var context = new Context()) { StudyingStatus element = context.StudyingStatuses.FirstOrDefault(rec => rec.Id == model.Id); if (element == null) { throw new Exception("Элемент не найден"); } CreateModel(model, element, context); context.SaveChanges(); } }
public List <StudyingStatusViewModel> Read(StudyingStatusBindingModel model) { if (model == null) { return(_studyingStatusStorage.GetFullList()); } if (model.Id.HasValue) { return(new List <StudyingStatusViewModel> { _studyingStatusStorage.GetElement(model) }); } return(_studyingStatusStorage.GetFilteredList(model)); }
public void CreateOrUpdate(StudyingStatusBindingModel model) { if (model.Id.HasValue) { _studyingStatusStorage.Update(model); } else { _studyingStatusStorage.Insert(new StudyingStatusBindingModel { StudyingBase = model.StudyingBase, StudyingForm = model.StudyingForm, Course = model.Course, DateCreate = DateTime.Now, StudentId = model.StudentId, ProviderId = model.ProviderId }); } }
public void Delete(StudyingStatusBindingModel model) { using (var context = new Context()) { StudyingStatus status = context.StudyingStatuses.FirstOrDefault(rec => rec.Id == model.Id); if (status != null) { context.StudyingStatuses.Remove(status); context.SaveChanges(); } Student student = context.Students.FirstOrDefault(rec => rec.Id == model.StudentId); if (student != null) { student.StudyingStatus = null; context.Students.Update(student); } else { throw new Exception("Элемент не найден"); } } }
public StudyingStatusViewModel GetElement(StudyingStatusBindingModel model) { if (model == null) { return(null); } using (var context = new Context()) { StudyingStatus studyingStatus = context.StudyingStatuses .Include(rec => rec.Provider) .FirstOrDefault(rec => rec.Id == model.Id); return(studyingStatus != null ? new StudyingStatusViewModel { Id = studyingStatus.Id, StudentId = studyingStatus.StudentId, DateCreate = studyingStatus.EnrollmentDate, StudyingForm = studyingStatus.StudyingForm, StudyingBase = studyingStatus.StudyingBase, Course = studyingStatus.Course } : null); } }