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);
        }
Exemplo n.º 4
0
        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();
            }
        }
Exemplo n.º 6
0
 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));
 }
Exemplo n.º 7
0
 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);
     }
 }