private StikerViewModel Save(StikerViewModel _viewModel)
 {
     var newStiker = new StikerModel() { Id = _viewModel.Id, Type = _viewModel.Type, Text = _viewModel.Text };
     _context.StikerModels.Add(newStiker);
     _context.SaveChanges();
     return _viewModel = new StikerViewModel { Id = newStiker.Id, Type= newStiker.Type, Text=newStiker.Text };
 }
 private void CreateWindow(Window window, int id, string type, string text)
 {
     var _viewModel = new StikerViewModel { Id = id, Type = type, Text = text };
     if (_viewModel.Id == 0)
     {
         _viewModel = Save(_viewModel);
     }
     _viewModel.PropertyChanged += window_PropertyChanged;
     _viewModel.CloseWindow = this.CloseWindow;
     _viewModel.AddNewWindow = this.AddNewWindow;
     _viewModel.ClickStandart = this.ClickStandart;
     _viewModel.ClickCloud = this.ClickCloud;
     _viewModel.ClickHeart = this.ClickHeart;            
     window.DataContext = _viewModel;
     window.Show();
     WindowList.Add(window);
         
 }
 private void ToHeart(StikerViewModel _viewModel)
 {
     CreateWindow(new WindowHeart(), 0, SetWindowType(WindowType.Heart), _viewModel.Text);
     DeleteFromDB(_viewModel);
 }
 private void ToCloud(StikerViewModel _viewModel)
 {
     CreateWindow(new WindowCloud(), 0, SetWindowType(WindowType.Cloud), _viewModel.Text);
     DeleteFromDB(_viewModel);
 }
 private void Close(StikerViewModel _viewModel)
 {
     foreach (var window in WindowList)
     {
         if (_viewModel.Id == ((StikerViewModel)(window.DataContext)).Id)
         {
             _viewModel.PropertyChanged -= window_PropertyChanged;
             window.Close();
         }
     }
 }
 private void DeleteFromDB(StikerViewModel _viewModel)
 {
     var findStiker = _context.StikerModels.FirstOrDefault(stiker => stiker.Id == _viewModel.Id);
     if (findStiker != null)
     {
         _context.StikerModels.Remove(findStiker);
         _context.SaveChanges();
     }
     Close(_viewModel);
 }
 private void AddWindow(StikerViewModel _viewModel)
 {
     if (_viewModel.Type == SetWindowType(WindowType.Standart))
     {
         CreateWindow(new WindowStandart(), 0, _viewModel.Type, null);
     }
     else if (_viewModel.Type == SetWindowType(WindowType.Cloud))
     {
         CreateWindow(new WindowCloud(), 0, _viewModel.Type, null);
     }
     else if (_viewModel.Type == SetWindowType(WindowType.Heart))
     {
         CreateWindow(new WindowHeart(), 0, _viewModel.Type, null);
     }
 }
 private void ChangeText(StikerViewModel _viewModel)
 {
     if (_viewModel.Type != null && _viewModel.Text != null)
     {
         var findStiker = _context.StikerModels.FirstOrDefault(stiker => stiker.Id == _viewModel.Id);
         if (findStiker != null)
         {
             findStiker.Text = _viewModel.Text;
             _context.SaveChanges();
         }
         else
         {
             var newStiker = new StikerModel() { Type = _viewModel.Type, Text = _viewModel.Text };
             _context.StikerModels.Add(newStiker);
             _context.SaveChanges();
         }
     }
 }