private void DeleteUserButton_Click(object sender, RoutedEventArgs e)
        {
            var selectedItem = this.lvVolunteers.SelectedItem;

            if (selectedItem != null)
            {
                VolunteerEntity volunteer = selectedItem as VolunteerEntity;

                VolunteerService service = new VolunteerService();
                if (MessageBox.Show("Sei sicuro di voler eliminare \"" + volunteer.Name + " " + volunteer.Surname + " \" ?", "Elimina Volontario", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                {
                    if (service.Delete(volunteer) == 0)
                    {
                        MessageBox.Show("cancellato!");
                        this.RefreshData();
                    }
                    else
                    {
                        MessageBox.Show("NON cancellato!");
                    }
                }
                else
                {
                    MessageBox.Show("NON cancellato!");
                }
            }
        }
        public VolunteerEntity GetVolunteerById(int id)
        {
            VolunteerEntity volunteer = new VolunteerEntity();

            using (var db = new CroceRossaEntities())
            {
                volunteer = db.Vol.FirstOrDefault(x => x.VolOwnId == id).toVolunteerEntity();
            }

            return(volunteer);
        }
        public static Vol ToVol(this VolunteerEntity volunteer, Vol vol = null)
        {
            if (vol == null)
            {
                vol = new Vol();
            }

            vol.VolOwnId = volunteer.Id;
            vol.VolNam   = volunteer.Name;
            vol.VolSur   = volunteer.Surname;

            return(vol);
        }
        public int Add(VolunteerEntity volunteer)
        {
            try
            {
                using (var db = new CroceRossaEntities())
                {
                    db.Vol.Add(volunteer.ToVol());
                    db.SaveChanges();

                    return(0);
                }
            }
            catch
            {
                return(-1);
            }
        }
 public int Delete(VolunteerEntity volunteer)
 {
     try
     {
         using (var db = new CroceRossaEntities())
         {
             Vol vol = db.Vol.First(x => x.VolOwnId == volunteer.Id);
             if (vol != null)
             {
                 db.Vol.Remove(vol);
                 db.SaveChanges();
             }
             return(0);
         }
     }
     catch (Exception)
     {
         return(-1);
     }
 }