示例#1
0
        public MarksViewModel GetElement(MarksBindingModel model)
        {
            if (model == null)
            {
                return(null);
            }
            using (var context = new JournalDb())
            {
                var mark = context.Marks
                           .Include(rec => rec.User)
                           .Include(rec => rec.Discipline)
                           .FirstOrDefault(rec => rec.Id == model.Id);

                return(mark != null ?
                       new MarksViewModel
                {
                    Id = mark.Id,
                    UserId = mark.UserId,
                    UserName = mark.User.UserName,
                    DisciplineId = mark.DisciplineId,
                    DisciplineName = mark.Discipline.NameDiscipline,
                    Mark = mark.Mark,
                    Date = mark.Date,
                } :
                       null);
            }
        }
示例#2
0
        public List <MarksViewModel> GetFilteredList(MarksBindingModel model)
        {
            if (model == null)
            {
                return(null);
            }

            using (var context = new JournalDb())
            {
                return(context.Marks
                       .Include(rec => rec.User)
                       .Include(rec => rec.Discipline)
                       .Where(rec => (!model.DateFrom.HasValue && !model.DateTo.HasValue && rec.Date.Date == model.Date.Date) ||
                              (model.DateFrom.HasValue && model.DateTo.HasValue && rec.Date.Date >= model.DateFrom.Value.Date && rec.Date.Date <= model.DateTo.Value.Date))
                       .ToList()
                       .Select(rec => new MarksViewModel
                {
                    Id = rec.Id,
                    UserId = rec.UserId,
                    DisciplineId = rec.DisciplineId,
                    UserName = rec.User.UserName,
                    DisciplineName = rec.Discipline.NameDiscipline,
                    Mark = rec.Mark,
                    Date = rec.Date,
                })
                       .ToList());
            }
        }
示例#3
0
 public void Insert(MarksBindingModel model)
 {
     using (var context = new JournalDb())
     {
         context.Marks.Add(CreateModel(model, new Marks()));
         context.SaveChanges();
     }
 }
示例#4
0
 private Marks CreateModel(MarksBindingModel model, Marks mark)
 {
     mark.Mark         = model.Mark;
     mark.Date         = model.Date;
     mark.UserId       = model.UserId;
     mark.DisciplineId = model.DisciplineId;
     return(mark);
 }
示例#5
0
        public List <MarksViewModel> Read(MarksBindingModel model)
        {
            if (model == null)
            {
                return(markStorage.GetFullList());
            }

            return(new List <MarksViewModel> {
                markStorage.GetElement(model)
            });
        }
示例#6
0
        public void Delete(MarksBindingModel model)
        {
            var mark = markStorage.GetElement(
                new MarksBindingModel
            {
                Id = model.Id
            });

            if (mark == null)
            {
                throw new Exception("Оценка не найдена");
            }

            markStorage.Delete(model);
        }
示例#7
0
        public void Update(MarksBindingModel model)
        {
            using (var context = new JournalDb())
            {
                var mark = context.Marks.FirstOrDefault(rec => rec.Id == model.Id);

                if (mark == null)
                {
                    throw new Exception("Оценка не найдена");
                }

                CreateModel(model, mark);
                context.SaveChanges();
            }
        }