Beispiel #1
0
        public StackPanel displayPanel()
        {
            MLS_DB ctx = MLS_DB.GetContext();

            StackPanel pl_item = null;

            foreach (var curr_track in ctx.tracks_playlist.ToList())
            {
                FontFamily ui_symbols_font = new FontFamily("Segoe MDL2 Assets");
                pl_item = new StackPanel
                {
                    Orientation = Orientation.Horizontal,
                    Height      = 60,
                    Background  = Brushes.Black
                };
                var play_btn = new Button
                {
                    Height     = 60,
                    Width      = 60,
                    FontFamily = ui_symbols_font,
                    Content    = char.ConvertFromUtf32(0xE768),
                    Foreground = Brushes.White,
                    Background = Brushes.Black
                };

                var pl_name = new TextBlock
                {
                    Name       = "pl_block",
                    Height     = 60,
                    FontSize   = 18,
                    Foreground = Brushes.White,
                    Margin     = new Thickness(11, 6, 11, 5),
                    Text       = curr_track.track_name + '(' + curr_track.playlist_name + ',' + curr_track.user_id + ')'
                };
                pl_item.Children.Add(play_btn);
                pl_item.Children.Add(pl_name);
                music_panel.Children.Add(pl_item);
                play_btn.Tag = curr_track.track_id;
            }
            return(pl_item);
        }
Beispiel #2
0
        private void signIn_Click(object sender, RoutedEventArgs e)
        {
            MLS_DB db_ctx = MLS_DB.GetContext();

            foreach (var curr_user in db_ctx.users.ToList())
            {
                if (curr_user.username == loginBox.Text)
                {
                    if (curr_user.password == pwBox.Password)
                    {
                        MessageBox.Show("Successfully pseudo-logged in");
                        NavigationService.Navigate(new mainPage());
                        break;
                    }
                }
                else
                {
                    MessageBox.Show("Invalid login or password!");
                    break;
                }
            }
        }
Beispiel #3
0
 private void DisplayData(object sender, RoutedEventArgs e)
 {
     DB             = new MLS_DB();
     DG.ItemsSource = MLS_DB.GetContext().users.ToList();
 }
Beispiel #4
0
        public void AddTrack()
        {
            MLS_DB DB  = new MLS_DB();
            var    ctx = MLS_DB.GetContext();

            OpenFileDialog fileDialog = new OpenFileDialog();

            fileDialog.InitialDirectory = @"C:\";

            if (fileDialog.ShowDialog() == DialogResult.OK)
            {
                performer   artist     = new performer();
                track       curr_track = new track();
                tracks_info tr_name    = new tracks_info();


                string   server_path = @"C:\DexHydre\webserver\tracks";
                string[] musicFiles  = Directory.GetFiles(server_path, "*.mp3");
                int      new_number  = musicFiles.Count() + 1;

                var musicFile = File.OpenRead(fileDialog.FileName);

                byte[] b = new byte[1024];

                musicFile.Read(b, 0, b.Length);

                using (var mp3 = new Mp3(musicFile))
                {
                    Id3Tag tag = mp3.GetTag(Id3TagFamily.Version2X);
                    if (tag != null)
                    {
                        var duplicate_track =

                            from tr in ctx.tracks_info
                            join t in ctx.tracks on tr.track_id equals t.track_id
                            join p in ctx.performers on t.performer_id equals p.performer_id
                            where p.performer_name == tag.Artists && tr.track_name == tag.Title
                            select tr.track_id;


                        var existing_performer =

                            from p in ctx.performers
                            where p.performer_name == tag.Artists
                            select p.performer_id;


                        var new_track_id =

                            (from t in ctx.tracks
                             orderby t.track_id descending
                             select t.track_id).Count() + 1;

                        if (duplicate_track.Any())
                        {
                            System.Windows.MessageBox.Show("Duplicate track");
                        }
                        else
                        {
                            curr_track.track_id = new_track_id;
                            if (existing_performer.Any())
                            {
                                curr_track.performer_id = existing_performer.Single();
                            }
                            else
                            {
                                artist.performer_name = tag.Artists;
                                DB.performers.Add(artist);
                                DB.SaveChanges();
                                curr_track.performer_id = existing_performer.Single();
                            }

                            curr_track.track_duration = Convert.ToInt32(mp3.Audio.Duration.TotalSeconds);
                            curr_track.bitrate        = mp3.Audio.Bitrate;
                            if (tag.Genre == null)
                            {
                                curr_track.genre = null;
                            }
                            else
                            {
                                curr_track.genre = tag.Genre;
                            }

                            tr_name.track_id   = curr_track.track_id;
                            tr_name.track_name = tag.Title;

                            if (!musicFiles.Contains(curr_track.track_id.ToString()))
                            {
                                DB.tracks.Add(curr_track);
                                DB.tracks_info.Add(tr_name);

                                int    dot_position = musicFile.Name.IndexOf(".");
                                string new_name     = server_path + @"\" + new_number.ToString() + musicFile.Name.Substring(dot_position);
                                if (File.Exists(new_name))
                                {
                                    System.Windows.MessageBox.Show("Такой файл уже существует!");
                                }
                                else
                                {
                                    File.Copy(musicFile.Name, new_name);
                                }
                                DB.SaveChanges();
                            }
                        }
                    }
                    else
                    {
                        System.Windows.MessageBox.Show("Invalid track data");
                    }
                }
            }
        }
Beispiel #5
0
        private void signUp(object sender, RoutedEventArgs e)
        {
            List <AutoCompleteTextBox.Editors.AutoCompleteTextBox> tb_list =
                new List <AutoCompleteTextBox.Editors.AutoCompleteTextBox>()
            {
                emailBox, loginBox
            };

            foreach (var tb in tb_list)
            {
                tb.BorderBrush     = Brushes.White;
                tb.BorderThickness = new Thickness(2);
                tb.ToolTip         = null;
            }

            List <PasswordBox> pb_list = new List <PasswordBox>()
            {
                pwBox, repeatpwBox
            };

            foreach (var pb in pb_list)
            {
                pb.BorderBrush     = Brushes.White;
                pb.BorderThickness = new Thickness(2);
                pb.ToolTip         = null;
            }

            var x = new get_t
            {
                email      = emailBox.Text,
                login      = loginBox.Text,
                pwd        = pwBox.Password,
                pwd_repeat = repeatpwBox.Password
            };

            object obj = x as object;
            var    ret = new List <validation_t>();
            var    ctx = new ValidationContext(obj);



            if (!Validator.TryValidateObject(obj, ctx, ret, true))
            {
                StackPanel toolTipContent;
                foreach (var entry in ret)
                {
                    toolTipContent = new StackPanel();
                    switch (entry.ErrorMessage[0])
                    {
                    case '1':
                        emailBox.BorderThickness = new Thickness(4);
                        emailBox.BorderBrush     = Brushes.Red;
                        emailBox.Focus();
                        emailBox.ToolTip = toolTipContent;
                        break;

                    case '2':
                        loginBox.BorderThickness = new Thickness(4);
                        loginBox.BorderBrush     = Brushes.Red;
                        loginBox.Focus();
                        loginBox.ToolTip = toolTipContent;
                        break;

                    case '3':
                        pwBox.BorderThickness = new Thickness(4);
                        pwBox.BorderBrush     = Brushes.Red;
                        pwBox.Focus();
                        pwBox.ToolTip = toolTipContent;
                        break;

                    case '4':
                        repeatpwBox.BorderThickness = new Thickness(4);
                        repeatpwBox.BorderBrush     = Brushes.Red;
                        repeatpwBox.Focus();
                        repeatpwBox.ToolTip = toolTipContent;
                        break;

                    default: break;
                    }
                    toolTipContent.Children.Add(new TextBlock {
                        Text = entry.ErrorMessage, FontSize = 20
                    });
                }
            }
            else
            {
                user userr = new user();
                userr.email        = emailBox.Text;
                userr.username     = loginBox.Text;
                userr.password     = pwBox.Password;
                userr.access_level = 1;
                var db_ctx = MLS_DB.GetContext();
                db_ctx.users.Add(userr);
                db_ctx.SaveChanges();
                MessageBox.Show("New user added");
            }
        }