public void DodajKomentar(KomentarKorisnika komentar) { try { if (komentar.TextKomentara == null || String.IsNullOrEmpty(komentar.TextKomentara)) { throw new FaultException("Morate unijeti tekst komentara!"); } using (BHaoDataContext context = new BHaoDataContext()) { IDataRepository <KomentarKorisnika> repo = new DataRepositoryBase <KomentarKorisnika>(context); if (repo.GetAll().Where(x => x.AukcijaId == komentar.AukcijaId && x.KomentatorId == komentar.KomentatorId).FirstOrDefault() != null) { throw new FaultException("Već ste jednom komentirali!"); } komentar.Datum = DateTime.Now; repo.Insert(komentar); } } catch (FaultException ex) { throw ex; } catch (Exception ex) { throw new FaultException(ex.Message); } }
public HttpResponseMessage DodajKomentar(HttpRequestMessage request, [FromBody] KomentarKorisnika komentar) { HttpResponseMessage response = null; try { using (AukcijeClient proxy = new AukcijeClient()) { proxy.Open(); proxy.DodajKomentar(komentar); response = request.CreateResponse(HttpStatusCode.OK); proxy.Close(); } } catch (FaultException ex) { response = request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message); } catch (Exception ex) { response = request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message); } return(response); }
public AukcijaDTO GetAukcijaDetail(int aukcijaId, int korisnikId) { var query = from a in _context.Aukcije.Include(x => x.Slike) where a.Id == aukcijaId join ar in _context.Artikli on a.ArtikalId equals ar.Id join n in _context.NaciniPlacanja on a.NacinPlacanjaId equals n.Id select new AukcijaDTO() { Id = a.Id, Pocetak = a.Pocetak, Zavrsetak = a.Zavrsetak, NazivArtikla = ar.Naziv, Proizvodjac = ar.Proizvodjac, Model = ar.Model, PocetnaCijena = a.MinimalnaCijena, KupiOdmahCijena = a.KupiOdmahCijena, DetaljanOpis = a.DetaljanOpis, ProdavacId = a.ProdavacId, NacinPlacanja = n.Opis, Napomena = a.Napomena, Slike = a.Slike, NajveciPonudjacId = a.NajveciPonudjacId, Zavrsena = a.Zavrsena, ArtikalId = (int)a.ArtikalId }; AukcijaDTO aukcijaDTO = query.FirstOrDefault(); KorisnikRepository korisnikRepo = new KorisnikRepository(_context); if (aukcijaDTO.NajveciPonudjacId != 0) { Ponuda najvecaPonuda = _context.Ponude .Where(x => x.KorisnikId == aukcijaDTO.NajveciPonudjacId && x.AukcijaId == aukcijaDTO.Id) .OrderByDescending(x => x.Iznos) .Take(1).SingleOrDefault(); aukcijaDTO.NajvecaPonuda = najvecaPonuda; aukcijaDTO.NajveciPonudjac = korisnikRepo.GetById(aukcijaDTO.NajveciPonudjacId); } aukcijaDTO.Prodavac = korisnikRepo.GetById(aukcijaDTO.ProdavacId); PonudaRepository ponudaRepo = new PonudaRepository(_context); aukcijaDTO.Ponude = ponudaRepo.GetPonudeByAukcijaId(aukcijaDTO.Id); IDataRepository <OcjenaKorisnika> ocjenaKorisnikaRepo = new DataRepositoryBase <OcjenaKorisnika>(_context); aukcijaDTO.OcjeneKorisnika = ocjenaKorisnikaRepo.GetAll().Where(x => x.AukcijaId == aukcijaDTO.Id).ToList(); IDataRepository <OcjenaArtikla> ocjenaArtiklaRepo = new DataRepositoryBase <OcjenaArtikla>(_context); aukcijaDTO.OcjeneArtikla = ocjenaArtiklaRepo.GetAll().Where(x => x.ArtikalId == aukcijaDTO.ArtikalId).ToList(); IDataRepository <KomentarKorisnika> komentarKorisnikaRepo = new DataRepositoryBase <KomentarKorisnika>(_context); KomentarKorisnika komentar = komentarKorisnikaRepo.GetAll().Where(x => x.KomentatorId == korisnikId && x.AukcijaId == aukcijaDTO.Id).FirstOrDefault(); if (komentar != null && komentar.isDeleted) { komentar.TextKomentara = "Komentar obrisan."; } aukcijaDTO.KomentarKorisnika = komentar; IDataRepository <KomentarArtikla> komentarArtiklaRepo = new DataRepositoryBase <KomentarArtikla>(_context); KomentarArtikla komentarArtikla = komentarArtiklaRepo.GetAll().Where(x => x.KomentatorId == korisnikId && x.AukcijaId == aukcijaDTO.Id).FirstOrDefault(); if (komentarArtikla != null && komentarArtikla.isDeleted) { komentarArtikla.TextKomentara = "Komentar obrisan."; } aukcijaDTO.KomentarArtikla = komentarArtikla; ArtikalRepository artikalRepo = new ArtikalRepository(_context); Artikal artikal = artikalRepo.GetByIdWithProsjecnaOcjena(aukcijaDTO.ArtikalId); aukcijaDTO.Artikal = artikal; return(aukcijaDTO); }
public void DodajKomentar(KomentarKorisnika komentar) { Channel.DodajKomentar(komentar); }