コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 public void DodajKomentar(KomentarKorisnika komentar)
 {
     Channel.DodajKomentar(komentar);
 }