private void buttonSave_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(memeName.Text)) { MessageBox.Show("It is important to insert name.", "Error!", MessageBoxButton.OK, MessageBoxImage.Error); memeName.Focus(); return; } if (string.IsNullOrEmpty(memeDescription.Text)) { MessageBox.Show("It is important to insert description.", "Error!", MessageBoxButton.OK, MessageBoxImage.Error); memeDescription.Focus(); return; } if (string.IsNullOrEmpty(memeYear.Text)) { MessageBox.Show("It is important to insert year.", "Error!", MessageBoxButton.OK, MessageBoxImage.Error); memeYear.Focus(); return; } try { Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog(); dlg.FileName = "savedimage"; dlg.DefaultExt = ".jpg"; dlg.Filter = "Image (.jpg)|*.jpg"; Nullable <bool> result = dlg.ShowDialog(); if (result == true) { string filename = dlg.FileName; int margin = (int)this.inkCanvasPaint.Margin.Left; int width = (int)this.inkCanvasPaint.ActualWidth; int height = (int)this.inkCanvasPaint.ActualHeight; RenderTargetBitmap rtb = new RenderTargetBitmap(width, height, 96d, 96d, PixelFormats.Default); rtb.Render(inkCanvasPaint); using (FileStream fs = new FileStream(filename, FileMode.Create)) { BmpBitmapEncoder encoder = new BmpBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(rtb)); encoder.Save(fs); } UsersMeme meme = new UsersMeme { Name = memeName.Text, Description = memeDescription.Text, Year = int.Parse(memeYear.Text), ImagePath = filename, Likes = 0 }; repository.AddUsersMeme(meme); Close(); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error!", MessageBoxButton.OK, MessageBoxImage.Error); } }
public void AddUsersMeme(UsersMeme umeme) { using (var context = new ContextOfMemes()) { try { context.UserMemes.Add(umeme); context.SaveChanges(); UsersMemesChanged?.Invoke(umeme); } catch (Exception) { throw new Exception("Error during adding group to database."); } } }
public void DeleteUsersMeme(UsersMeme umeme) { using (var context = new ContextOfMemes()) { try { var umemeInDB = context.UserMemes.First(m => m.Id == umeme.Id); context.UserMemes.Remove(umemeInDB); context.SaveChanges(); UsersMemesChanged?.Invoke(umeme); } catch (Exception) { throw new Exception("No delete was provided succesfully."); } } }