private bool Validar()  //Funcion que valida todo el registro
        {
            bool paso = true;

            MyErrorProvider.Clear();
            if (DescripcionTextBox.Text == string.Empty)
            {
                MyErrorProvider.SetError(DescripcionTextBox, "El campo \"Descripcion\" no puede estar vacio"); // Validando que la descripcion no este vacia
                DescripcionTextBox.Focus();
                paso = false;
            }
            if (TiposTrabajosBLL.Existe(DescripcionTextBox.Text) == true) // Validando que la descripcon no exista
            {
                MyErrorProvider.SetError(DescripcionTextBox, "Este tipo de trabajo ya existe");
                DescripcionTextBox.Focus();
                paso = false;
            }
            if (FechaCreacionDateTimePicker.Value > DateTime.Now) // Validando que la fecha de creacion no sea mayor a la actual
            {
                MyErrorProvider.SetError(FechaCreacionDateTimePicker, "La fecha de ingreso no puede ser mayor a la fecha actual");
                FechaCreacionDateTimePicker.Focus();
                paso = false;
            }

            return(paso);
        }
        private void GuardarButton_Click(object sender, EventArgs e) // Boton Guardar
        {
            RepositorioBase <TiposTrabajos> Repositorio = new RepositorioBase <TiposTrabajos>();
            TiposTrabajos TipoTrabajo;
            bool          paso = false;

            if (!Validar())
            {
                return;
            }
            TipoTrabajo = LlenaClase();

            RepositorioBase <TiposTrabajos> Repositorio2 = new RepositorioBase <TiposTrabajos>();
            TiposTrabajos TipoTrabajo2;
            int           id;

            int.TryParse(TipoTrabajoIdNumericUpDown.Text, out id);
            TipoTrabajo2 = Repositorio2.Buscar(id);

            if (TipoTrabajoIdNumericUpDown.Value == 0)
            {
                if (TiposTrabajosBLL.Existe(DescripcionTextBox.Text) == true) // Validando que el tipo de trabajo no exista, en caso de ser nuevo
                {
                    MyErrorProvider.SetError(DescripcionTextBox, "Ya este tipo de trabajo existe");
                    DescripcionTextBox.Focus();
                    return;
                }
                else
                {
                    paso = Repositorio.Guardar(TipoTrabajo);
                    MessageBox.Show("Tipo de trabajo guardado!", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Limpiar();
                }
            }
            else
            {
                if (!ExisteEnLaBaseDeDatos())
                {
                    MessageBox.Show("No se puede modificar un tipo de trabajo que no existe", "Fallo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                else if (TiposTrabajosBLL.Existe(DescripcionTextBox.Text) == true && string.Equals(Convert.ToString(TipoTrabajo.Descripcion), Convert.ToString(TipoTrabajo2.Descripcion)) == false) // Validando que el tipo de trabajo no exista, en caso de ser estar modificando
                {
                    MyErrorProvider.SetError(DescripcionTextBox, "Ya este tipo de trabajo existe");
                    DescripcionTextBox.Focus();
                    return;
                }
                else if (MessageBox.Show("Esta seguro que desea modificar este tipo de trabajo?", "Advertencia", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) == DialogResult.OK)
                {
                    paso = Repositorio.Modificar(TipoTrabajo);
                    MessageBox.Show("Tipo de trabajo modificado!", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Limpiar();
                }
                else
                {
                    return;
                }
            }
            if (!paso)
            {
                MessageBox.Show("Error al guardar", "Fallo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }