示例#1
0
        public Model.EKnjiga Update(int id, EKnjigaInsertRequest request)
        {
            var entity = db.EKnjige.Where(x => x.EKnjigaID == id).FirstOrDefault();

            //db.EKnjige.Attach(entity);
            //db.EKnjige.Update(entity);

            //entity = mapper.Map(request, entity);

            entity.Cijena       = request.Cijena;
            entity.Naziv        = request.Naziv;
            entity.OcjenaKnjige = request.OcjenaKnjige;

            entity.Slika = request.Slika;
            entity.Opis  = request.Opis;
            if (!string.IsNullOrEmpty(request.Pdffile))
            {
                entity.PDFDodan = true;
                entity.Pdffile  = request.Pdffile;
            }
            if (!string.IsNullOrEmpty(request.Mp3file))
            {
                entity.MP3Dodan = true;
                entity.Mp3file  = request.Mp3file;
            }

            db.SaveChanges();

            return(mapper.Map <Model.EKnjiga>(entity));
        }
        private async Task OcijeniStar(string _ocjena)
        {
            int OcjenaBroj = int.TryParse(_ocjena, out int value) ? value : 0;

            if (OcjenaBroj >= 1 && OcjenaBroj <= 5)
            {
                float sum    = 0;
                int   count  = 0;
                var   ocjena = await _serviceOcjenaEknjige.get <List <KlijentKnjigaOcjena> >(null);

                int ocjenaID = 0;
                foreach (var o in ocjena)
                {
                    if (o.EKnjigaID == EKnjiga.EKnjigaID && o.KlijentID == APIService.PrijavljeniKorisnik.KlijentID)
                    {
                        ocjenaID = o.KlijentKnjigaOcijenaID;
                    }
                }
                var ocjenarequest = new KlijentKnjigaOcjena()
                {
                    EKnjigaID    = EKnjiga.EKnjigaID,
                    KlijentID    = APIService.PrijavljeniKorisnik.KlijentID,
                    DatumOcijene = DateTime.Now,
                    Ocjena       = OcjenaBroj
                };
                if (ocjenaID != 0)
                {
                    ocjenarequest.KlijentKnjigaOcijenaID = ocjenaID;
                    await _serviceOcjenaEknjige.Update <KlijentKnjigaOcijenaRequest>(ocjenaID, ocjenarequest);
                }
                else
                {
                    await _serviceOcjenaEknjige.Insert <KlijentKnjigaOcijenaRequest>(ocjenarequest);
                }
                var ocjena2 = await _serviceOcjenaEknjige.get <List <KlijentKnjigaOcjena> >(null);

                foreach (var o2 in ocjena2)
                {
                    if (o2.EKnjigaID == EKnjiga.EKnjigaID)
                    {
                        sum += o2.Ocjena;
                        count++;
                    }
                }
                float prosjek = sum / count;
                var   request = new EKnjigaInsertRequest()
                {
                    Slika        = EKnjiga.Slika,
                    Cijena       = EKnjiga.Cijena,
                    OcjenaKnjige = prosjek,
                    Opis         = EKnjiga.Opis,
                    PDFDodan     = EKnjiga.PDFDodan,
                    MP3Dodan     = EKnjiga.MP3Dodan,
                    Mp3file      = EKnjiga.Mp3file,
                    Pdffile      = EKnjiga.Pdffile,
                    Naziv        = EKnjiga.Naziv
                };



                Ocjena = OcjenaBroj;
                await _service.Update <EKnjigaInsertRequest>(EKnjiga.EKnjigaID, request);

                await App.Current.MainPage.DisplayAlert("Obavijest", "Uspješno ste ocjenili knjigu", "OK");

                UpdateStar();
            }
        }