Пример #1
0
 //добавление данных о фильме на форму
 private void AddContent(string ID)
 {
     contentT = new ContentTable();
     dB.ExecuteReaderQuery($"SELECT * FROM Контент WHERE КодКонтента = {ID};", contentT);
     for (int i = 0; i < contentT.ID.Count; i++)
     {
         nameTB.Text          = contentT.ContentName[i];
         ratingTB.Text        = contentT.Rating[i].ToString();
         yearTB.Text          = contentT.Year[i].ToString();
         storyTB.Text         = contentT.Story[i];
         durationTB.Text      = contentT.Duration[i].ToString();
         purchasePriceTB.Text = contentT.PurchasePrice[i].ToString();
         rentPriceTB.Text     = contentT.RentalPrice[i].ToString();
         posterFile           = contentT.Poster[i];
         bmi            = new BitmapImage(new Uri(AppDomain.CurrentDomain.BaseDirectory + $@"\Images\{posterFile}", UriKind.Absolute));
         posterI.Source = bmi;
         FileTable   ft = new FileTable();
         ContentFile cf = new ContentFile();
         dB.ExecuteReaderQuery($"SELECT КодФайла FROM ФайлыКонтента WHERE КодКонтента = {ID}", cf);
         foreach (int kod in cf.DataID)
         {
             string name = dB.ExecuteScalarQuery($"SELECT Ссылка FROM Файл WHERE КодФайла = {kod}").ToString();
             File.Delete(AppDomain.CurrentDomain.BaseDirectory + $@"Films\{name}");
         }
         dB.ExecuteQuery($"DELETE FROM ЖанрКонтента WHERE КодКонтента = {ID};" +
                         $"DELETE FROM СтраныКонтента WHERE КодКонтента = {ID};" +
                         $"DELETE FROM АктёрыКонтента WHERE КодКонтента = {ID};" +
                         $"DELETE FROM РежиссёрыКонтента WHERE КодКонтента = {ID};" +
                         $"DELETE FROM ФайлыКонтента WHERE КодКонтента = {ID};");
     }
 }
Пример #2
0
        private void AddContent(string filtr, string attribute)
        {
            //применение фильтров к фильмам
            ContentTable ct = new ContentTable();

            wrapPanel.Children.Clear();
            switch (attribute)
            {
            case "": dB.ExecuteReaderQuery($"SELECT КодКонтента, Название, Постер FROM Контент", ct); break;

            case "name": dB.ExecuteReaderQuery($"SELECT КодКонтента, Название, Постер FROM Контент WHERE Название LIKE N'%{filtr}%'", ct); break;

            case "minRating": dB.ExecuteReaderQuery($"SELECT КодКонтента, Название, Постер FROM Контент WHERE Рейтинг >= {filtr}", ct); break;

            case "currentYear": dB.ExecuteReaderQuery($"SELECT КодКонтента, Название, Постер FROM Контент WHERE Год = {filtr}", ct); break;

            case "rating": dB.ExecuteReaderQuery($"SELECT КодКонтента, Название, Постер FROM Контент ORDER BY Рейтинг", ct); break;

            case "year": dB.ExecuteReaderQuery($"SELECT КодКонтента, Название, Постер FROM Контент ORDER BY Год", ct); break;

            case "gener": dB.ExecuteReaderQuery($"SELECT КодКонтента, Название, Постер FROM Контент WHERE КодКонтента = (SELECT КодКонтента FROM ЖанрКонтента WHERE КодЖанра = {filtr})", ct); break;

            case "country": dB.ExecuteReaderQuery($"SELECT КодКонтента, Название, Постер FROM Контент WHERE КодКонтента = (SELECT КодКонтента FROM СтраныКонтента WHERE КодСтраны = {filtr})", ct); break;

            default: MessageBox.Show("ERROR!"); break;
            }
            for (int i = 0; i < ct.ID.Count; i++)
            {
                FilmBlock fb = new FilmBlock();
                bmi = new BitmapImage(new Uri(AppDomain.CurrentDomain.BaseDirectory + $@"\Images\{ct.Poster[i]}", UriKind.Absolute));
                fb.CreateBlock(wrapPanel, wrapPanel.ActualWidth, bmi, ct.ContentName[i].ToString(), Int32.Parse(ct.ID[i].ToString()));
            }
        }
Пример #3
0
        public Фильм(int ID)
        {
            InitializeComponent();
            //добавление данных о фильме на форму
            loginL.Content = CurrentUser.Login;
            mediaF.Play();
            mediaF.Pause();
            contentID = ID;
            string geners, countrys, directors, acthors;

            geners = countrys = directors = acthors = "";
            ControlButton cb = new ControlButton();

            cb.CreateElements(this, mainG);
            AddFromDB(ref geners, $"SELECT Наименование FROM Жанр WHERE КодЖанра = ", $"SELECT КодЖанра FROM ЖанрКонтента WHERE КодКонтента = {ID}", dB.GetConnection(), true);
            AddFromDB(ref countrys, $"SELECT Наименование FROM Страна WHERE КодСтраны = ", $"SELECT КодСтраны FROM СтраныКонтента WHERE КодКонтента = {ID}", dB.GetConnection(), true);
            AddFromDB(ref directors, $"SELECT Имя, Фамилия FROM Режиссёр WHERE КодРежиссёра = ", $"SELECT КодРежиссёра FROM РежиссёрыКонтента WHERE КодКонтента = {ID}", dB.GetConnection(), false);
            AddFromDB(ref acthors, $"SELECT Имя, Фамилия FROM Актёр WHERE КодАктёра = ", $"SELECT КодАктёра FROM АктёрыКонтента WHERE КодКонтента = {ID}", dB.GetConnection(), false);
            ContentTable ct = new ContentTable();

            dB.ExecuteReaderQuery($"SELECT * FROM Контент WHERE КодКонтента = {ID}", ct);
            for (int i = 0; i < ct.ID.Count; i++)
            {
                rentPrice            = Math.Round(ct.RentalPrice[i], 2);
                buyPrice             = Math.Round(ct.PurchasePrice[i], 2);
                poster               = new BitmapImage(new Uri(AppDomain.CurrentDomain.BaseDirectory + $@"\Images\{ct.Poster[i]}", UriKind.Absolute));
                posterI.Source       = poster;
                nameL.Content        = ct.ContentName[i];
                specificationL.Text += $"Рейтинг: {ct.Rating[i]}\nГод: {ct.Year[i]}\nПродолжительность: {ct.Duration[i]} мин.\nЖанр: {geners}\n" +
                                       $"Страна: {countrys}\nРежиссёр: {directors}\nАктёры: {acthors}\nСюжет: {ct.Story[i]}\nЦена покупки: {buyPrice} руб.\n" +
                                       $"Цена проката: {rentPrice} руб.\n";
            }
            List <string> strID = new List <string>();
            FileTable     ft    = new FileTable();
            ContentFile   cf    = new ContentFile();

            dB.ExecuteReaderQuery($"SELECT КодФайла FROM ФайлыКонтента WHERE КодКонтента = {ID}", cf);
            for (int i = 0; i < cf.DataID.Count; i++)
            {
                dB.ExecuteReaderQuery($"SELECT Ссылка FROM Файл WHERE КодФайла = {cf.DataID[i]}", ft);
                for (int j = 0; j < ft.Reference.Count; j++)
                {
                    seriesCB.Items.Add(ft.Reference[j].ToString());
                }
            }
            if (seriesCB.Items.Count > 0)
            {
                seriesCB.Text = seriesCB.Items[0].ToString();
                mediaUri      = new Uri(AppDomain.CurrentDomain.BaseDirectory + $@"\Films\{seriesCB.Items[0]}", UriKind.Absolute);
                mediaF.Source = mediaUri;
            }
            CommentTable commentT = new CommentTable();

            dB.ExecuteReaderQuery($"SELECT * FROM Отзыв WHERE КодКонтента = {ID}", commentT);
            for (int i = 0; i < commentT.ID.Count; i++)
            {
                CommentBlock.GetBlock(commentSP, commentT.Text[i], commentT.Login[i]);
            }
        }