Esempio n. 1
0
 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);
     }
 }
Esempio n. 2
0
 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);
     }
 }
Esempio n. 3
0
        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"));
            }
        }