예제 #1
0
파일: DAO.cs 프로젝트: LironBayda/final_SQL
        public void UpdateGeneres(int id, Geners geners)
        {
            if (m_config.AllowDBWrite)
            {
                string query = $"update generes set name='{geners.Name}' where id= {id}";


                try
                {
                    conn.Open();

                    NpgsqlCommand cmd = new NpgsqlCommand(query,
                                                          conn);
                    cmd.ExecuteNonQuery();

                    my_logger.Info($"update gener= '{geners.Name}' ");
                }
                catch (Exception ex)
                {
                    my_logger.Error($"Failed to update gener. Error : {ex}");
                    my_logger.Error($"UpdateGeneres: [{query}]");
                }

                conn.Close();
            }
            else
            {
                my_logger.Info("Tried to write into Db while in read-pnly mode");
                Console.WriteLine($"Not allow to write into DB. check config");
            }
        }
예제 #2
0
파일: DAO.cs 프로젝트: LironBayda/final_SQL
        public void AddGeneres(Geners geners)
        {
            if (m_config.AllowDBWrite)
            {
                string query = $"insert  into generes (name) " +
                               $"values ('{geners.Name}'); SELECT LASTVAL();";

                try
                {
                    conn.Open();

                    NpgsqlCommand cmd = new NpgsqlCommand(query,
                                                          conn);
                    cmd.ExecuteNonQuery();
                    cmd.CommandType = CommandType.Text;
                    Decimal result = Convert.ToDecimal(cmd.ExecuteScalar());

                    my_logger.Info($"New gener {geners.Name} was added  with id {result}");
                }
                catch (Exception ex)
                {
                    my_logger.Error($"Failed to add gener to data base. Error : {ex}");
                    my_logger.Error($"AddGeneres: [{query}]");
                }

                conn.Close();
            }
            else
            {
                my_logger.Info("Tried to write into Db while in read-pnly mode");
                Console.WriteLine($"Not allow to write into DB. check config");
            }
        }
예제 #3
0
        public override bool Equals(object obj)
        {
            Geners geners = obj as Geners;

            if (geners != null)
            {
                return(this.ID == geners.ID);
            }

            return(false);
        }
예제 #4
0
파일: DAO.cs 프로젝트: LironBayda/final_SQL
        public Geners GetGeneresById(int id)
        {
            Geners gener = null;
            string query = $"SELECT * FROM generes where Id={id}";

            try
            {
                conn.Open();

                NpgsqlCommand cmd = new NpgsqlCommand(query,
                                                      conn);
                var reader = cmd.ExecuteReader();

                if (reader.Read())
                {
                    gener =
                        new Geners
                    {
                        ID   = Convert.ToInt32(reader["id"]),
                        Name = reader["name"].ToString()
                    };
                }
                cmd.Connection.Close();

                my_logger.Info($"get gener with id= {id} ");
            }
            catch (Exception ex)
            {
                my_logger.Error($"Failed to get gener. Error : {ex}");
                my_logger.Error($"GetGeneresById: [{query}]");
            }


            conn.Close();

            return(gener);
        }
예제 #5
0
        static void Main(string[] args)
        {
            my_logger.Info("******************** System startup");

            m_config = new PostgresSQL_AppConfig();

            string m_conn = m_config.ConnectionString;

            Console.WriteLine($"-- Hello App {m_config.AppName}");

            Actors actor1 = new Actors
            {
                ID       = 11,
                Name     = "adi chen",
                BirtDate = "13.04.1956"
            };

            Actors actor2 = new Actors
            {
                ID       = 12,
                Name     = "adi levi",
                BirtDate = "13.04.1966"
            };

            Geners gener1 = new Geners
            {
                ID   = 9,
                Name = "horror"
            };


            Geners gener2 = new Geners
            {
                ID   = 9,
                Name = "france"
            };

            Movies movie1 = new Movies
            {
                Name        = "fast and angery",
                genre_ID    = 1,
                ID          = 9,
                releaseDate = "12.05.2000"
            };

            Movies movie2 = new Movies
            {
                Name        = "rain man",
                genre_ID    = 2,
                ID          = 19,
                releaseDate = "12.05.2011"
            };

            Movies_Actors movies_actors1 = new Movies_Actors
            {
                ID       = 33,
                Actor_ID = 21,
                Movie_ID = 1
            };

            Movies_Actors movies_actors2 = new Movies_Actors
            {
                ID       = 34,
                Actor_ID = 14,
                Movie_ID = 2
            };

            DAO dAO = new DAO();

            dAO.AddActors(actor1);
            dAO.AddGeneres(gener1);
            dAO.AddMovies(movie1);
            dAO.AddMoviesWithActors(movies_actors1);



            Console.WriteLine("GetActorsById: ");
            Console.WriteLine(dAO.GetActorsById(3).ToString());
            Console.WriteLine();



            Console.WriteLine("GetMoviesById: ");
            Console.WriteLine(dAO.GetMoviesById(3).ToString());
            Console.WriteLine();


            Console.WriteLine("GetMoviesWithActorsById: ");
            Console.WriteLine(dAO.GetMoviesWithActorsById(51).ToString());
            Console.WriteLine();


            Console.WriteLine("GetGeneresById: ");
            Console.WriteLine(dAO.GetGeneresById(3).ToString());
            Console.WriteLine();

            Console.WriteLine("GetAllGeneres: ");
            dAO.GetAllGeneres().ForEach(s => Console.WriteLine(s.ToString()));
            Console.WriteLine();

            Console.WriteLine("GetAllActors: ");
            dAO.GetAllActors().ForEach(s => Console.WriteLine(s.ToString()));
            Console.WriteLine();

            Console.WriteLine("GetAllMovies: ");
            dAO.GetAllMovies().ForEach(s => Console.WriteLine(s.ToString()));
            Console.WriteLine();

            Console.WriteLine("GetAllMoviesWithActors: ");
            dAO.GetAllMoviesWithActors().ForEach(s => Console.WriteLine(s.ToString()));
            Console.WriteLine();

            Console.WriteLine("GetAllMoviesWithActorBornBefore1972: ");
            dAO.GetAllMoviesWithActorBornBefore1972().ForEach(s => Console.WriteLine(s.ToString()));
            Console.WriteLine();



            Console.WriteLine("GetActorWithMaxMovies: ");
            dAO.GetActorWithMaxMovies().ForEach(s => Console.WriteLine(s.ToString()));;
            Console.WriteLine();

            Console.WriteLine("GetFristMoviesInEveryYesr: ");
            dAO.GetFristMoviesInEveryYesr().ForEach(s => Console.WriteLine(s.ToString()));;
            Console.WriteLine();

            Console.ReadLine();

            /*    dAO.UpdateActors(11, actor2);
             *  dAO.UpdateGeneres(11, gener2);
             *  dAO.UpdateMovies(11, movie2);
             *  dAO.UpdateMoviesWithActors(11,movies_actors2);
             *
             *
             * dAO.DeleteActors(5);
             * dAO.DeleteGeneres(5);
             * dAO.DeleteMovies(5);
             * dAO.DeleteMoviesWithActors(5);*/

            my_logger.Info("******************** System shutdown");
        }