Exemplo n.º 1
0
        public List <Model.Clanarina> Get(ClanarinaSearchRequest request)
        {
            var query = _context.Clanarina
                        .Include(c => c.Clan)
                        .ThenInclude(c => c.Osoba)
                        .Include(c => c.Paket)
                        .ThenInclude(p => p.PaketPristupniDani)
                        .ThenInclude(p => p.PristupniDani)
                        .OrderByDescending(c => c.DatumUplate)
                        .AsQueryable();

            #region search
            if (request.UplataZaMjesec != null)
            {
                query = query.Where(q => q.UplataZaMjesec == request.UplataZaMjesec);
            }
            if (request.UplataZaGodinu != null)
            {
                query = query.Where(q => q.UplataZaGodinu == request.UplataZaGodinu);
            }
            if (request.ClanID != 0)
            {
                query = query.Where(q => q.ClanId == request.ClanID);
            }
            if (request.PaketID != 0)
            {
                query = query.Where(q => q.PaketId == request.PaketID);
            }
            #endregion search

            var list = query.ToList();
            return(_mapper.Map <List <Model.Clanarina> >(list));
        }
        private async Task LoadClanarine()
        {
            ClanarinaSearchRequest request = new ClanarinaSearchRequest
            {
                KorisnikId = _clanId
            };
            var clanarine = await _service.Get <List <Model.Clanarina> >(request);

            dgvClanarine.AutoGenerateColumns = false;
            dgvClanarine.DataSource          = clanarine;
        }
Exemplo n.º 3
0
        public async Task Init()
        {
            var clanarinaSearchRequest = new ClanarinaSearchRequest()
            {
                ClanID = _clan.Id
            };

            var clanarinaList = await _apiService.Get <IEnumerable <Model.Clanarina> >(clanarinaSearchRequest);



            if (_SelectedSortirajPo == "Cijena rast.")
            {
                clanarinaList = clanarinaList.OrderBy(c => c.IznosUplate);
            }
            if (_SelectedSortirajPo == "Cijena opad.")
            {
                clanarinaList = clanarinaList.OrderByDescending(c => c.IznosUplate);
            }
            if (_SelectedSortirajPo == "Datum uplate rast.")
            {
                clanarinaList = clanarinaList.OrderBy(c => c.DatumUplate);
            }
            if (_SelectedSortirajPo == "Datum uplate opad.")
            {
                clanarinaList = clanarinaList.OrderByDescending(c => c.DatumUplate);
            }

            clanarine.Clear();
            foreach (Model.Clanarina x in clanarinaList)
            {
                if (x.UplataZaMjesec == _SelectedUplataZaMjesec && x.UplataZaGodinu == _SelectedUplataZaGodinu)
                {
                    var clanarina = new Wellness.Mobile.Models.ClanarinaModel()
                    {
                        DatumUplate    = x.DatumUplate.ToString("dd.MM.yyyy"),
                        IznosUplate    = Math.Round(x.IznosUplate, 2).ToString(),
                        Paket          = x.Paket.Naziv,
                        UplataZaMjesec = x.UplataZaMjesec.ToString(),
                        UplataZaGodinu = x.UplataZaGodinu.ToString()
                    };

                    clanarine.Add(clanarina);
                }
            }
        }
Exemplo n.º 4
0
        private async void BtnUcitaj_Click_1(object sender, EventArgs e)
        {
            this.chart1.Series[0].Points.Clear();
            this.chart1.Series[1].Points.Clear();

            var ClanarinaSearchRequest = new ClanarinaSearchRequest();

            if (!string.IsNullOrEmpty(txtUplataZaGodinu.Text))
            {
                ClanarinaSearchRequest.UplataZaGodinu = Convert.ToInt32(txtUplataZaGodinu.Text);
            }
            if ((int)Tab1_cbPaket.SelectedValue != 0)
            {
                ClanarinaSearchRequest.PaketID = (int)Tab1_cbPaket.SelectedValue;
            }

            var cl = await _apiService_Clanarin.Get <List <Model.Clanarina> >(ClanarinaSearchRequest);

            var clanarine = cl.OrderBy(c => c.UplataZaMjesec).ToList();

            if (Tab1_cbOmoguci_DatumPocetak.Checked)
            {
                clanarine = clanarine.Where(cp => cp.DatumUplate >= Tab1_dtpDatumPocetak.Value).ToList();
            }

            if (Tab1_cbOmoguci_DatumKraj.Checked)
            {
                clanarine = clanarine.Where(cp => cp.DatumUplate <= Tab1_dtpDatumKraj.Value).ToList();
            }



            var clanarineGodine = clanarine.GroupBy(c => c.UplataZaMjesec).ToList();

            foreach (var x in clanarineGodine)
            {
                var month = DateTimeFormatInfo.CurrentInfo.GetAbbreviatedMonthName(x.Last().UplataZaMjesec);

                this.chart1.Series["Zarada"].Points.AddXY(month, x.Sum(y => y.IznosUplate));
                this.chart1.Series["Prodano Paketa"].Points.AddXY(month, x.Count());
            }
        }
Exemplo n.º 5
0
        private async void BtnTrazi_Click(object sender, EventArgs e)
        {
            var search = new ClanarinaSearchRequest();

            if (!string.IsNullOrWhiteSpace(txtUplataZaMjesec.Text))
            {
                search.UplataZaMjesec = Convert.ToInt32(txtUplataZaMjesec.Text);
            }
            else
            {
                search.UplataZaMjesec = null;
            }

            if (!string.IsNullOrWhiteSpace(txtUplataZaGodinu.Text))
            {
                search.UplataZaGodinu = Convert.ToInt32(txtUplataZaGodinu.Text);
            }
            else
            {
                search.UplataZaGodinu = null;
            }

            search.PaketID = (int)cbPaket.SelectedValue;
            search.ClanID  = (int)cbClan.SelectedValue;

            //--------------------------------------------------------------------

            var result = await _apiService.Get <List <Model.Clanarina> >(search);

            dgvClanarina.DataSource = result;


            foreach (DataGridViewRow row in dgvClanarina.Rows)
            {
                Model.Clanarina obj = (Model.Clanarina)row.DataBoundItem;
                row.Cells[4].Value = Math.Round(obj.IznosUplate, 2);
                row.Cells[5].Value = obj.Clan.Osoba.Ime + " " + obj.Clan.Osoba.Prezime + " #" + obj.Clan.Id;
                row.Cells[6].Value = obj.Paket.Naziv;
            }
        }
Exemplo n.º 6
0
        public async Task ProvjeraPOsjedovanja()
        {
            KorisnikPlanSearchRequest request = new KorisnikPlanSearchRequest
            {
                KorisnikId = APIService.UserId,
                PlanId     = PlanIProgram.Id
            };
            List <KorisnikPlan> korisnikPlanovi = await _korisnikPlanService.Get <List <KorisnikPlan> >(request);

            if (korisnikPlanovi.Count > 0)
            {
                Posjeduje        = true;
                PosjedujeOposite = false;
            }
            else
            {
                Posjeduje        = false;
                PosjedujeOposite = true;
            }

            ClanarinaSearchRequest clanarinaSearchRequest = new ClanarinaSearchRequest
            {
                KorisnikId = APIService.UserId
            };
            List <Model.Clanarina> clanarine = await _clanarinaService.Get <List <Model.Clanarina> >(clanarinaSearchRequest);

            if (clanarine.Count > 0)
            {
                foreach (var x in clanarine)
                {
                    if (x.DatumDodavanja <= DateTime.Today && x.DatumIsteka >= DateTime.Today)
                    {
                        Posjeduje = true;
                    }
                }
            }
        }
 public ActionResult <List <Model.Clanarina> > Get([FromQuery] ClanarinaSearchRequest request)
 {
     return(_service.Get(request));
 }
        /*
         * Imaju cetri moguca rezultata
         *
         * 1.QR Kod nije prepoznatljiv
         * 2.QR Kod se ne moze ocitat
         * 3.QR Kod je prepoznat i sve je u redu u vezi clanarina
         * 4.QR Kod je prepoznat ali clan ima ne podmirenih obaveza
         */
//...

        private async Task tick()
        {
            _ticks++;
            txtTotal.Text = _ticks.ToString();
            var text = QRCodeHelper.DecodeQRCode(pictureBox1.Image);

            if (String.IsNullOrEmpty(text))
            {
                _falseResult++;
                txtNegative.Text = _falseResult.ToString();
            }
            else
            {
                _trueResult++;
                txtPositive.Text = _trueResult.ToString();

                timer.Stop();


                var ClanSearchRequest = new Model.Requests.ClanSearchRequest()
                {
                    QrCodeText = text
                };

                var list = await _apiService_Clan.Get <List <ClanViewRequest> >(ClanSearchRequest);



                //1.QR Kod nije prepoznatljiv
                if (list.Count == 0)
                {
                    textMain = "Pristup ogranicen";
                    textSide = "QR kod koji ste prikazali nije prepoznatljiv ! ";
                    CameraStopSetup(textMain, textSide);
                    PanelRed();
                    playBeep(BeepNotOK);
                    return;
                }

                var clan = list.FirstOrDefault();



                //2.QR Kod se ne moze ocitat
                //event se pozove nakon 10 sekundi.. iznad



                //3.QR Kod je prepoznat i sve je u redu u vezi clanarina
                //4.QR Kod je prepoznat ali clan ima ne podmirenih obaveza
                //Prvo korisnik treba imati clanarinu za dati mjesec i godinu, zatim
                if (clan != null)
                {
                    DateTime dateTime                 = DateTime.Now;
                    var      DanUSedmici              = dateTime.DayOfWeek;
                    var      DanUSedmiciString        = "";
                    bool     pristupDatimDanomOdobren = false;
                    switch (Convert.ToInt32(DanUSedmici))
                    {
                    case 0: { DanUSedmiciString = "Nedjelja"; } break;

                    case 1: { DanUSedmiciString = "Ponedjeljak"; } break;

                    case 2: { DanUSedmiciString = "Utorak"; } break;

                    case 3: { DanUSedmiciString = "Srijeda"; } break;

                    case 4: { DanUSedmiciString = "Cetvrtak"; } break;

                    case 5: { DanUSedmiciString = "Petak"; } break;

                    case 6: { DanUSedmiciString = "Subota"; } break;

                    default: { DanUSedmiciString = "Nepoznato"; } break;
                    }

                    var clanarinaSearchRequest = new ClanarinaSearchRequest()
                    {
                        ClanID         = clan.Id,
                        UplataZaGodinu = dateTime.Year,
                        UplataZaMjesec = dateTime.Month
                    };
                    var clanarinaList = await _apiService_Clanarina.Get <List <Model.Clanarina> >(clanarinaSearchRequest);

                    if (clanarinaList.Count == 0)
                    {
                        textMain = "Pristup ogranicen";
                        textSide = "Niste uplatili clanarinu za " + dateTime.Month + ". mjesec " + dateTime.Year + ". godine";
                        CameraStopSetup(textMain, textSide);
                        PanelRed();
                        playBeep(BeepNotOK);

                        return;
                    }
                    var clanarina = clanarinaList[0];
                    var paketPristupniDaniSearchRequest = new PaketPristupniDaniSearchRequest()
                    {
                        PaketId = clanarina.Paket.Id,
                    };
                    var paketPristupniDaniList = await _apiService_PaketPristupniDani.Get <List <Model.PaketPristupniDani> >(paketPristupniDaniSearchRequest);//vraca 0 rezultata


                    //Gledamo ima li pristup datim danima
                    foreach (Model.PaketPristupniDani x in paketPristupniDaniList)
                    {
                        if (DanUSedmiciString == x.PristupniDani.DanUSedmici)
                        {
                            pristupDatimDanomOdobren = true;
                            break;
                        }
                    }


                    if (pristupDatimDanomOdobren == false)
                    {
                        textMain = "Pristup ogranicen";
                        textSide = "Nemate pristup Fitness centru ovim danom(" + DanUSedmiciString + ")";
                        CameraStopSetup(textMain, textSide);
                        PanelRed();
                        playBeep(BeepNotOK);
                        return;
                    }
                    else
                    {
                        //Gledamo ima li pristup u datom vremenskom intervalu
                        var paketList = await _apiService_Paket.Get <List <Model.Paket> >(new PaketSearchRequest()
                        {
                            Id = clanarina.PaketId
                        });

                        var paket = paketList[0];
                        if (paket.NeogranicenPristup == true)
                        {
                            textMain = "Pristup odobren";
                            textSide = "Dobrodošli!";
                            CameraStopSetup(textMain, textSide);
                            PanelGreen();
                            playBeep(BeepOK);
                            return;
                        }

                        var DateTimeUsporedni = new DateTime(clanarina.Paket.VrijemePristupaOd.Value.Year,
                                                             clanarina.Paket.VrijemePristupaOd.Value.Month,
                                                             clanarina.Paket.VrijemePristupaOd.Value.Day,
                                                             dateTime.Hour,
                                                             dateTime.Minute,
                                                             clanarina.Paket.VrijemePristupaOd.Value.Second,
                                                             clanarina.Paket.VrijemePristupaOd.Value.Millisecond);
                        if (DateTimeUsporedni > clanarina.Paket.VrijemePristupaOd && clanarina.Paket.VrijemePristupaDo > DateTimeUsporedni)
                        {
                            textMain = "Pristup odobren";
                            textSide = "Dobrodošli!";
                            CameraStopSetup(textMain, textSide);
                            PanelGreen();
                            playBeep(BeepOK);
                            return;
                        }
                        else
                        {
                            textMain = "Pristup ogranicen";
                            textSide = "Pristup imate samo u terminu od " + clanarina.Paket.VrijemePristupaOd.Value.ToShortTimeString() + " do " + clanarina.Paket.VrijemePristupaDo.Value.ToShortTimeString();
                            CameraStopSetup(textMain, textSide);
                            PanelRed();
                            playBeep(BeepNotOK);
                            return;
                        }
                    }
                }
            }
        }
        private async void btnSpremi_Click(object sender, EventArgs e)
        {
            Model.Korisnik         korisnik = null;
            KorisniciSearchRequest korisniciSearchRequest = new KorisniciSearchRequest
            {
                BrojKartice = txtBrojKartice.Text
            };
            List <Model.Korisnik> korisnici = await _korisnikService.Get <List <Model.Korisnik> >(korisniciSearchRequest);

            if (korisnici.Count == 1)
            {
                korisnik = korisnici[0];
            }
            if (korisnik == null)
            {
                MessageBox.Show("Korisnik sa unesenom karticom ne postoji!");
                return;
            }
            ClanarinaSearchRequest clanarinaSearchRequest = new ClanarinaSearchRequest
            {
                KorisnikId = korisnik.Id
            };

            Model.PrisutnostClana        prisutnostClana;
            PrisutnostClanaSearchRequest request = new PrisutnostClanaSearchRequest
            {
                BrojKartice = txtBrojKartice.Text
            };
            List <Model.PrisutnostClana> result = await _service.Get <List <Model.PrisutnostClana> >(request);

            if (result.Count == 0)
            {
                PrisutnostClanaInsertRequest insertRequest = new PrisutnostClanaInsertRequest
                {
                    Date           = DateTime.Today,
                    KorisnikId     = korisnik.Id,
                    VrijemeDolaska = DateTime.Now.TimeOfDay
                };

                prisutnostClana = await _service.Insert <Model.PrisutnostClana>(insertRequest);

                if (prisutnostClana != null)
                {
                    MessageBox.Show("Uspjesno dodan clan na listu prisutnih!");
                }
            }
            else
            {
                prisutnostClana = new Model.PrisutnostClana
                {
                    Id             = result[0].Id,
                    KorisnikId     = result[0].KorisnikId,
                    VrijemeDolaska = result[0].VrijemeDolaska,
                    VrijemeOdlaska = DateTime.Now.TimeOfDay
                };
                Model.PrisutnostClana entity;
                entity = await _service.Update <Model.PrisutnostClana>(result[0].Id, prisutnostClana);

                if (entity != null)
                {
                    MessageBox.Show("Uspjesno ste uklonili clana sa liste prisutnih!");
                }
            }
            await LoadPrisutne();
        }
