public ActionResult DodajKomentarz(int id_firmy = 0)
        {
            Komentarz komentarz = new Komentarz
            {
                tresc = Request["tresc"] as string,
            };
            try
            {
                aplikacja.WystawKomentarzFirmie(User.Identity.GetUserId(), id_firmy, komentarz);
            }
            catch (BrakFirmy e)
            {
                Debug.WriteLine("Brak firmy:" + id_firmy);
            }
            catch (BrakUzytkownika e)
            {
                Debug.WriteLine("Brak użytkownika:" + User.Identity.GetUserId());
            }
            catch (UzytkownikKomentujeWlasnaFirme e)
            {
                Debug.WriteLine("Uzytkownik ocenia wlasna firme:" + id_firmy);
            }

            return RedirectToAction("SzczegolyFirmy", new { id_firmy = id_firmy });
        }
 public KomentarzVM(Komentarz komentarz)
 {
     try
     {
         id_firmy = komentarz.firma.id;
     }
     catch { }
     id = komentarz.id;
     try
     {
         wlasciciel = komentarz.wlasciciel.UserName;
     }
     catch { }
     tresc = komentarz.tresc;
     ocena = komentarz.ocena;
 }
        public ActionResult SzczegolyFirmy(int id_firmy = 0)
        {
            Firma firma = Firma.Null;
            try
            {
                firma = aplikacja.PobierzFirmePoId(id_firmy);
            }
            catch (BrakFirmy)
            {
                return RedirectToAction("index");
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
            }

            Ocena ocena = Ocena.Null;
            try
            {
                ocena = aplikacja.ObliczSredniaOceneFirmy(firma);
            }
            catch (BrakOcen e)
            {
                ocena = Ocena.Null;
            }
            IEnumerable<Komentarz> komentarze = null;
            try
            {
                komentarze = aplikacja.PobierzNajlepszeKomentarzeFirmyWedlogPaczki(firma, 0);
            }
            catch (Exception e)
            {
                komentarze = new Komentarz[0];
            }

            return View(new FirmaZSzczegolamiVM(firma, ocena, komentarze));
        }
        public Komentarz WystawKomentarzFirmie(Uzytkownik uzytkownik, Firma firma, Komentarz komentarz)
        {
            if (uzytkownik == null) throw new BrakUzytkownika();
            if (firma == null) throw new BrakFirmy();
            if (komentarz == null) throw new BrakKomentarza();
            //if (uzytkownik.wystawione_komentarze.Count(n => n.firma.id == firma.id) > 0) throw new UzytkownikDodajeDrugiKomentarz();
            if (firma.wlasciciel.Id == uzytkownik.Id) throw new UzytkownikKomentujeWlasnaFirme();

            if (uzytkownik.wystawione_komentarze == null) uzytkownik.wystawione_komentarze = new List<Komentarz>();
            if (firma.komentarze == null) firma.komentarze = new List<Komentarz>();

            uzytkownik.wystawione_komentarze.Add(komentarz);
            firma.komentarze.Add(komentarz);
            komentarz.wlasciciel = uzytkownik;
            komentarz.firma = firma;

            dane.Firmy.Popraw(firma);
            message.TwojaFirmaZostalaZakomentowana(firma.wlasciciel, komentarz.tresc);

            return dane.Komentarze.Wczytaj().Last();
        }
 public Komentarz WystawKomentarzFirmie(string id_uzytkownik, int id_firma, Komentarz komentarz)
 {
     return WystawKomentarzFirmie(dane.Uzytkownicy.Wczytaj().FirstOrDefault(n => n.Id == id_uzytkownik), dane.Firmy.Wczytaj().FirstOrDefault(n => n.id == id_firma), komentarz);
 }
 public int PobierzOceneKomentarza(Komentarz komentarz)
 {
     return komentarz.ocena;
 }
        public void OcenienieKomentarzaPozytywnie(Komentarz komentarz, Uzytkownik uzytkownik)
        {
            if (komentarz == null) throw new BrakKomentarza();
            if (uzytkownik == null) throw new BrakUzytkownika();
            if (uzytkownik.wystawione_komentarze.Count(n => n.id == komentarz.id) > 0) throw new UzytkownikOceniaWlasnyKomentarz();
            if (komentarz.uzytkownicy_korzy_ocenili.Count(n => n.Id == uzytkownik.Id) > 0) throw new UzytkownikOceniaKomentarzKolejnyRaz();

            if (komentarz.uzytkownicy_korzy_ocenili == null) komentarz.uzytkownicy_korzy_ocenili = new List<Uzytkownik>();
            if (uzytkownik.ocenione_komentarze == null) uzytkownik.ocenione_komentarze = new List<Komentarz>();

            komentarz.ocena += 1;
            komentarz.uzytkownicy_korzy_ocenili.Add(uzytkownik);
            uzytkownik.ocenione_komentarze.Add(komentarz);

            dane.Komentarze.Popraw(komentarz);
            dane.Uzytkownicy.Popraw(uzytkownik);
        }