예제 #1
0
        private void btnSaveChanges_Click(object sender, EventArgs e)
        {
            string ErrorMsg;

            if (!changed)
            {
                lblAnyText.Text = "Can't save, nothing has changed.";
                return;
            }
            var errors = ValidateFields();

            if (errors != "")
            {
                ErrorMsg        = "Can't save, errors: " + errors;
                lblAnyText.Text = ErrorMsg;
                return;
            }

            entry.SetImage(openFileDialog1.FileName);

            DatabaseClass.UpdateEntries(category, entry.name, txtEntryName.Text, Int32.Parse(drpdRating.SelectedItem.ToString()), txtEntryDescription.Text,
                                        dateRelease.Value.ToShortDateString(), Int32.Parse(txtWatchCount.Text), entry.image);

            this.Close();
            this.Dispose();
        }
예제 #2
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            string name        = txtEntryName.Text;
            string rating      = drpdRating.SelectedItem.ToString();
            string description = txtEntryDescription.Text;
            string dateTime    = dateRelease.Value.Date.ToShortDateString();

            var    errors = ValidateFields(name);
            string ErrorMsg;

            if (errors != "")
            {
                ErrorMsg        = "Can't save, errors: " + errors;
                lblAnyText.Text = ErrorMsg;
                return;
            }

            var ent = new Entry(name, openFileDialog1.FileName, Int32.Parse(rating), description, dateTime, 0);

            entryComponents.Add(new EntryComponent(entryComponents.Count + 1, ent, category));

            DatabaseClass.SetData(category, name, Int32.Parse(rating), description, dateTime, ent.image);
            parent.DataPanel.Controls.Add(entryComponents[entryComponents.Count - 1].mainPanel);

            this.Close();
            this.Dispose();
        }
예제 #3
0
파일: Form1.cs 프로젝트: Globys031/TMJ_TP
 /// <summary>
 /// Redraws category buttons in the correct order
 /// We need to call this to display the category buttons correctly, because if you just add it
 /// it will go to the front of the panel
 /// </summary>
 public void RedrawCats()
 {
     panel1.Controls.Clear();
     Categories = new List <string>();
     Categories = DatabaseClass.GetCategoriesList();
     if (Categories.Count == 3)
     {
         for (int i = 0; i < Buttons.Count - 1; i++)
         {
             if (i == 3)
             {
                 Buttons.RemoveAt(i);
                 i--;
             }
         }
         panel1.Controls.Add(Buttons[Buttons.Count - 1]);
         for (int i = 3 - 1; i >= 0; i--)
         {
             panel1.Controls.Add(Buttons[i]);
         }
     }
     else
     {
         for (int i = Buttons.Count - 1; i >= 0; i--)
         {
             panel1.Controls.Add(Buttons[i]);
         }
     }
 }
예제 #4
0
파일: Form1.cs 프로젝트: Globys031/TMJ_TP
        private void Form1_Load(object sender, EventArgs e)
        {
            Region = new Region(new Rectangle(0, 0, Width, Height));

            //Fill list with categories
            Categories = new List <string>();
            foreach (string cat in DatabaseClass.GetCategoriesList())
            {
                Categories.Add(cat);
            }

            Buttons = new List <Button>();
            Buttons.Add(button1);
            Buttons.Add(button3);
            Buttons.Add(b_TvSeries);
            Buttons.Add(b_addCat);

            bool added = false;

            for (int i = 3; i < Categories.Count; i++)
            {
                added = true;
                CreateAndAddCatBut(Categories[i], false);
            }
            if (added)
            {
                RedrawCats();
            }
        }
예제 #5
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            // first do validation
            if (Categories.Contains(txtCatName.Text))
            {
                //set error
                return;
            }
            //      too long?

            //set new category
            DatabaseClass.SetCategory(txtCatName.Text);

            //create and cache new button
            Categories.Add(txtCatName.Text);
            //quick solution to notify that a new category has been added
            //add a string of 50 chars, definitely longer than anything the user can add
            //and when we close this form we invoke FormClosed event and check if the last value length is 50
            //this way I don't have to track any additional variables that keep the last length of the array
            //and will be a tiny bit faster and simpler to implement
            Categories.Add("00000000000000000000000000000000000000000000000000");

            //close this form and open new one
            this.Close();
        }
예제 #6
0
        private void btnSearch_Click(object sender, EventArgs e)
        {
            DataPanel.Controls.Clear();
            InitAddButton(DataPanel);
            entryComponents.Clear();

            string search = textBox1.Text;

            if (search == "")
            {
                return;     //should later add some message
            }
            switch (search) //super secret dev commands hehe
            {
            case "!wipecats":
                var cats = DatabaseClass.GetCategoriesList();
                for (int j = 3; j < cats.Count; j++)
                {
                    var entries = DatabaseClass.GetDataByCategory(cats[j], "");
                    if (entries != null)
                    {
                        foreach (Entry entry in entries)
                        {
                            DatabaseClass.RemoveEntry(category, entry.name);
                        }
                    }
                    DatabaseClass.RemoveCategory(cats[j]);
                }
                var pp = Parent.Parent as Form1;
                pp.RedrawCats();
                break;

            case "!wipeentries":
                var entriess = DatabaseClass.GetDataByCategory(category, "");
                foreach (Entry entry in entriess)
                {
                    DatabaseClass.RemoveEntry(category, entry.name);
                }
                break;

            case "!wipeall":
                DatabaseClass.RemoveAllEntries();
                DatabaseClass.RemoveNonMandatoryCategories();
                var ppp = Parent.Parent as Form1;
                ppp.RedrawCats();
                break;
            }
            var list = DatabaseClass.GetCategoryEntry(DatabaseClass.FindCategoryId(category), search);

            int i = 0;

            foreach (Entry ent in list)
            {
                EntryComponent entr = new EntryComponent(i, ent, category);
                DataPanel.Controls.Add(entr.mainPanel);
                entryComponents.Add(entr);
            }
        }
예제 #7
0
 private void btnDeleteEntry_Click(object sender, EventArgs e)
 {
     if (delete)
     {
         DatabaseClass.RemoveEntry(category, entry.name);
         this.Close();
     }
     else
     {
         lblAnyText.Text = "Are you sure you want to delete this entry? It will be lost forever. To confirm click that button again.";
         delete          = true;
     }
 }
예제 #8
0
        private void btnSortScore_Click(object sender, EventArgs e)
        {
            DataPanel.Controls.Clear();
            InitAddButton(DataPanel);
            entryComponents.Clear();

            var list = DatabaseClass.SortEntries(category, 4, true);//sort by score descending

            int i = 0;

            foreach (Entry ent in list)
            {
                EntryComponent entr = new EntryComponent(i, ent, category);
                DataPanel.Controls.Add(entr.mainPanel);
                entryComponents.Add(entr);
            }
        }
예제 #9
0
 private void ChildForm_Leave(object sender, EventArgs e)
 {
     if (type == ChildFormType.Category)
     {
         foreach (EntryComponent entry in entryComponents)
         {
             Entry cons = entry.entry;
             DatabaseClass.UpdateEntries(category,
                                         cons.name, cons.name, cons.score, cons.description,
                                         cons.date, cons.watchCount, cons.image);
             entry.DestroyComponent();
         }
         btnAddEntry.Image.Dispose();
         btnSearch.BackgroundImage.Dispose();
         this.Dispose(true);
         this.Close();
     }
 }
예제 #10
0
        public void ChildForm_Shown(object sender, EventArgs e)
        {
            if (Controls.Count == 0)       //when this is called if an entry is deleted the controls should be empty
            {
                InitializeComponent(size); //need to init because it also has that big plus button
            }
            entryComponents = new List <EntryComponent>();

            var entries = DatabaseClass.GetDataByCategory(category, "");

            int i = 0;

            foreach (Entry ent in entries)
            {
                EntryComponent entr = new EntryComponent(i, ent, category);
                DataPanel.Controls.Add(entr.mainPanel);
                entryComponents.Add(entr);
            }
        }