Exemplo n.º 10
0
        private async void button1_Click(object sender, EventArgs e)
        {
            double _zarada = 0;

            Model.IzvjestajClanovi izvjestajClanovi = new Model.IzvjestajClanovi
            {
                clanarineIzvjestaj = new List <ClanarineIzvjestaj>(),
                Dani = new Model.Dani
                {
                    Ponedeljak = 0,
                    Cetvrtak   = 0,
                    Nedelja    = 0,
                    Petak      = 0,
                    Srijeda    = 0,
                    Subota     = 0,
                    Utorak     = 0
                }
            };
            ClanarinaSearchRequest clanarinaSearch = new ClanarinaSearchRequest
            {
                Od = dateTimePicker1.Value,
                Do = dateTimePicker2.Value
            };
            List <Model.Clanarina> clanarine = await _clanarinaService.Get <List <Model.Clanarina> >(clanarinaSearch);

            foreach (var x in clanarine)
            {
                bool categoryExists = false;
                for (int i = 0; i < izvjestajClanovi.clanarineIzvjestaj.Count; i++)
                {
                    if (izvjestajClanovi.clanarineIzvjestaj[i].Kategorija == x.TipClanarine)
                    {
                        izvjestajClanovi.clanarineIzvjestaj[i].BrojClanarina += 1;
                        izvjestajClanovi.clanarineIzvjestaj[i].Zarada        += x.Cijena;
                        categoryExists = true;
                    }
                }
                if (categoryExists == false)
                {
                    ClanarineIzvjestaj _cizv = new ClanarineIzvjestaj
                    {
                        Kategorija    = x.TipClanarine,
                        BrojClanarina = 1,
                        Zarada        = x.Cijena
                    };
                    izvjestajClanovi.clanarineIzvjestaj.Add(_cizv);
                }
                _zarada += x.Cijena;
            }
            label5.Text = _zarada.ToString() + " KM";

            dataGridView1.DataSource = izvjestajClanovi.clanarineIzvjestaj;
            PrisutnostClanaSearchRequest prisutnostClanaSearch = new PrisutnostClanaSearchRequest {
                Od = dateTimePicker1.Value, Do = dateTimePicker2.Value
            };
            List <Model.PrisutnostClana> prisutnostClana = await _prisutnostService.Get <List <Model.PrisutnostClana> >(prisutnostClanaSearch);

            foreach (var x in prisutnostClana)
            {
                switch (x.Datum.DayOfWeek.ToString())
                {
                case "Monday":
                    izvjestajClanovi.Dani.Ponedeljak++;
                    break;

                case "Tuesday":
                    izvjestajClanovi.Dani.Utorak++;
                    break;

                case "Wendsday":
                    izvjestajClanovi.Dani.Srijeda++;
                    break;

                case "Thursday":
                    izvjestajClanovi.Dani.Cetvrtak++;
                    break;

                case "Friday":
                    izvjestajClanovi.Dani.Petak++;
                    break;

                case "Saturday":
                    izvjestajClanovi.Dani.Subota++;
                    break;

                case "Sunday":
                    izvjestajClanovi.Dani.Nedelja++;
                    break;

                default:
                    break;
                }
            }
            dataGridView1.AutoGenerateColumns = false;
            txtPon.Text = izvjestajClanovi.Dani.Ponedeljak.ToString();
            txtUto.Text = izvjestajClanovi.Dani.Utorak.ToString();
            txtSri.Text = izvjestajClanovi.Dani.Srijeda.ToString();
            txtCet.Text = izvjestajClanovi.Dani.Cetvrtak.ToString();
            txtPet.Text = izvjestajClanovi.Dani.Petak.ToString();
            txtSub.Text = izvjestajClanovi.Dani.Srijeda.ToString();
            txtNed.Text = izvjestajClanovi.Dani.Nedelja.ToString();
        }