Пример #1
0
 public void Insert(VisitorBindingModel model)
 {
     using (var context = new ForumDatabase())
     {
         Visitor visitor = CreateModel(model, new Visitor());
         context.Visitor.Add(visitor);
         context.SaveChanges();
     }
 }
Пример #2
0
 private Visitor CreateModel(VisitorBindingModel model, Visitor visitor)
 {
     visitor.Countmessages = model.CountOfMessages;
     visitor.Decency       = model.Decency;
     visitor.Status        = model.Status;
     visitor.Login         = model.LoginUser;
     visitor.Password      = model.Password;
     visitor.Email         = model.Email;
     visitor.TotalTime     = model.TotalTime;
     return(visitor);
 }
Пример #3
0
        public void Delete(VisitorBindingModel model)
        {
            var element = visitorStorage.GetElement(new VisitorBindingModel {
                LoginUser = model.LoginUser
            });

            if (element == null)
            {
                throw new Exception("Элемент не найден");
            }
            visitorStorage.Delete(model);
        }
Пример #4
0
 public void Update(VisitorBindingModel model)
 {
     using (var context = new ForumDatabase())
     {
         var visitor = context.Visitor.FirstOrDefault(rec => rec.Login == model.LoginUser);
         if (visitor == null)
         {
             throw new Exception("Элемент не найден");
         }
         CreateModel(model, visitor);
         context.SaveChanges();
     }
 }
Пример #5
0
 public List <VisitorViewModel> Read(VisitorBindingModel model)
 {
     if (model == null)
     {
         return(visitorStorage.GetFullList());
     }
     if (model.LoginUser != null)
     {
         return(new List <VisitorViewModel> {
             visitorStorage.GetElement(model)
         });
     }
     return(visitorStorage.GetFilteredList(model));
 }
Пример #6
0
 public void CreateOrUpdate(VisitorBindingModel model)
 {
     if (visitorStorage.GetElement(new VisitorBindingModel
     {
         LoginUser = model.LoginUser,
         Password = model.Password
     }) != null)
     {
         visitorStorage.Update(model);
     }
     else
     {
         visitorStorage.Insert(model);
     }
 }
Пример #7
0
 public void Delete(VisitorBindingModel model)
 {
     using (var context = new ForumDatabase())
     {
         var element = context.Visitor.FirstOrDefault(rec => rec.Login == model.LoginUser);
         if (element != null)
         {
             context.Visitor.Remove(element);
             context.SaveChanges();
         }
         else
         {
             throw new Exception("Элемент не найден");
         }
     }
 }
Пример #8
0
 public List <VisitorViewModel> GetFilteredList(VisitorBindingModel model)
 {
     using (var context = new ForumDatabase())
     {
         return(context.Visitor.Where(rec => rec.Countmessages > model.CountOfMessages)
                .Select(rec => new VisitorViewModel
         {
             LoginUser = rec.Login,
             Password = rec.Password,
             Email = rec.Email,
             TotalTime = rec.TotalTime,
             Status = rec.Status,
             Decency = rec.Decency,
             CountOfMessages = rec.Countmessages,
         }).ToList());
     }
 }
Пример #9
0
 public VisitorViewModel GetElement(VisitorBindingModel model)
 {
     if (model == null)
     {
         return(null);
     }
     using (var context = new ForumDatabase())
     {
         var visitor = context.Visitor.FirstOrDefault(rec => rec.Login == model.LoginUser && rec.Password == model.Password);
         return(visitor != null ? new VisitorViewModel
         {
             LoginUser = visitor.Login,
             Password = visitor.Password,
             Email = visitor.Email,
             TotalTime = visitor.TotalTime,
             Status = visitor.Status,
             Decency = visitor.Decency,
             CountOfMessages = visitor.Countmessages,
         } :
                null);
     }
 }