public UczestnikGry Pobierz(long id) { try { UczestnikGry rezultat = null; using (PracaMagisterskaEntities baza = new PracaMagisterskaEntities()) { rezultat = baza.UczestnikGry.Where(x => x.Id == id && !x.CzyUsuniety).Single(); return(rezultat); } } catch (Exception ex) { LogHelper.Log.Error(ex); return(null); } }
public long?Zapisz(UczestnikGry uczestnikGry) { try { long?rezultat = null; using (PracaMagisterskaEntities baza = new PracaMagisterskaEntities()) { baza.Entry(uczestnikGry).State = uczestnikGry.Id > 0 ? EntityState.Modified : EntityState.Added; baza.SaveChanges(); rezultat = uczestnikGry.Id; } return(rezultat); } catch (Exception ex) { LogHelper.Log.Error(ex); return(null); } }
public ActionResult ZapiszDetaleGry(EdytujGreViewModel model) { try { if (model.Id > 0 && model.ListaGraczy != null) { foreach (var gracz in model.ListaUczestnikow) { if (string.IsNullOrEmpty(gracz.ImiePrzeciwnika)) { gracz.ImiePrzeciwnika = ""; } if (string.IsNullOrEmpty(gracz.NazwiskoPrzeciwnika)) { gracz.NazwiskoPrzeciwnika = ""; } } } //if (ModelState.IsValid) { GraRepozytorium graRepozytorium = new GraRepozytorium(); Gra gra = null; if (model.Id.HasValue) { gra = graRepozytorium.Pobierz(model.Id.Value); } else { gra = new Gra(); gra.Typ = (byte)model.TypGry; gra.KategoriaWiekowaGry = (byte)model.KategoriaWiekowa; } gra.Miejsce = model.Miejsce; gra.Data = (DateTime)model.Data; gra.UzytkownikId = ((Uzytkownik)Session["uzytkownik"]).Id; long?rezultatZapisu = graRepozytorium.Zapisz(gra); if (model.Id.HasValue) { UczestnikGry uczestnikGry = null; UczestnikGryRepozytorium uczestnikGryRepozytorium = new UczestnikGryRepozytorium(); foreach (UczestnikGryViewModel uczestnik in model.ListaUczestnikow) { if (uczestnik.Id.HasValue) { uczestnikGry = uczestnikGryRepozytorium.Pobierz(uczestnik.Id.Value); } else { uczestnikGry = new UczestnikGry(); uczestnikGry.GraId = gra.Id; } uczestnikGry.ImiePrzeciwnika = uczestnik.ImiePrzeciwnika; uczestnikGry.NazwiskoPrzeciwnika = uczestnik.NazwiskoPrzeciwnika; uczestnikGry.GraczId = uczestnik.GraczId.Value;//uczestnik gry jest z tabeli a uczestnik jest z ViewModel czyli tego co podal uzytkownik uczestnik.Id = uczestnikGryRepozytorium.Zapisz(uczestnikGry); } List <UczestnikGry> listaUczestnikowGryWBazie = uczestnikGryRepozytorium.PobierzListeUczestnikow(gra.Id); List <UczestnikGry> uczestnicyDoUsuniecia = listaUczestnikowGryWBazie.Where(x => !model.ListaUczestnikow.Where(y => y.Id == x.Id).Any()).ToList(); // w liscie uczestnikowGryDoUsuniecia przypisuje sie elementy z listy uczestnikowGryWBazie ktorych id nie wystepuje w ViewModel na liscie uczestnmikow gry foreach (UczestnikGry uczestnik in uczestnicyDoUsuniecia) { uczestnik.CzyUsuniety = true; long?rezultatZapisuUczestnika = uczestnikGryRepozytorium.Zapisz(uczestnik); } } if (rezultatZapisu != null) { //if (model.Id.HasValue) //{ return(RedirectToAction("DetaleGry", new { id = gra.Id })); //} //else //{ // return RedirectToAction("DetaleGry", new { id = gra.Id }); //} } else { return(View("Error")); } } } catch (Exception ex) { LogHelper.Log.Error(ex); return(View("Error")); } }