Example #1
0
        private HttpResponseMessage KreirajNovuRezervaciju()
        {
            var projekcija       = (ProjekcijaModel)cmbProjekcija.SelectedItem;
            var projekcijaTermin = (ProjekcijaTerminModel)cmbTermin.SelectedItem;

            var model = new RezervacijaModel();

            model.ProjekcijaId       = projekcija.Id;
            model.ProjekcijaTerminId = projekcijaTermin.Id;

            if (cmbKorisnik.SelectedItem != null)
            {
                var korisnik = ((KorisnikModel)cmbKorisnik.SelectedItem);
                if (korisnik.Id > 0)
                {
                    model.KorisnikId = ((KorisnikModel)cmbKorisnik.SelectedItem).Id;
                }
            }
            if (cmbBrojSjedista.SelectedItem != null)
            {
                model.BrojSjedista = Convert.ToInt32(cmbBrojSjedista.SelectedItem);
            }

            model.DatumProjekcije = dtpDatumProjekcije.Value;
            model.Cijena          = projekcija.Cijena;
            model.Datum           = DateTime.Now;

            return(rezervacijeService.PostResponse(model).Handle());
        }
Example #2
0
        private void btnSnimi_Click(object sender, EventArgs e)
        {
            if (this.ValidateChildren())
            {
                var r                = new RezervacijaModel();
                var projekcija       = (ProjekcijaModel)cmbProjekcija.SelectedItem;
                var projekcijaTermin = (ProjekcijaTerminModel)cmbTermin.SelectedItem;

                r.ProjekcijaId       = projekcija.Id;
                r.ProjekcijaTerminId = projekcijaTermin.Id;
                r.KorisnikId         = ((KorisnikModel)cmbKorisnik.SelectedItem).Id;
                r.BrojSjedista       = Convert.ToInt32(cmbBrojSjedista.SelectedItem);

                r.DatumProjekcije = dtpDatumProjekcije.Value;
                r.Cijena          = projekcija.Cijena;
                r.Datum           = DateTime.Now;

                HttpResponseMessage response = rezervacijeService.PostResponse(r).Handle();
                if (response.IsSuccessStatusCode)
                {
                    MessageBox.Show(Messages.add_rezervacija_succ, Messages.msg_succ, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.Close();
                }
            }
        }
Example #3
0
        public frmRezervacijeEdit(int id)
        {
            InitializeComponent();
            this.AutoValidate = AutoValidate.Disable;

            _id = id;
            _r  = null;
        }
Example #4
0
        private void btnSnimi_Click(object sender, EventArgs e)
        {
            if (this.ValidateChildren())
            {
                RezervacijaModel rezervacija      = null;
                bool             rezervacijaValid = true;

                switch (rezervacijaType)
                {
                case ProdajaRezervacijaType.NovaRezervacija:
                    var rezervacijaResponse = KreirajNovuRezervaciju();
                    rezervacijaValid = rezervacijaResponse.IsSuccessStatusCode;
                    if (rezervacijaValid)
                    {
                        rezervacija = rezervacijaResponse.GetResponseResult <RezervacijaModel>();
                    }
                    break;

                case ProdajaRezervacijaType.PostojecaRezervacija:
                    rezervacija = (RezervacijaModel)cmbRezervacija.SelectedItem;
                    break;
                }

                if (rezervacijaValid)
                {
                    var p = new ProdajaModel();

                    p.BrojRacuna    = txtBrojRacuna.Text;
                    p.Datum         = DateTime.Now;
                    p.ArtikliStavke = GetArtikliStavke();
                    p.KorisnikId    = Global.PrijavljeniKorisnik.Id;

                    if (rezervacija != null)
                    {
                        p.RezervacijeStavke = new List <ProdajaRezervacijaDodjelaModel>();
                        p.RezervacijeStavke.Add(new ProdajaRezervacijaDodjelaModel
                        {
                            RezervacijaId = rezervacija.Id,
                            Cijena        = rezervacija.Cijena
                        });
                    }

                    HttpResponseMessage response = prodajaService.PostResponse(p).Handle();
                    if (response.IsSuccessStatusCode)
                    {
                        MessageBox.Show(Messages.add_prodaja_succ, Messages.msg_succ, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        this.Close();
                    }
                    else
                    {
                        if (rezervacijaType == ProdajaRezervacijaType.NovaRezervacija && rezervacijaValid && rezervacija != null)
                        {
                            rezervacijeService.DeleteResponse(rezervacija.Id).Handle();
                        }
                    }
                }
            }
        }
Example #5
0
        public string NapraviRezervaciju(RezervacijaModel rezervacija)
        {
            DateTime    rezDate = DateTime.ParseExact(rezervacija.PocetniDatum, "yyyy-MM-dd", CultureInfo.InvariantCulture);
            Rezervacija rez     = new Rezervacija(rezervacija);
            int         broj    = Rezervacija.GetBrojObjekta();

            rez.Id = broj + 1;
            Apartman apartman = ApartmanGetter.GetApartmanByNazivIStatus(rezervacija.RezervisaniApartman, "AKTIVAN");

            DateTime pomocni = rezDate.Date;



            for (int i = 0; i < rezervacija.BrojNocenja; i++)
            {
                if (!apartman.DatumiZaIzdavanje.Contains(rezDate.Date.AddDays(i)))
                {
                    return("Apartman nije u ponudi za odabrani period.");
                }
            }

            //prepis cene

            rez.UkupnaCena = 0;
            string putanjaDatumi = HostingEnvironment.MapPath("~/Files/Praznici.txt");
            string datumi        = File.ReadAllText(putanjaDatumi);

            string[]        prazniciPom = datumi.Split(',');
            List <DateTime> praznici    = new List <DateTime>();

            foreach (var datum in prazniciPom)
            {
                praznici.Add(DateTime.ParseExact(datum, "yyyy-MM-dd", CultureInfo.InvariantCulture));
            }

            for (int i = 0; i < rezervacija.BrojNocenja; i++)
            {
                pomocni = rezDate.AddDays(i);
                if (pomocni.DayOfWeek == DayOfWeek.Saturday || pomocni.DayOfWeek == DayOfWeek.Sunday || pomocni.DayOfWeek == DayOfWeek.Friday)
                {
                    rez.UkupnaCena += 0.9 * apartman.CenaPoNocenju;
                    continue;
                }
                else if (praznici.Contains(pomocni))
                {
                    rez.UkupnaCena += 1.05 * apartman.CenaPoNocenju;
                }
                else
                {
                    rez.UkupnaCena += apartman.CenaPoNocenju;
                }
            }

            RezervacijaFileWritter.UpisiRezervaciju(rez);
            return("zapisano");
        }
Example #6
0
        private void frmRezervacijeEdit_Load(object sender, EventArgs e)
        {
            HttpResponseMessage response = rezervacijeService.GetResponse(_id.ToString()).Handle();

            if (response.IsSuccessStatusCode)
            {
                _r = response.GetResponseResult <RezervacijaModel>();
                FillForm();
            }
            else if (response.StatusCode == System.Net.HttpStatusCode.NotFound)
            {
                _r = null;
            }
        }
Example #7
0
        private void FillForm()
        {
            decimal rezervacijaCijena   = 0;
            decimal artikliUkupnaCijena = 0;

            var artikli = _p.ArtikliStavke.ToList();

            foreach (var artikal in artikli)
            {
                artikliUkupnaCijena += (artikal.Kolicina * artikal.Cijena);
            }

            RezervacijaModel rezervacija = null;

            if (_p.RezervacijeStavke.Any())
            {
                if (_p.RezervacijeStavke.First() != null)
                {
                    rezervacija = _p.RezervacijeStavke.First().Rezervacija;
                }
            }

            if (rezervacija != null)
            {
                txtNaslov.Text           = _p.FilmNaslov;
                txtSala.Text             = _p.SalaNaziv;
                txtBrojSjedista.Text     = rezervacija.BrojSjedista.ToString();
                txtCijena.Text           = rezervacija.Cijena.ToString();
                dtpDatumProjekcije.Value = rezervacija.DatumProjekcije;
                txtTermin.Text           = rezervacija.ProjekcijaTermin.TerminShort;
                txtKorisnik.Text         = rezervacija.Korisnik?.ImePrezime;
                //
                rezervacijaCijena         = rezervacija.Cijena;
                txtCijenaRezervacije.Text = rezervacijaCijena.ToString("0.##");
            }
            else
            {
                gbProjekcija.Enabled      = false;
                txtCijenaRezervacije.Text = string.Empty;
            }

            dgvArtikli.DataSource = artikli;
            dgvArtikli.ClearSelection();

            decimal ukupnaCijena = rezervacijaCijena + artikliUkupnaCijena;

            txtBrojRacuna.Text          = _p.BrojRacuna;
            txtArtikliCijenaUkupno.Text = artikliUkupnaCijena.ToString("0.##");
            txtCijenaUkupno.Text        = ukupnaCijena.ToString("0.##");
        }
Example #8
0
        public async Task <Object> AddReservation(RezervacijaModel model)//"2020-06-13" "10:00"
        {
            var car = await _context.Cars
                      .Include(rezervacija => rezervacija.RezervacijeAutaOdDo)
                      .FirstOrDefaultAsync(i => i.idCar.ToString() == model.idCar);

            //var user = await _context.Users
            //   .Include(rezervacijaUser => rezervacijaUser.rentACarReservation)
            //   .FirstOrDefaultAsync(iUser => iUser.Id.ToString() == model.idUser);

            if (car == null)
            {
                return(BadRequest());
            }

            string[] datum;
            datum = model.startDay.Split('-');
            string[] vreme;
            vreme = model.startTime.Split(':');

            RezervacijaOdDo rez = new RezervacijaOdDo();

            rez.Od = new DateTime(Int32.Parse(datum[0]),
                                  Int32.Parse(datum[1]),
                                  Int32.Parse(datum[2]),
                                  Int32.Parse(vreme[0]),
                                  Int32.Parse(vreme[1]),
                                  0);
            rez.Do = new DateTime(Int32.Parse(model.endDay.Split('-')[0]),
                                  Int32.Parse(model.endDay.Split('-')[1]),
                                  Int32.Parse(model.endDay.Split('-')[2]),
                                  Int32.Parse(model.endTime.Split(':')[0]),
                                  Int32.Parse(model.endTime.Split(':')[1]),
                                  0);
            rez.deleted = false;
            car.RezervacijeAutaOdDo.Add(rez);
            //user.rentACarReservation.Add(rez);
            try
            {
                await _context.SaveChangesAsync();
            }
#pragma warning disable CS0168 // The variable 'e' is declared but never used
            catch (Exception e)
#pragma warning restore CS0168 // The variable 'e' is declared but never used
            {
                throw;
            }

            return(car);
        }
        private async Task OtkaziRezervaciju()
        {
            IsBusy = true;

            var response = rezervacijeService.PutActionResponse("Disable", Rezervacija.Id).Handle();

            if (response.IsSuccessStatusCode)
            {
                await Application.Current.MainPage.DisplayAlert("UspjeĆĄno ste otkazali rezervaciju.", "Poruka o uspjehu", "OK");

                Rezervacija = new RezervacijaModel();
                RefreshPage();
            }

            IsBusy = false;
        }
        public async Task Init()
        {
            // Postaviti projekciju kao pregledanu
            projekcijeService.PutActionResponse("Visit", Projekcija.Id, Global.PrijavljeniKorisnik.Id);

            var rezervacijeResponse = rezervacijeService.GetActionResponse("GetByUserProjection", Projekcija.Id.ToString(), Global.PrijavljeniKorisnik?.KorisnickoIme).HandleNotFound();

            if (rezervacijeResponse.IsSuccessStatusCode)
            {
                Rezervacija = rezervacijeResponse.GetResponseResult <RezervacijaModel>();
            }

            var dojmoviResponse = dojmoviService.GetActionResponse("GetByUserImpression", Projekcija.Id.ToString(), Global.PrijavljeniKorisnik?.KorisnickoIme).HandleNotFound();

            if (dojmoviResponse.IsSuccessStatusCode)
            {
                Dojam = dojmoviResponse.GetResponseResult <DojamModel>();
            }

            var retSjedistaResponse = rezervacijeService.GetActionResponse("FreeSeats", Projekcija.Id.ToString()).Handle();

            if (retSjedistaResponse.IsSuccessStatusCode)
            {
                var retSjedista = retSjedistaResponse.GetResponseResult <List <int> >();
                if (retSjedista.Any())
                {
                    BrojeviSjedista      = retSjedista;
                    SelectedBrojSjedista = BrojeviSjedista[0];
                }
            }

            if (Projekcija.Termini != null && Projekcija.Termini.Any())
            {
                SelectedTermin = Projekcija.Termini[0];
            }

            if (Rezervacija == null)
            {
                Rezervacija = new RezervacijaModel();
            }
            if (Dojam == null)
            {
                Dojam = new DojamModel();
            }

            RefreshPage();
        }
Example #11
0
        public List <RezervacijaModel> GetAllForIzdavac(RezervacijaSearchRequest search)
        {
            Izdavac i = _context.Izdavac.Where(x => x.KorisnikId == search.KlijentId).FirstOrDefault();

            List <RezervacijaModel> Lista = new List <RezervacijaModel>();

            List <Smjestaj> Smjestaji = new List <Smjestaj>();

            Smjestaji = _context.Smjestaj.Where(x => x.IzdavacId == i.IzdavacId).ToList();

            var Sobe = _context.Soba.Where(x => Smjestaji.Any(s => s.SmjestajId == x.SmjestajId));
            var rs   = _context.RezervacijaSoba.Where(x => Sobe.Any(s => s.SobaId == x.SobaId));

            var final = _context.Rezervacija.Where(x => rs.Any(s => s.RezervacijaId == x.RezervacijaId));

            List <RezervacijaModel> Konacna = new List <RezervacijaModel>();

            foreach (Rezervacija r in final)
            {
                RezervacijaModel model = _mapper.Map <RezervacijaModel>(r);
                model.RezervacijaDoShort     = r.RezervacijaDo.ToShortDateString();
                model.RezervacijaOdShort     = r.RezervacijaOd.ToShortDateString();
                model.DatumRezervacijeShort  = r.DatumRezervacije.ToShortDateString();
                model.StatusRezervacijeNaziv = _context.StatusRezervacije.Find(r.StatusRezervacijeId).Naziv;
                RezervacijaSoba rezervacijaSoba = rs.Where(x => x.RezervacijaId == r.RezervacijaId).FirstOrDefault();
                Soba            soba            = Sobe.Where(x => x.SobaId == rezervacijaSoba.SobaId).FirstOrDefault();
                Smjestaj        s = Smjestaji.Where(x => x.SmjestajId == soba.SmjestajId).FirstOrDefault();
                model.NazivSmjestaja  = s.Naziv;
                model.AdresaSmjestaja = s.Adresa + ", " + _context.Grad.Find(s.GradId).Naziv;
                model.SmjestajId      = s.SmjestajId;
                Klijent  k        = _context.Klijent.Find(r.KlijentId);
                Korisnik korisnik = _context.Korisnik.Find(k.KorisnikId);
                model.ImeKlijenta           = korisnik.Ime;
                model.PrezimeKlijenta       = korisnik.Prezime;
                model.KorisnickoImeKlijenta = korisnik.KorisnickoIme;
                Konacna.Add(model);
            }

            return(Konacna);
        }
Example #12
0
        public RezervacijaModel GetById(int id)
        {
            if (id > 0)
            {
                RezervacijaModel model = new RezervacijaModel();
                Rezervacija      r     = _context.Rezervacija.Find(id);
                model = _mapper.Map <RezervacijaModel>(r);
                model.RezervacijaDoShort     = r.RezervacijaDo.ToShortDateString();
                model.RezervacijaOdShort     = r.RezervacijaOd.ToShortDateString();
                model.DatumRezervacijeShort  = r.DatumRezervacije.ToShortDateString();
                model.StatusRezervacijeNaziv = _context.StatusRezervacije.Find(r.StatusRezervacijeId).Naziv;
                model.Sobe = new List <SobaModel>();
                List <RezervacijaSoba> rezervacijaSoba = _context.RezervacijaSoba.Where(x => x.RezervacijaId == r.RezervacijaId).ToList();
                foreach (RezervacijaSoba rs in rezervacijaSoba)
                {
                    Soba s = _context.Soba.Find(rs.SobaId);
                    model.Sobe.Add(_mapper.Map <SobaModel>(s));
                }


                Smjestaj smjestaj = _context.Smjestaj.Where(x => x.SmjestajId == model.Sobe[0].SmjestajId).FirstOrDefault();
                model.NazivSmjestaja  = smjestaj.Naziv;
                model.AdresaSmjestaja = smjestaj.Adresa + ", " + _context.Grad.Find(smjestaj.GradId).Naziv;
                model.SmjestajId      = smjestaj.SmjestajId;

                Klijent  k        = _context.Klijent.Find(r.KlijentId);
                Korisnik korisnik = _context.Korisnik.Find(k.KorisnikId);
                model.ImeKlijenta           = korisnik.Ime;
                model.PrezimeKlijenta       = korisnik.Prezime;
                model.KorisnickoImeKlijenta = korisnik.KorisnickoIme;

                model.Uplate = _mapper.Map <List <UplataModel> >(_context.Uplata.Where(x => x.RezervacijaId == id).ToList());

                return(model);
            }
            else
            {
                return(null);
            }
        }
Example #13
0
        public List <RezervacijaModel> Get(RezervacijaSearchRequest search)
        {
            Klijent k     = _context.Klijent.Where(x => x.KorisnikId == search.KlijentId).FirstOrDefault();
            var     lista = _context.Rezervacija.Where(x => x.KlijentId == k.KlijentId).ToList();

            List <RezervacijaModel> Konacna = new List <RezervacijaModel>();

            foreach (Rezervacija r in lista)
            {
                RezervacijaModel model = _mapper.Map <RezervacijaModel>(r);
                model.RezervacijaDoShort     = r.RezervacijaDo.ToShortDateString();
                model.RezervacijaOdShort     = r.RezervacijaOd.ToShortDateString();
                model.DatumRezervacijeShort  = r.DatumRezervacije.ToShortDateString();
                model.StatusRezervacijeNaziv = _context.StatusRezervacije.Find(r.StatusRezervacijeId).Naziv;
                RezervacijaSoba rs   = _context.RezervacijaSoba.Where(x => x.RezervacijaId == r.RezervacijaId).FirstOrDefault();
                Soba            soba = _context.Soba.Find(rs.SobaId);
                Smjestaj        s    = _context.Smjestaj.Find(soba.SmjestajId);
                model.NazivSmjestaja  = s.Naziv;
                model.AdresaSmjestaja = s.Adresa + ", " + _context.Grad.Find(s.GradId).Naziv;

                Konacna.Add(model);
            }
            return(Konacna);
        }
        public async Task Ucitaj()
        {
            if (Ocjene.Count == 0)
            {
                Ocjene.Add(1);
                Ocjene.Add(2);
                Ocjene.Add(3);
                Ocjene.Add(4);
                Ocjene.Add(5);
            }
            RezervacijaModel model = await _smjestajService.GetById <RezervacijaModel>(RezervacijaId);

            AdresaSmjestaja        = model.AdresaSmjestaja;
            BrojDjece              = model.BrojDjece;
            BrojOdraslih           = model.BrojOdraslih;
            DatumRezervacijeShort  = model.DatumRezervacijeShort;
            NazivSmjestaja         = model.NazivSmjestaja;
            RezervacijaDoShort     = model.RezervacijaDoShort;
            RezervacijaOdShort     = model.RezervacijaOdShort;
            StatusRezervacijeId    = model.StatusRezervacijeId;
            StatusRezervacijeNaziv = model.StatusRezervacijeNaziv;
            SmjestajId             = model.SmjestajId;
            KlijentId              = model.KlijentId;
            if (StatusRezervacijeId == 1)
            {
                Aktivna = true;
            }
            else
            {
                Aktivna = false;
            }
            DateTime Pocetni = Convert.ToDateTime(RezervacijaOdShort);
            DateTime Krajnji = Convert.ToDateTime(RezervacijaDoShort);

            int Dani = (Krajnji - Pocetni).Days;

            UkupnaCijena = new double();
            foreach (SobaModel S in model.Sobe)
            {
                Sobe.Add(S);
                UkupnaCijena += S.Cijena * Dani;
            }

            VisinaSobe     = 20 * Sobe.Count;
            UkupnoUplaceno = new double();
            if (model.Uplate != null && model.Uplate.Count > 0)
            {
                foreach (UplataModel u in model.Uplate)
                {
                    Uplate.Add(u);
                    UkupnoUplaceno += u.Iznos;
                }
                VisinaUplate = 20 * Uplate.Count;
            }
            else
            {
                UplataModel Prazna = new UplataModel();
                Prazna.SifraUplate = "Nema unesenih uplata";
                Uplate.Add(Prazna);
                VisinaUplate = 20;
            }
        }