public void ApprovingSpesa(int id) { using (var ctx = new GestioneSpeseContex()) { bool saved = false; do { try { var spesa = ctx.Spese.Include(c => c.Categoria) .FirstOrDefault(x => x.Id == id); spesa.Approvato = true; ctx.Entry <Spesa>(spesa).State = EntityState.Modified; ctx.SaveChanges(); saved = true; } catch (DbUpdateConcurrencyException ex) { foreach (var entity in ex.Entries) { var dbValue = entity.GetDatabaseValues(); entity.OriginalValues.SetValues(dbValue); } } } while (!saved); } }
public bool Delete(int id) { using (var ctx = new GestioneSpeseContex()) { if (id < 0) { return(false); // l'id non può essere negativo } var spesa = ctx.Spese.Find(id); if (spesa != null) { ctx.Spese.Remove(spesa); ctx.SaveChanges(); } return(true); } }
public bool Create(Spesa item) { using (var ctx = new GestioneSpeseContex()) { if (item == null) { return(false); } var categoria = ctx.Categorie.Include(c => c.Spese) .Where(c => c.Id == item.CategoriaId) .SingleOrDefault(); if (categoria != null) { categoria.Spese.Add(item); //Aggiungo alle spese della relativa categoria } ctx.Spese.Add(item); ctx.SaveChanges(); return(true); } }