コード例 #1
0
        public void SacuvajInkrement(Inkrement inkrement)
        {
            try
            {
                using (BHaoDataContext context = new BHaoDataContext())
                {
                    IDataRepository <Inkrement> repo = new DataRepositoryBase <Inkrement>(context);

                    if (repo.GetAll().Where(x => (x.Cijena == inkrement.Cijena || x.IznosInkrementa == inkrement.IznosInkrementa) && x.isDeleted == false).FirstOrDefault() != null)
                    {
                        throw new Exception("Cijena ili iznos inkrementa već postoji u bazi.");
                    }

                    if (inkrement.Id != 0)
                    {
                        Inkrement i = repo.Get(inkrement.Id);
                        i.Cijena          = inkrement.Cijena;
                        i.IznosInkrementa = inkrement.IznosInkrementa;
                        i.isDeleted       = inkrement.isDeleted;

                        repo.Update(i);
                    }
                    else
                    {
                        repo.Insert(inkrement);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
コード例 #2
0
        public void SacuvajGrad(Grad grad)
        {
            try
            {
                using (BHaoDataContext context = new BHaoDataContext())
                {
                    IDataRepository <Grad> repo = new DataRepositoryBase <Grad>(context);

                    if (repo.GetAll().Where(x => x.Naziv == grad.Naziv && x.isDeleted == false).FirstOrDefault() != null)
                    {
                        throw new Exception(String.Format("Grad '{0}' već postoji u bazi.", grad.Naziv));
                    }

                    if (grad.Id != 0)
                    {
                        Grad g = repo.Get(grad.Id);
                        g.Naziv     = grad.Naziv;
                        g.isDeleted = grad.isDeleted;
                        repo.Update(g);
                    }
                    else
                    {
                        repo.Insert(grad);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
コード例 #3
0
        public AukcijaDetailDTO[] GetZadnjeUspjesne(int kategorijaId, string stringZaPretragu)
        {
            try
            {
                using (BHaoDataContext context = new BHaoDataContext())
                {
                    IAukcijaRepository repo = new AukcijaRepository(context);

                    AukcijaDetailDTO[] zadnjeUspjesne = repo.GetAll(true).Where(x => x.Aukcija.KupacId > 0).ToArray();

                    if (kategorijaId > 0)
                    {
                        zadnjeUspjesne = zadnjeUspjesne.Where(x => x.Aukcija.KategorijaId == kategorijaId).ToArray();
                    }

                    if (!String.IsNullOrEmpty(stringZaPretragu))
                    {
                        zadnjeUspjesne = zadnjeUspjesne.Where(x => x.Artikal.Naziv.ToLower().Contains(stringZaPretragu) ||
                                                              x.Artikal.Model.ToLower().Contains(stringZaPretragu) ||
                                                              x.Artikal.Proizvodjac.ToLower().Contains(stringZaPretragu)).ToArray();
                    }

                    zadnjeUspjesne = zadnjeUspjesne.OrderByDescending(x => x.Aukcija.Zavrsetak)
                                     .Take(8)
                                     .ToArray();

                    return(zadnjeUspjesne);
                };
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
コード例 #4
0
        public void SacuvajKategorija(Kategorija kategorija)
        {
            try
            {
                using (BHaoDataContext context = new BHaoDataContext())
                {
                    IDataRepository <Kategorija> repo = new DataRepositoryBase <Kategorija>(context);

                    if (repo.GetAll().Where(x => x.Naziv == kategorija.Naziv && x.isDeleted == false).FirstOrDefault() != null)
                    {
                        throw new Exception(String.Format("Kategorija '{0}' već postoji u bazi.", kategorija.Naziv.ToLower()));
                    }

                    if (kategorija.Id != 0)
                    {
                        Kategorija k = repo.Get(kategorija.Id);
                        k.Naziv     = kategorija.Naziv;
                        k.isDeleted = kategorija.isDeleted;
                        repo.Update(k);
                    }
                    else
                    {
                        repo.Insert(kategorija);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
コード例 #5
0
        public int PosaljiPoruku(Poruka poruka)
        {
            try
            {
                using (BHaoDataContext context = new BHaoDataContext())
                {
                    if (String.IsNullOrEmpty(poruka.TextPoruke))
                    {
                        throw new FaultException("Ne možete poslati praznu poruku!");
                    }

                    IPorukaRepository repo = new PorukaRepository(context);
                    poruka.Datum = DateTime.Now;
                    poruka.IsObrisanaPosiljalac = false;
                    poruka.IsObrisanaPrimalac   = false;
                    Poruka p = repo.Insert(poruka);

                    return(p.Id);
                }
            }
            catch (FaultException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
コード例 #6
0
        public void DodajKomentarArtikla(KomentarArtikla komentar)
        {
            try
            {
                if (komentar.TextKomentara == null || string.IsNullOrEmpty(komentar.TextKomentara))
                {
                    throw new FaultException("Morate unijeti tekst komentara!");
                }

                using (BHaoDataContext context = new BHaoDataContext())
                {
                    IDataRepository <KomentarArtikla> repo = new DataRepositoryBase <KomentarArtikla>(context);
                    if (repo.GetAll().Where(x => x.ArtikalId == komentar.ArtikalId && x.KomentatorId == komentar.KomentatorId).FirstOrDefault() != null)
                    {
                        throw new FaultException("Već ste jednom komentirali artikal!");
                    }

                    komentar.Datum = DateTime.Now;
                    repo.Insert(komentar);
                }
            }
            catch (FaultException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
コード例 #7
0
        public static void KupiOdmah(int aukcijaId, int korisnikId, BHaoDataContext context)
        {
            IAukcijaRepository aukcijaRepo = new AukcijaRepository(context);
            IPonudaRepository  ponudaRepo  = new PonudaRepository(context);

            Aukcija aukcija = aukcijaRepo.Get(aukcijaId);

            if (!aukcija.Zavrsena && aukcija.Zavrsetak > DateTime.Now)
            {
                Ponuda ponuda = new Ponuda();
                ponuda.Vrijeme         = DateTime.Now;
                ponuda.Iznos           = (decimal)aukcija.KupiOdmahCijena;
                ponuda.MaksimalanIznos = (decimal)aukcija.KupiOdmahCijena;
                ponuda.KorisnikId      = korisnikId;
                ponuda.AukcijaId       = aukcija.Id;

                ponudaRepo.Insert(ponuda);

                aukcija.Zavrsetak         = ponuda.Vrijeme;
                aukcija.KupacId           = korisnikId;
                aukcija.Zavrsena          = true;
                aukcija.NajveciPonudjacId = korisnikId;
                aukcija.NajvecaPonuda     = aukcija.KupiOdmahCijena;
                aukcija.Provizija         = ObracunProvizije(aukcija);

                aukcijaRepo.Update(aukcija);
            }
            else
            {
                throw new Exception("Aukcija već zavrsena!");
            }
        }
コード例 #8
0
        public void SacuvajNacinPlacanja(NacinPlacanja nacinPlacanja)
        {
            try
            {
                using (BHaoDataContext context = new BHaoDataContext())
                {
                    IDataRepository <NacinPlacanja> repo = new DataRepositoryBase <NacinPlacanja>(context);

                    if (repo.GetAll().Where(x => x.Opis == nacinPlacanja.Opis && x.isDeleted == false).FirstOrDefault() != null)
                    {
                        throw new Exception(String.Format("Način plaćanja '{0}' već postoji u bazi.", nacinPlacanja.Opis.ToLower()));
                    }

                    if (nacinPlacanja.Id != 0)
                    {
                        NacinPlacanja np = repo.Get(nacinPlacanja.Id);
                        np.Opis      = nacinPlacanja.Opis;
                        np.isDeleted = nacinPlacanja.isDeleted;

                        repo.Update(np);
                    }
                    else
                    {
                        repo.Insert(nacinPlacanja);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
コード例 #9
0
        public Entities.Aukcija[] GetAllAukcije()
        {
            using (BHaoDataContext context = new BHaoDataContext())
            {
                IAukcijaRepository repo = new AukcijaRepository(context);

                return(repo.GetAll().ToArray());
            }
        }
コード例 #10
0
 public void OznaciPregledanArtikla(int komentarId)
 {
     using (BHaoDataContext context = new BHaoDataContext())
     {
         IKomentarArtiklaRepository repo = new KomentarArtiklaRepository(context);
         var komentar = repo.Get(komentarId);
         komentar.KomentarPregledan = true;
         repo.Update(komentar);
     }
 }
コード例 #11
0
ファイル: DataTest.cs プロジェクト: admiralicic/.netauctions
        public void testing_repository_access( )
        {
            using (BHaoDataContext context = new BHaoDataContext( ))
            {
                IAukcijaRepository repo = new AukcijaRepository(context);

                Aukcija aukcija = repo.Get(4);

                Assert.IsTrue(aukcija != null);
            }
        }
コード例 #12
0
        public void UkloniKomentarArtikla(int komentarId)
        {
            using (BHaoDataContext context = new BHaoDataContext())
            {
                IKomentarArtiklaRepository repo = new KomentarArtiklaRepository(context);
                var komentar = repo.Get(komentarId);
                komentar.isDeleted = true;
                repo.Update(komentar);

                PosaljiPoruku(context, komentar.KomentatorId, komentar.AukcijaId, komentar.TextKomentara);
            }
        }
コード例 #13
0
        public StatistikaDTO GetStatistika(int kategorijaId, DateTime?prikazOd, DateTime?prikazDo)
        {
            try
            {
                using (BHaoDataContext context = new BHaoDataContext())
                {
                    AukcijaRepository repo = new AukcijaRepository(context);

                    IEnumerable <AukcijaDetailDTO> aukcije = repo.GetAll(null);

                    if (kategorijaId > 0)
                    {
                        aukcije = aukcije.Where(x => x.Aukcija.KategorijaId == kategorijaId).ToList();
                    }

                    if (prikazOd != null && prikazDo != null)
                    {
                        aukcije = aukcije.Where(x => (x.Aukcija.Pocetak >= prikazOd && x.Aukcija.Pocetak <= prikazDo) || (x.Aukcija.Zavrsetak >= prikazOd && x.Aukcija.Zavrsetak <= prikazDo)).ToList();
                    }

                    StatistikaDTO statistika = new StatistikaDTO();
                    if (aukcije.Count() > 0)
                    {
                        statistika.BrojAukcija  = aukcije.Count();
                        statistika.ListaAukcija = aukcije.OrderByDescending(x => x.Aukcija.Pocetak);
                        statistika.ProsjecnaVrijednostAukcija = (decimal)aukcije.Where(x => x.Aukcija.Zavrsena && x.Aukcija.NajvecaPonuda > 0)
                                                                .Average(x => x.Aukcija.NajvecaPonuda);

                        statistika.NajcesceProdavaniArtikli = aukcije.GroupBy(x => x.Artikal).Select(group => new NajcesciArtikliDTO
                        {
                            Artikal = group.Key.Proizvodjac + " " + group.Key.Model + " - " + group.Key.Naziv,
                            Count   = group.Count()
                        }).OrderByDescending(x => x.Count).Take(10);
                    }
                    else
                    {
                        statistika.BrojAukcija = 0;
                        statistika.ProsjecnaVrijednostAukcija = 0;
                    }



                    return(statistika);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #14
0
        public ActionResult Register()
        {
            List <Grad> gradovi = new List <Grad>();

            using (BHaoDataContext context = new BHaoDataContext())
            {
                GradRepository repo = new GradRepository(context);

                gradovi = repo.GetAll().ToList();
            }

            ViewBag.Gradovi = new SelectList(gradovi, "Id", "Naziv");

            return(View());
        }
コード例 #15
0
 public Inkrement[] GetInkrementi()
 {
     try
     {
         using (BHaoDataContext context = new BHaoDataContext())
         {
             InkrementRepository repo = new InkrementRepository(context);
             return(repo.GetAll().Where(x => x.isDeleted == false).OrderBy(x => x.Cijena).ToArray());
         }
     }
     catch (Exception ex)
     {
         throw new FaultException(ex.Message);
     }
 }
コード例 #16
0
        private static void PosaljiPoruku(BHaoDataContext context, int komentatorId, int aukcijaId, string textKomentara)
        {
            Poruka poruka = new Poruka()
            {
                Datum        = DateTime.Now,
                PosiljalacId = 14,
                PrimalacId   = komentatorId,
                TextPoruke   = String.Format("Vaš komentar '{0}' je uklonjen!", textKomentara),
                AukcijaId    = aukcijaId
            };

            PorukaRepository porukaRepo = new PorukaRepository(context);

            porukaRepo.Insert(poruka);
        }
コード例 #17
0
        public Entities.Aukcija GetAukcija(int id)
        {
            try
            {
                using (BHaoDataContext context = new BHaoDataContext())
                {
                    IAukcijaRepository repo = new AukcijaRepository(context);

                    return(repo.Get(id));
                }
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
コード例 #18
0
        public AukcijaDetailDTO[] GetAllAktivne(int kategorijaId, string stringZaPretragu)
        {
            try
            {
                using (BHaoDataContext context = new BHaoDataContext())
                {
                    IAukcijaRepository repo = new AukcijaRepository(context);

                    return(repo.GetAllAktivne(kategorijaId, stringZaPretragu).ToArray());
                };
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
コード例 #19
0
        public KorisnikDTO GetKorisnikById(int korisnikId)
        {
            try
            {
                using (BHaoDataContext context = new BHaoDataContext())
                {
                    KorisnikRepository repo = new KorisnikRepository(context);

                    return(repo.GetById(korisnikId));
                }
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
コード例 #20
0
        public Artikal[] GetArtikli()
        {
            try
            {
                using (BHaoDataContext context = new BHaoDataContext())
                {
                    IDataRepository <Artikal> repo = new DataRepositoryBase <Artikal>(context);

                    return(repo.GetAll().Where(x => x.isDeleted == false).ToArray());
                }
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
コード例 #21
0
        public Grad[] GetGradovi()
        {
            try
            {
                using (BHaoDataContext context = new BHaoDataContext())
                {
                    IDataRepository <Grad> repo = new DataRepositoryBase <Grad>(context);

                    return(repo.GetAll().Where(x => x.isDeleted == false).OrderBy(x => x.Naziv).ToArray());
                }
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
コード例 #22
0
        public NacinPlacanja[] GetNaciniPlacanja()
        {
            try
            {
                using (BHaoDataContext context = new BHaoDataContext())
                {
                    IDataRepository <NacinPlacanja> repo = new DataRepositoryBase <NacinPlacanja>(context);

                    return(repo.GetAll().Where(x => x.isDeleted == false).ToArray());
                }
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
コード例 #23
0
        public void OcijeniKorisnika(OcjenaKorisnika ocjena)
        {
            try
            {
                if (ocjena.Ocjena < 1)
                {
                    throw new FaultException("Morate odabrati ocjenu!");
                }

                using (BHaoDataContext context = new BHaoDataContext())
                {
                    IDataRepository <OcjenaKorisnika> ocjenaRepo = new DataRepositoryBase <OcjenaKorisnika>(context);
                    AukcijaRepository aukcijaRepo = new AukcijaRepository(context);

                    Aukcija aukcija = aukcijaRepo.Get(ocjena.AukcijaId);

                    if ((ocjena.OcjenjivacId == aukcija.ProdavacId || ocjena.OcjenjivacId == aukcija.KupacId) &&
                        (ocjena.OcijenjeniKorisnikId == aukcija.ProdavacId || ocjena.OcijenjeniKorisnikId == aukcija.KupacId))
                    {
                        if (ocjenaRepo.GetAll().Where(x => x.OcjenjivacId == ocjena.OcjenjivacId &&
                                                      x.OcijenjeniKorisnikId == ocjena.OcijenjeniKorisnikId && x.AukcijaId == ocjena.AukcijaId).FirstOrDefault() != null)
                        {
                            throw new FaultException("Možete ocijeniti korisnika samo jednom!");
                        }
                        else
                        {
                            ocjena.Datum = DateTime.Now;
                        }
                        ocjenaRepo.Insert(ocjena);
                    }
                    else
                    {
                        throw new FaultException("Ocjenjivać i ocijenjeni korisnik moraju biti kupac ili prodavac!");
                    }
                }
            }
            catch (FaultException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
コード例 #24
0
 public void KupiOdmah(int aukcijaId, int korisnikId)
 {
     try
     {
         using (BHaoDataContext context = new BHaoDataContext())
         {
             BHaoBusinessEngine.KupiOdmah(aukcijaId, korisnikId, context);
         }
     }
     catch (FaultException ex)
     {
         throw ex;
     }
     catch (Exception ex)
     {
         throw new FaultException(ex.Message);
     }
 }
コード例 #25
0
        public KomentarArtiklaDTO[] GetKomentariArtikala(bool isPregledan)
        {
            try
            {
                using (BHaoDataContext context = new BHaoDataContext())
                {
                    IKomentarArtiklaRepository repo = new KomentarArtiklaRepository(context);

                    var komentari = repo.GetKomentariPregled(isPregledan);

                    return(komentari);
                }
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
コード例 #26
0
        public void OcijeniArtikal(OcjenaArtikla ocjena)
        {
            try
            {
                if (ocjena.Ocjena < 1)
                {
                    throw new FaultException("Morate odabrati ocjenu!");
                }

                using (BHaoDataContext context = new BHaoDataContext())
                {
                    IDataRepository <OcjenaArtikla> ocjenaRepo = new DataRepositoryBase <OcjenaArtikla>(context);
                    AukcijaRepository aukcijaRepo = new AukcijaRepository(context);

                    Aukcija aukcija = aukcijaRepo.Get(ocjena.AukcijaId);

                    if (aukcija.KupacId == ocjena.OcijenioId)
                    {
                        if (ocjenaRepo.GetAll().Where(x => x.ArtikalId == ocjena.ArtikalId && x.OcijenioId == aukcija.KupacId && x.AukcijaId == ocjena.AukcijaId).FirstOrDefault() != null)
                        {
                            throw new FaultException("Možete ocijeniti artikal samo jednom!");
                        }
                        else
                        {
                            ocjena.Datum = DateTime.Now;
                            ocjenaRepo.Insert(ocjena);
                        }
                    }
                    else
                    {
                        throw new FaultException("Morate biti kupac da bi mogli ocijeniti artikal!");
                    }
                }
            }
            catch (FaultException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
コード例 #27
0
        public Aukcija KreirajAukciju(AukcijaKreirajDTO aukcijaModel, int prijavljeniKorisnik)
        {
            Aukcija aukcija = new Aukcija();

            try
            {
                using (BHaoDataContext context = new BHaoDataContext())
                {
                    Artikal artikal = new Artikal();

                    DateTime pocetakAukcije = DateTime.Now;

                    IArtikalRepository      artikalRepo = new ArtikalRepository(context);
                    IAukcijaRepository      aukcijaRepo = new AukcijaRepository(context);
                    IDataRepository <Slika> slikeRepo   = new DataRepositoryBase <Slika>(context);

                    aukcija.ArtikalId       = artikalRepo.KreirajIzAukcije(aukcijaModel.Naziv, aukcijaModel.Model, aukcijaModel.Proizvodjac);
                    aukcija.Pocetak         = pocetakAukcije;
                    aukcija.Zavrsetak       = pocetakAukcije.AddDays(aukcijaModel.Trajanje);
                    aukcija.MinimalnaCijena = aukcijaModel.MinimalnaCijena;
                    aukcija.KupiOdmahCijena = aukcijaModel.KupiOdmahCijena;
                    aukcija.Napomena        = aukcijaModel.Napomena;
                    aukcija.DetaljanOpis    = aukcijaModel.DetaljanOpis;
                    aukcija.NacinPlacanjaId = aukcijaModel.NacinPlacanjaId;
                    aukcija.KategorijaId    = aukcijaModel.KategorijaId;
                    aukcija.ProdavacId      = prijavljeniKorisnik;

                    aukcija = aukcijaRepo.Insert(aukcija);

                    foreach (var slika in aukcijaModel.Slike)
                    {
                        slika.AukcijaId = aukcija.Id;
                        slikeRepo.Insert(slika);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }

            return(aukcija);
        }
コード例 #28
0
        public PorukaDTO[] GetPrimljene(int korisnikId)
        {
            try
            {
                using (BHaoDataContext context = new BHaoDataContext())
                {
                    IPorukaRepository repo = new PorukaRepository(context);

                    return(repo.GetPrimljene(korisnikId).ToArray());
                }
            }
            catch (FaultException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
コード例 #29
0
        public Poruka GetPoruka(int porukaId)
        {
            try
            {
                using (BHaoDataContext context = new BHaoDataContext())
                {
                    IPorukaRepository repo = new PorukaRepository(context);

                    return(repo.Get(porukaId));
                }
            }
            catch (FaultException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
コード例 #30
0
        public void ObrisiPoruku(PorukaDTO poruka, int korisnikId)
        {
            try
            {
                using (BHaoDataContext context = new BHaoDataContext())
                {
                    IPorukaRepository repo = new PorukaRepository(context);

                    repo.ObrisiPoruku(poruka, korisnikId);
                }
            }
            catch (FaultException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }