using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Gestor_de_Contenidos
{
    public partial class frm_nuevo_item_clas : Form
    {
        private ItemClasificacion item;
        private Nivel nivel;
        int indice = -1;

        public frm_nuevo_item_clas(NivelMJClasificacion nivel)
        {
            InitializeComponent();
            this.nivel = nivel;
        }

        public frm_nuevo_item_clas(NivelClasificacion nivel)
        {
            InitializeComponent();
            this.nivel = nivel;
        }

        private void btn_buscar_imagen_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                tb_imagen.Text = openFileDialog1.FileName;
            }
        }

        private void btn_guardar_Click(object sender, EventArgs e)
        {
            
            if (tb_imagen.Text.Equals("") || tb_text.Text.Equals("") || tb_nombre.Text.Equals("") ||cb_categorias.SelectedItem == null || cb_categorias.SelectedItem.ToString().Equals(""))
                lbl_rellena.Visible = true;
            else
            {
                item = new ItemClasificacion(tb_nombre.Text, tb_text.Text, tb_imagen.Text);
                //Anyadir clasificador
                try
                {
                    item.Categoria = ((NivelClasificacion)nivel).buscarItemCategoria(cb_categorias.SelectedItem.ToString());
                }
                catch (Exception) {
                    item.Categoria = ((NivelMJClasificacion)nivel).buscarItemCategoria(cb_categorias.SelectedItem.ToString());  
                }
                this.DialogResult = DialogResult.OK;
                this.Close();
            }
        }

        public ItemClasificacion getItem() { return item; }
        public void setItem(ItemClasificacion it)
        {
            this.item = it;
            tb_text.Text = item.Texto;
            tb_nombre.Text = item.Nombre;
            tb_imagen.Text = item.Imagen;

            frm_nuevo_item_clas_Load(null, null);
            int i=0;
            //Marcar categoria seleccionada --------------------------------> Por terminar
            foreach (Object itt in cb_categorias.Items)
            {

                if (itt.ToString().Equals(it.Categoria.Nombre))
                    indice = i;
                
                i++; 
           }

        }


        private void btn_cancelar_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.Cancel;
            this.Close();
        }

        private void frm_nuevo_item_clas_Load(object sender, EventArgs e)
        {
            cb_categorias.Items.Clear();
            List<ItemCategoria> lista;
            try
            {
                lista = ((NivelClasificacion)nivel).ItemsCategorias;
            }
            catch (Exception) {
                lista = ((NivelMJClasificacion)nivel).ItemsCategorias;
            
            }


            foreach (ItemCategoria it in lista) 
            {
                cb_categorias.Items.Add(it);
            }

            if (indice != -1)
                cb_categorias.SelectedIndex = indice;
        }

        private void tb_imagen_TextChanged(object sender, EventArgs e)
        {
            if (tb_imagen.Text.Equals(""))
                pb_imagen.Visible = false;
            else
            {
                pb_imagen.Visible = true;
                pb_imagen.Image = Image.FromFile(tb_imagen.Text);
                pb_imagen.Image = pb_imagen.Image.GetThumbnailImage(pb_imagen.Width, pb_imagen.Height, null, new System.IntPtr());


            }
        }


    }
}
