Пример #1
0
        public QuestionPool(Excursie e, string[] Data)
        {
            string Durata = Data[5];

            this.e = e;

            Id          = Data[6];
            NrTel       = Data[1];
            Intrebare   = Data[3];
            Variante    = Data[4].Split(',');
            NumarVoturi = new int[Variante.Length];

            foreach (NotificableClient nc in e.NotificableClients)
            {
                // if (nc.NumarTelefon != NrTel)
                nc.Send(new string[] { _Details.QuestionPoolForVote, Intrebare, string.Join(",", Variante), Id });
            }

            WaitForVotes = new Thread(() => {
                Thread.Sleep(int.Parse(Durata) * 1000);
                Dispose();
            });
            WaitForVotes.IsBackground = true;
            WaitForVotes.Start();
        }
        public void rezervareUpdate(int id, string nume, string telefon, int bilet, Excursie ex, Agent ag)
        {
            RezervareEventArgs userArgs = new RezervareEventArgs(Event.VanzareBilet, new Rezervare(id, ex.Id, ag.Id, nume, telefon, bilet));

            Console.WriteLine("Message received");
            OnMeciEvent(userArgs);
        }
        private void button3_Click(object sender, EventArgs e)
        {
            if (dataGridView1.SelectedRows != null)
            {
                try
                {
                    IEnumerable <Rezervare> l = crtl.getAll();
                    int i = 0;
                    foreach (Rezervare x in l)
                    {
                        i++;
                    }

                    Excursie trip = new Excursie()
                    {
                        Id          = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells[0].Value),
                        Plecare     = Convert.ToString(dataGridView1.SelectedRows[0].Cells[1].Value),
                        Pret        = Convert.ToDouble(dataGridView1.SelectedRows[0].Cells[2].Value),
                        Locuri_disp = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells[3].Value),
                        Transport   = Convert.ToString(dataGridView1.SelectedRows[0].Cells[4].Value),
                        Nume        = Convert.ToString(dataGridView1.SelectedRows[0].Cells[5].Value),
                    };

                    crtl.adauga(i + 1, textBox4.Text, textBox5.Text, Int32.Parse(textBox6.Text), trip, new Agent(1, "pass"));
                }
                catch (Exception er)
                {
                    Console.WriteLine("Not good");
                }
            }
            else
            {
                MessageBox.Show("Trebuie completate textbox-urile si selectat un meci.");
            }
        }
Пример #4
0
 public void RequestRezervare(Excursie ex, string nume, string telefon, int nrBilete)
 {
     messagesToSend.Add(new Message(MessageType.MakeRezervare, new List <object>
     {
         ex, nume, telefon, nrBilete
     }));
 }
Пример #5
0
        public TripClient(Client Client_INPUT, Client Client_OUTPUT, string NumarTelefon, Excursie e)
            : base(Client_INPUT, Client_INPUT)
        {
            this.NumarTelefon  = NumarTelefon;
            this.Client_OUTPUT = Client_OUTPUT;
            this.e             = e;
            GetUserData();

            Thread WaitForOUTPUT = new Thread(() =>
            {
                while (this.Client_OUTPUT == null)
                {
                    Thread.Sleep(1000);
                }

                OUTPUT  = this.Client_OUTPUT;
                isReady = true;
                INPUT_GET(e);

                // e.Excursie_ClientEnterExit(this, new EventArgs());
            });

            WaitForOUTPUT.Start();

            new Thread(() => {
                if (!WaitForOUTPUT.Join(TimeSpan.FromSeconds(10)))
                {
                    WaitForOUTPUT.Abort();
                    e.ClientsList.Remove(this);
                }
            }).Start();
        }
        public Excursie findOne(int idExcursie)
        {
            log.InfoFormat("Cautare excursie cu id {0}", idExcursie);
            IDbConnection con = DBUtils.getConnection();

            using (var comm = con.CreateCommand())
            {
                comm.CommandText = "select numeObiectiv, numeFirmaTransport, oraPlecarii, pret,  nrLocuriDisponibile from excursie where idExcursie=@idExcursie";
                IDbDataParameter paramId = comm.CreateParameter();
                paramId.ParameterName = "@idExcursie";
                paramId.Value         = idExcursie;
                comm.Parameters.Add(paramId);

                using (var dataR = comm.ExecuteReader())
                {
                    if (dataR.Read())
                    {
                        string   numeObiectiv = dataR.GetString(0);
                        string   numeFirma    = dataR.GetString(1);
                        string   oraPlecarii  = dataR.GetString(2);
                        float    pret         = dataR.GetFloat(3);
                        int      nrLocuri     = dataR.GetInt32(4);
                        Excursie excursie     = new Excursie(idExcursie, numeObiectiv, numeFirma, oraPlecarii, pret, nrLocuri);
                        log.Info("Am gasit excursie cu id-ul dat");
                        return(excursie);
                    }
                }
            }
            log.Info("Nu am gasit Excursie cu id-ul dat");
            return(new Excursie(-1, null, null, null, -1, -1));
        }
Пример #7
0
        public NotificableClient(Client c, string NrTel, Excursie e, string TripId)
        {
            this.Client       = c;
            this.NumarTelefon = NrTel;
            this.TripId       = TripId;
            this.e            = e;

            Thread.Sleep(1000);
            while (LocationableMe == null)
            {
                foreach (LocationableClient lc in e.LocationableClients)
                {
                    if (lc.NumarTelefon == NrTel)
                    {
                        LocationableMe = lc;
                        break;
                    }
                }
                Thread.Sleep(1000);
            }

            TipCont = GetAccountType(NrTel);

            if (TipCont == "Organizator")
            {
                SendRealtimeLocation = new Thread(new ThreadStart(Sender));
                SendRealtimeLocation.Start();
            }
        }
        public List <Excursie> findAll()
        {
            IDbConnection   con      = DBUtils.getConnection();
            List <Excursie> excursii = new List <Excursie>();

            using (var comm = con.CreateCommand())
            {
                comm.CommandText = "select * from excursie";

                using (var dataR = comm.ExecuteReader())
                {
                    while (dataR.Read())
                    {
                        int      id           = dataR.GetInt32(0);
                        string   numeObiectiv = dataR.GetString(1);
                        string   numeFirma    = dataR.GetString(2);
                        string   oraPlecarii  = dataR.GetString(3);
                        float    pret         = dataR.GetFloat(4);
                        int      nrLocuri     = dataR.GetInt32(5);
                        Excursie excursie     = new Excursie(id, numeObiectiv, numeFirma, oraPlecarii, pret, nrLocuri);
                        excursii.Add(excursie);
                    }
                }
            }
            return(excursii);
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,Datum,Prijs,Description,Gids,Name")] Excursie excursie)
        {
            if (id != excursie.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try {
                    _context.Update(excursie);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException) {
                    if (!ExcursieExists(excursie.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(excursie));
        }
Пример #10
0
 public void notify(int id, String nume, String telefon, int bilet, Excursie ex, Agent ag)
 {
     foreach (RezervareObserver obs in observers)
     {
         //Task.Run(() => obs.rezervareUpdate(id,nume,telefon,bilet,ex,ag));
         obs.rezervareUpdate(id, nume, telefon, bilet, ex, ag);
     }
 }
Пример #11
0
 public void updateExcursie(Excursie excursie)
 {
     repoExcursie.update(excursie);
     foreach (IObserver observer in loggedClients.Values)
     {
         observer.updateTrips(findAllExcursii());
     }
 }
        public void save(Excursie excursie)
        {
            log.Info("Adaugare excursie");
            var con = DBUtils.getConnection();

            if (findOne(excursie.Id) == new Excursie(-1, null, null, null, -1, -1))
            {
                using (var comm = con.CreateCommand())
                {
                    comm.CommandText = "insert into excursie  values (@idExcursie, @numeObiectiv,@numeFirmaTransport,@oraPlecarii,@pret, @nrLocuriDisponibile)";

                    var paramId = comm.CreateParameter();
                    paramId.ParameterName = "@idExcursie";
                    paramId.Value         = excursie.Id;
                    comm.Parameters.Add(paramId);

                    var paramName = comm.CreateParameter();
                    paramName.ParameterName = "@numeObiectiv";
                    paramName.Value         = excursie.NumeObiectiv;
                    comm.Parameters.Add(paramName);

                    var paramNumeF = comm.CreateParameter();
                    paramNumeF.ParameterName = "@numeFirmaTransport";
                    paramNumeF.Value         = excursie.NumeFirmaTransport;
                    comm.Parameters.Add(paramNumeF);

                    var paramOra = comm.CreateParameter();
                    paramOra.ParameterName = "@oraPlecarii";
                    paramOra.Value         = excursie.OraPlecarii;
                    comm.Parameters.Add(paramOra);

                    var paramPret = comm.CreateParameter();
                    paramPret.ParameterName = "@pret";
                    paramPret.Value         = excursie.Pret;
                    comm.Parameters.Add(paramPret);

                    var paramLocuri = comm.CreateParameter();
                    paramLocuri.ParameterName = "@nrLocuriDisponibile";
                    paramLocuri.Value         = excursie.NrLocuriDisponibile;
                    comm.Parameters.Add(paramLocuri);


                    var result = comm.ExecuteNonQuery();
                    if (result == 0)
                    {
                        log.Info("Nu a fost adaugata excursia");
                    }
                    else
                    {
                        log.Info("Excursie adaugata cu succes");
                    }
                }
            }
            else
            {
                log.Info("Exista deja excursie cu acest id");
            }
        }
 public RezervareDTO1(int id, string nume, string telefon, int bilet, Excursie ex, Agent ag)
 {
     this.id      = id;
     this.nume    = nume;
     this.telefon = telefon;
     this.bilet   = bilet;
     this.ex      = ex;
     this.ag      = ag;
 }
Пример #14
0
 public static Excursie[] getFromDTO(ExcursieDTO[] excursiiDTO)
 {
     Excursie[] friends = new Excursie[excursiiDTO.Length];
     for (int i = 0; i < excursiiDTO.Length; i++)
     {
         friends[i] = getFromDTO(excursiiDTO[i]);
     }
     return(friends);
 }
Пример #15
0
 public Rezervare(string id, Agentie agentie, Excursie excursie, string numeClient, string telefon, int nrBilete)
 {
     Id         = id;
     Agentie    = agentie;
     Excursie   = excursie;
     NumeClient = numeClient;
     Telefon    = telefon;
     NrBilete   = nrBilete;
 }
Пример #16
0
        public void addRezervare(string nume, string telefon, int locuri, int idEx)
        {
            int id = service.findAllExcursii().Capacity + 1;

            service.addRezervare(new Rezervare(id, nume, telefon, locuri, idEx));
            Excursie ex = service.findOneExcursie(idEx);

            ex.NrLocuriDisponibile = ex.NrLocuriDisponibile - locuri;
            service.updateExcursie(ex);
        }
Пример #17
0
        public LocationableClient(Client c, string NrTel, Excursie e)
        {
            this.Client       = c;
            this.NumarTelefon = NrTel;
            this.e            = e;

            Data = new LocationableClientData(NrTel);
            GettingLocationThread = new Thread(new ThreadStart(Listener));
            GettingLocationThread.Start();
        }
Пример #18
0
        private static ExcursieDTO getDTO(Excursie excursie)
        {
            int    id         = excursie.id;
            string destinatie = excursie.destinatie;
            string data       = excursie.data;
            string aeroport   = excursie.aeroport;
            int    nrLocuri   = excursie.nrLocuri;

            return(new ExcursieDTO(id, destinatie, data, aeroport, nrLocuri));
        }
Пример #19
0
 public void rezervareUpdate(int id, string nume, string telefon, int bilet, Excursie ex, Agent ag)
 {
     try
     {
         sendResponse(new UpdateNrLocuriResponse(new RezervareDTO1(id, nume, telefon, bilet, ex, ag)));
     }
     catch (Exception e)
     {
         Console.WriteLine(e.StackTrace);
     }
 }
        public async Task <IActionResult> Create([Bind("Id,Datum,Prijs,Description,Gids,Name")] Excursie excursie)
        {
            if (ModelState.IsValid)
            {
                _context.Add(excursie);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(excursie));
        }
Пример #21
0
        public void Adauga(int id, string nume, string telefon, int bilet, Excursie ex, Agent ag)
        {
            RezervareDTO1 i = new RezervareDTO1(id, nume, telefon, bilet, ex, ag);

            sendRequest(new AdaugaRequest(i));
            Response res = readResponse();

            if (res is ErrorResponse)
            {
                ErrorResponse err = (ErrorResponse)res;
                throw new Exception(err.Message);
            }
        }
        public void update(Excursie excursie)
        {
            log.Info("Update excursie");
            var con = DBUtils.getConnection();

            using (var comm = con.CreateCommand())
            {
                comm.CommandText = "update excursie set numeObiectiv=@numeObiectiv,numeFirmaTransport=@numeFirmaTransport,oraPlecarii=@oraPlecarii,pret=@pret, nrLocuriDisponibile=@nrLocuriDisponibile where idExcursie=@idExcursie";

                var paramId = comm.CreateParameter();
                paramId.ParameterName = "@idExcursie";
                paramId.Value         = excursie.Id;
                comm.Parameters.Add(paramId);

                var paramName = comm.CreateParameter();
                paramName.ParameterName = "@numeObiectiv";
                paramName.Value         = excursie.NumeObiectiv;
                comm.Parameters.Add(paramName);

                var paramNumeF = comm.CreateParameter();
                paramNumeF.ParameterName = "@numeFirmaTransport";
                paramNumeF.Value         = excursie.NumeFirmaTransport;
                comm.Parameters.Add(paramNumeF);

                var paramOra = comm.CreateParameter();
                paramOra.ParameterName = "@oraPlecarii";
                paramOra.Value         = excursie.OraPlecarii;
                comm.Parameters.Add(paramOra);

                var paramPret = comm.CreateParameter();
                paramPret.ParameterName = "@pret";
                paramPret.Value         = excursie.Pret;
                comm.Parameters.Add(paramPret);

                var paramLocuri = comm.CreateParameter();
                paramLocuri.ParameterName = "@nrLocuriDisponibile";
                paramLocuri.Value         = excursie.NrLocuriDisponibile;
                comm.Parameters.Add(paramLocuri);

                var result = comm.ExecuteNonQuery();
                if (result == 0)
                {
                    log.Info("Nu a fost modificata excursia");
                }
                else
                {
                    log.Info("Excursie modificata");
                }
            }
        }
Пример #23
0
        public void updateExcursie(Excursie excursie)
        {
            sendRequest(new updateExcursieRequest(excursie));
            Response response = readResponse();

            if (response is OkResponse)
            {
                Console.WriteLine("modificat");
            }
            else
            {
                ErrorResponse response1 = (ErrorResponse)response;
                Console.WriteLine("Nu s-a putut modifica" + response1.getMessage());
            }
        }
Пример #24
0
 public void Rezerva(Excursie excursie, string nume, string telefon, int nr_bilete)
 {
     if (excursie.LocuriDisponibile >= nr_bilete)
     {
         excursie.LocuriDisponibile -= nr_bilete;
         var id        = User.GetHashCode() + excursie.GetHashCode() + DateTime.Now.GetHashCode();
         var rezervare = new Rezervare(id.ToString(), User, excursie, nume, telefon, nr_bilete);
         repoRez.Add(rezervare);
         excursiiManagementService.UpdateExcursie(excursie);
     }
     else
     {
         throw new Exception("date invalide");
     }
 }
Пример #25
0
 public void INPUT_GET(Excursie e)
 {
     new Thread(new ThreadStart(() => {
         while (true)
         {
             try
             {
                 string[] Messages = CryptDecryptData.DecryptData(_Utils.ReadStreamString(INPUT.ns));
                 e.OnClientGetMessage(Messages);
             }
             catch
             {
                 Thread.CurrentThread.Abort();
                 break;
             }
         }
     })).Start();
 }
Пример #26
0
        public void Adauga(int id, string nume, string telefon, int bilet, Excursie ex, Agent ag)
        {
            if (ex.Locuri_disp < bilet)
            {
                throw new Exception("Not enough places available");
            }
            IEnumerable <Rezervare> l = new List <Rezervare>();

            l = GetAll();
            int I = 0;

            foreach (var x in l)
            {
                I++;
            }
            repoRezv.insert(new Rezervare(I + 1, ag.Id, ex.Id, nume, telefon, bilet));
            ex.Locuri_disp = ex.Locuri_disp - bilet;
            repoExc.update(ex);
            notify(id, nume, telefon, bilet, ex, ag);
        }
        public List <Excursie> findAllObiectivOra(String obiectiv, String dupa, String inainte)
        {
            IDbConnection   con      = DBUtils.getConnection();
            List <Excursie> excursii = new List <Excursie>();

            using (var comm = con.CreateCommand())
            {
                comm.CommandText = "SELECT * FROM excursie WHERE numeObiectiv=@numeObiectiv AND @dupa<=oraPlecarii AND oraPlecarii<=@inainte";
                var paramId = comm.CreateParameter();
                paramId.ParameterName = "@numeObiectiv";
                paramId.Value         = obiectiv;
                comm.Parameters.Add(paramId);

                var paramName = comm.CreateParameter();
                paramName.ParameterName = "@dupa";
                paramName.Value         = dupa;
                comm.Parameters.Add(paramName);

                var paramNumeF = comm.CreateParameter();
                paramNumeF.ParameterName = "@inainte";
                paramNumeF.Value         = inainte;
                comm.Parameters.Add(paramNumeF);
                using (var dataR = comm.ExecuteReader())
                {
                    while (dataR.Read())
                    {
                        int      id           = dataR.GetInt32(0);
                        string   numeObiectiv = dataR.GetString(1);
                        string   numeFirma    = dataR.GetString(2);
                        string   oraPlecarii  = dataR.GetString(3);
                        float    pret         = dataR.GetFloat(4);
                        int      nrLocuri     = dataR.GetInt32(5);
                        Excursie excursie     = new Excursie(id, numeObiectiv, numeFirma, oraPlecarii, pret, nrLocuri);
                        excursii.Add(excursie);
                    }
                }
            }
            return(excursii);
        }
        private void AddActualTrips()
        {
            using (SqlConnection Database = new SqlConnection(_Details.DatabaseConnectionString))
            {
                Database.Open();

                SqlCommand    cmd    = new SqlCommand("SELECT * FROM Excursii", Database);
                SqlDataReader Reader = cmd.ExecuteReader();

                while (Reader.Read())
                {
                    Excursie Excursie = new Excursie(
                        LocationService, NotificationService,
                        (string)Reader[0], (string)Reader[1],
                        (string)Reader[2], (string)Reader[3],
                        (string)Reader[4], (string)Reader[5],
                        (string)Reader[6], (string)Reader[7],
                        (string)Reader[8], (string)Reader[9],
                        (string)Reader[10]);
                    Excursii.Add(Excursie);
                }
            }
        }
 public void adauga(int id, string nume, string telefon, int bilet, Excursie ex, Agent ag)
 {
     Console.WriteLine();
     server.Adauga(id, nume, telefon, bilet, ex, ag);
 }
Пример #30
0
 public IEnumerable <Rezervare> findAllRezervare(Excursie excursie)
 {
     return(repoRezervare.findAllMatch(excursie.Id));
 }