public static SchedeViewModel GetViewModel(int id, GymDataContest context) { List <SchedeEsercizi> schede = context.SchedeEsercizi.Where(x => x.IdScheda == id).ToList(); //genero gli esercizi SchedeViewModel viewModel = new SchedeViewModel(); //viewModel.Id = id; viewModel.IdScheda = id; viewModel.NomeScheda = context.Schede.Where(s => s.Id == id).FirstOrDefault()?.Nome; viewModel.DescrizioneScheda = context.Schede.Where(s => s.Id == id).FirstOrDefault()?.DescrizioneScheda; List <EsercizioViewModel> esercizi = new List <EsercizioViewModel>(); foreach (var scheda in schede) { var esercizio = context.Esercizi.Where(x => x.ID == scheda.IdEsercizio).FirstOrDefault(); if (esercizio != null) { esercizi.Add(new EsercizioViewModel() { ID = esercizio.ID, Descrizione = esercizio.Descrizione, IsRiscaldamento = esercizio.IsRiscaldamento, NomeEsercizio = esercizio.NomeEsercizio, Ripetizioni = scheda.Ripetizioni }); } } viewModel.Esercizi = esercizi; return(viewModel); }
public static void UpdateModel(SchedeViewModel schedeEsercizi, GymDataContest context) { int schedaId = schedeEsercizi.IdScheda; context.SchedeEsercizi.RemoveRange(context.SchedeEsercizi.Where(x => x.IdScheda == schedaId).ToList()); foreach (var esercizio in schedeEsercizi.Esercizi) { if (esercizio.ID != 0) { context.Add(new SchedeEsercizi() { IdEsercizio = esercizio.ID, IdScheda = schedaId, Ripetizioni = esercizio.Ripetizioni }); } } var scheda = context.Schede.Find(schedaId); scheda.DescrizioneScheda = schedeEsercizi.DescrizioneScheda; scheda.Nome = schedeEsercizi.NomeScheda; context.Update(scheda); context.SaveChanges(); }