lunes, 4 de mayo de 2015

HERENCIA



/*
////////////////////////////////////INGRESO DE USUARIOS//////////////////////////////////
 *
 * public partial class Form1 : Form
    {
        List<Usuario> usuarios = new List<Usuario>();

        internal List<Usuario> Usuarios
        {
            get { return usuarios; }
            set { usuarios = value; }
        }
        int contador;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            txt_Repassword.LostFocus+=txt_Repassword_LostFocus;
            txt_Login.LostFocus+=txt_Login_LostFocus;
            txt_Password.LostFocus+=txt_Password_LostFocus;

            this.usuarios = new List<Usuario>();
            Usuario user1 = new Usuario(1, 1234567890, "Darwin", "darwin", "heatherc", "heatherc", "darwin@hotmail.com");
            Usuario user2 = new Usuario(2, 0987654321,"Coroline", "caroline", "carolinec", "carolinec", "caroline@hotmail.com");
            usuarios.Add(user1);
            usuarios.Add(user2);
            list_Usuarios.Items.Add(user1);
            list_Usuarios.Items.Add(user2);
        }

        public void limpiarTexto()
        {
            txt_Ci.Clear();
            txt_Nombre.Text = " ";
            txt_Login.Text = " ";
            txt_Password.Text = " ";
            txt_Repassword.Text = " ";
            txt_Correo.Clear();
            lbl_Login.Text = " ";
        }

        private void txt_Ci_KeyPress(object sender, KeyPressEventArgs e)
        {
            txt_Ci.MaxLength = 10;
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsSeparator(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
        }

        private void txt_Login_LostFocus(object sender, EventArgs e)
        {
            var loginIngreso = txt_Login.Text;
            foreach (var a in usuarios)
            {
                if (a.Login == loginIngreso)
                {
                    lbl_Login.Text = "Usuario Existente";
                    txt_Login.Focus();
                }
                else
                {
                    lbl_Login.Text = "Usuario Valido";
                }
            }
        }

        private void txt_Password_LostFocus(object sender, EventArgs e)
        {
            int cont;
            string password = txt_Password.Text;
            System.Text.StringBuilder contrasenia = new System.Text.StringBuilder(password);

            for (int i = 0; i < contrasenia.Length; i++)
            {
                cont = 0;
                if (System.Char.IsNumber(contrasenia[i]))
                {
                    if (cont > 0 && contrasenia.Length > 8)
                    {
                        cont++;
                    }
                    lbl_Password.Text = "Contraseña Valida";
                    break;

                }
                else
                {
                    lbl_Password.Text = "Contraseña invalida";
                }
            }
        }

        private void txt_Repassword_LostFocus(object sender, EventArgs e)
        {
            if (txt_Repassword.Text != txt_Password.Text)
            {
                lbl_Confirmacion.Text = "Password Incorrecta";
                //txt_Repassword.Focus();
            }

            else
            {
                lbl_Confirmacion.Text = " ";
            }

        }

        private void txt_Correo_TextChanged(object sender, EventArgs e)
        {
            if (email_bien_escrito(txt_Correo.Text))
            {
                lbl_Correo.Text = "E-Mail Correcto";
            }
            else
            {
                lbl_Correo.Text = "E-Mail Incorrecto";
                txt_Correo.Focus();
            }
        }
        private Boolean email_bien_escrito(String email)
        {
            String expresion;
            expresion = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
            if (Regex.IsMatch(email, expresion))
            {
                if (Regex.Replace(email, expresion, String.Empty).Length == 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            else
            {
                return false;
            }
        }

        private void btn_Agregar_Click(object sender, EventArgs e)
        {
            try
            {
                contador = contador + 1;
                lbl_Id.Text = Convert.ToString(contador+3);
                Usuario user = new Usuario(Convert.ToInt32(lbl_Id.Text),Convert.ToInt32(txt_Ci.Text), txt_Nombre.Text, txt_Login.Text, txt_Password.Text, txt_Repassword.Text,txt_Correo.Text);
                user.Id = Convert.ToInt32(lbl_Id.Text)-1;
                usuarios.Add(user);
                list_Usuarios.Items.Add(user);
                limpiarTexto();


            }
            catch (System.NullReferenceException) // cuando se captura la excepcion
            {
                //Console.WriteLine("Hay un error al añadir un Usuario");
                MessageBox.Show("Hay un error al añadir un Usuario");
            }

            finally
            {
                MessageBox.Show("Se termino el proceso de adicion de Usuarios");
            }
        }

        private void btn_Login_Click(object sender, EventArgs e)
        {
            Hide();
            Login lo = new Login();
            lo.User = this.Usuarios;
            lo.Show();
        }

 * ///////////////////////////////////////////////////////////////////////////////////
 * //////////////////////LOGIN////////////////////////////////////////////////////
 * private List<Usuario> user = new List<Usuario>();

        internal List<Usuario> User
        {
            get { return user; }
            set { user = value; }
        }

        public Login()
        {
            InitializeComponent();
        }

        public bool validar()
        {
            bool login = false;
            foreach (var ingreso in user)
            {
                if (txt_Login.Text == ingreso.Login && txt_Password.Text == ingreso.Password)
                {
                    login = true;
                    MessageBox.Show("Ingreso Existoso.");
                        break;
                }
            }
            return login;
        }

        private void btn_Ingresar_Click(object sender, EventArgs e)
        {
            if (validar())
            {
                Hide();
                Form1 x = new Form1();
                x.Show();
            }
            else {
                MessageBox.Show("Error de Ingreso");
            }
        }

        private void btn_Salir_Click(object sender, EventArgs e)
        {
            Hide();
            Form1 ing = new Form1();
            ing.Show();
        }
 * ///////////////////////////////////////////////////////////////////////////////////////////////////////
 * ////////////////////////////////////////////////////////////////////////////////////////////////////////
 * /////////////////////////////////HERENCIA DE AGENDA////////////////////////////////
 * public class Actividad: Agenda
    {
        private int id_Actividad;

        public int Id_Actividad
        {
            get { return id_Actividad; }
            set { id_Actividad = value; }
        }
        private String descripcion_Actividad;

        public String Descripcion_Actividad
        {
            get { return descripcion_Actividad; }
            set { descripcion_Actividad = value; }
        }
        private String fechaInicio;

        public String FechaInicio
        {
            get { return fechaInicio; }
            set { fechaInicio = value; }
        }
        private String fechaFin;

        public String FechaFin
        {
            get { return fechaFin; }
            set { fechaFin = value; }
        }
        private String horaInicio;

        public String HoraInicio
        {
            get { return horaInicio; }
            set { horaInicio = value; }
        }
        private String horaFin;

        public String HoraFin
        {
            get { return horaFin; }
            set { horaFin = value; }
        }
        private String lugar;

        public String Lugar
        {
            get { return lugar; }
            set { lugar = value; }
        }

        public Actividad(int iniId, String iniDescripcion, String iniActividad, int iniId_Actividad, String iniDescrpcion_Actividad, String iniFechaIni, String iniFechaFin, String iniHoraIni, String iniHoraFin, String iniLugar): base(iniId,iniDescripcion,iniActividad)
        {
            Id_Actividad = iniId_Actividad;
            Descripcion_Actividad = iniDescrpcion_Actividad;
            FechaInicio = iniFechaIni;
            FechaFin = iniFechaFin;
            HoraInicio = iniHoraIni;
            HoraFin = iniHoraFin;
            Lugar = iniLugar;
        }
    }
 * \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
 * \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
 * ////////////////////////////////////////AGENDA//////////////////////////////////////////////////////////////////
 * List<Agenda> lista_Agenda = new List<Agenda>();
        List<Actividad> lista_Actividad = new List<Actividad>();
        int contador;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            timer_Hora.Enabled = true;
            timer_Hora.Interval = 1000;
            this.Ini_Load();
        }

        public void Ini_Load()
        {
            txt_Titulo.Enabled = false;
            txt_Descripcion.Enabled = false;
            txt_Lugar.Enabled = false;
            txt_HoraIni.Enabled = false;
            txt_HoraFin.Enabled = false;
            dateTimePickerIni.Enabled = false;
            dateTimePickerFin.Enabled = false;
            btn_Guardar.Enabled=false;
        }
        public void Ini_Button()
        {
            txt_Titulo.Enabled = true;
            txt_Descripcion.Enabled = true;
            txt_Lugar.Enabled = true;
            txt_HoraIni.Enabled = true;
            txt_HoraFin.Enabled = true;
            dateTimePickerIni.Enabled = true;
            dateTimePickerFin.Enabled = true;
            btn_Guardar.Enabled = true;
            //txt_HoraIni.Text = dateTimePickerIni.Value.ToShortTimeString();
            //txt_HoraFin.Text = dateTimePickerFin.Value.ToShortTimeString();
        }
        public void Limpiartexto()
        {
            txt_Titulo.Clear();
            txt_Descripcion.Clear();
            txt_Lugar.Clear();
            txt_HoraIni.Clear();
            txt_HoraFin.Clear();
        }

        private void timer_Hora_Tick(object sender, EventArgs e)
        {
            lbl_Hora.Text = DateTime.Now.ToShortTimeString();
            lbl_Fecha.Text = DateTime.Now.ToShortDateString();
        }
        public void rsta()
        {
            TimeSpan x = dateTimePickerFin.Value - dateTimePickerIni.Value;
         
            if (x.Days <= -1)
            {

                MessageBox.Show("Fecha Erronea de " + x.Days.ToString() + " días, verifique Fecha Final ");
                dateTimePickerFin.Focus();
            }
            else
            {
                MessageBox.Show("Evento a realizarse dentro de " + x.Days.ToString() + " días");
            }
        }

        private void dateTimePickerIni_ValueChanged(object sender, EventArgs e)
        {
            //txt_HoraIni.Text = dateTimePickerIni.Value.ToShortTimeString();
        }

        private void dateTimePickerFin_ValueChanged(object sender, EventArgs e)
        {
            //txt_HoraFin.Text = dateTimePickerFin.Value.ToShortTimeString();
        }

        public void Guardar()
        {
            contador = contador + 1;
            lbl_Id.Text = Convert.ToString(contador + 1);        
            Actividad actividad1 = new Actividad(Convert.ToInt32(lbl_Id.Text), txt_Titulo.Text,txt_Descripcion.Text, Convert.ToInt32(contador+1), txt_Descripcion.Text,Convert.ToString(dateTimePickerIni.Text),Convert.ToString(dateTimePickerFin.Text),txt_HoraIni.Text,txt_HoraFin.Text,txt_Lugar.Text);
            actividad1.Id = Convert.ToInt32(lbl_Id.Text) - 1;
            lista_Agenda.Add(actividad1);
            lst_Agenda.Items.Add(actividad1);
            this.rsta();

            //ACTUALIZAR LA LISTA
            lst_Agenda.Items.Remove(lst_Agenda.SelectedItem);

        }

        private void lst_Agenda_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                foreach (Actividad ingresada in lst_Agenda.SelectedItems)
                {
                    txt_Titulo.Text = ((Actividad)lst_Agenda.SelectedItem).Descripcion;
                    txt_Descripcion.Text = ((Actividad)lst_Agenda.SelectedItem).Descripcion_Actividad;
                    txt_Lugar.Text = ((Actividad)lst_Agenda.SelectedItem).Lugar;
                    dateTimePickerIni.Text = ((Actividad)lst_Agenda.SelectedItem).FechaInicio;
                    dateTimePickerFin.Text = ((Actividad)lst_Agenda.SelectedItem).FechaFin;
                    txt_HoraIni.Text = ((Actividad)lst_Agenda.SelectedItem).HoraInicio;
                    txt_HoraFin.Text = ((Actividad)lst_Agenda.SelectedItem).HoraFin;
                    this.Ini_Button();
                    btn_Nuevo.Enabled = false;
                    btn_Eliminar.Enabled = true;
                }
            }
            catch (System.NullReferenceException)
            {
             
            }
        }

        private void btn_Nuevo_Click(object sender, EventArgs e)
        {
            this.Ini_Button();
            btn_Nuevo.Enabled = false;
            btn_Eliminar.Enabled = false;
            txt_HoraIni.Text = "07:00";
            txt_HoraFin.Text = "08:00";
        }

        private void btn_Guardar_Click(object sender, EventArgs e)
        {
            //this.rsta();
            try
            {
                if (txt_Titulo.Text == " " || txt_Descripcion.Text == " " || txt_Lugar.Text == "" ||
                txt_HoraIni.Text == "" || txt_HoraFin.Text == "")
                {
                    lbl_LleanarCampos.Text = "NOTA: Ingresar todos los campos obligatoriamente.";
                }
                else
                {
                    this.Guardar();
                    this.Ini_Load();
                    this.Limpiartexto();
                    btn_Nuevo.Enabled = true;
                    lbl_LleanarCampos.Text = " ";
                }
            }
            catch (System.NullReferenceException)
            {
                MessageBox.Show("Error al Ingresar Agenda");
            }

            /*finally
            {
                MessageBox.Show("Agenda Ingresada Exitosamente");
            }*/
        }
/*
        private void btn_Eliminar_Click(object sender, EventArgs e)
        {
            this.Ini_Load();
            btn_Nuevo.Enabled = true;
            this.Limpiartexto();
            lst_Agenda.Items.Remove(lst_Agenda.SelectedItem);
        }

        private void btn_Cancelar_Click(object sender, EventArgs e)
        {
            this.Ini_Load();
            btn_Nuevo.Enabled = true;
            this.Limpiartexto();
            lst_Agenda.ClearSelected();
        }

        private void btn_Salir_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void btn_imprimir_Click(object sender, EventArgs e)
        {
            foreach (Agenda lista in this.lista_Agenda)
            {
                Console.WriteLine(lista);
            }
        }
 *


*/