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

            if (selectedItem != null)
            {
                PathologyEntity pathology = selectedItem as PathologyEntity;

                PathologyService service = new PathologyService();
                if (MessageBox.Show("Sei sicuro di voler eliminare \"" + pathology.PathologyName + " \" ?", "Elimina patologia", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                {
                    if (service.Delete(pathology) == 0)
                    {
                        MessageBox.Show("cancellato!");
                        this.RefreshData();
                    }
                    else
                    {
                        MessageBox.Show("NON cancellato!");
                    }
                }
                else
                {
                    MessageBox.Show("NON cancellato!");
                }
            }
        }
        public static Pat ToPat(this PathologyEntity pathology, Pat pat = null)
        {
            if (pat == null)
            {
                pat = new Pat();
            }

            pat.PatOwnId = pathology.Id;
            pat.PatNam   = pathology.PathologyName;

            return(pat);
        }
        public PathologyEntity GetPathologyById(int pathologyId)
        {
            PathologyEntity pathology = new PathologyEntity();

            if (pathologyId > 0)
            {
                using (var db = new CroceRossaEntities())
                {
                    var pat = db.Pat.FirstOrDefault(x => x.PatOwnId == pathologyId);
                    pathology = pat == null ? new PathologyEntity() : pat.toPathologyEntity();
                }
            }
            return(pathology);
        }
        public int Add(PathologyEntity pathology)
        {
            try
            {
                using (var db = new CroceRossaEntities())
                {
                    db.Pat.Add(pathology.ToPat());
                    db.SaveChanges();

                    return(0);
                }
            }
            catch
            {
                return(-1);
            }
        }
 public int Delete(PathologyEntity pathology)
 {
     try
     {
         using (var db = new CroceRossaEntities())
         {
             Pat pat = db.Pat.First(x => x.PatOwnId == pathology.Id);
             if (pat != null)
             {
                 db.Pat.Remove(pat);
                 db.SaveChanges();
             }
             return(0);
         }
     }
     catch (Exception)
     {
         return(-1);
     }
 }