private void button1_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.IpLocal))
            {
                this.IpLocal = DireccionIP.Local();
            }

            if (string.IsNullOrEmpty(this.IpPublica))
            {
                this.IpPublica = DireccionIP.Publica();
            }

            if (string.IsNullOrEmpty(this.SerialHDD))
            {
                this.SerialHDD = DireccionIP.SerialNumberDisk();
            }

            if (string.IsNullOrEmpty(this.Usuario))
            {
                this.Usuario = DireccionIP.SerialNumberDisk();
            }

            string validar = ValidarRequeridos();

            if (string.IsNullOrEmpty(validar))
            {
                if (dtpEventInitial.Value.Date > dtpDatenEnd.Value.Date)
                {
                    dtpDatenEnd.Value = DateTime.Now;
                    MessageBox.Show("La fecha final debe ser mayor a la inicial!");
                    return;
                }
                string mensaje = string.Empty;

                if (dataHistoryPeriodo.Rows.Count > 0)
                {
                    if (!selccionValor)
                    {
                        DateTime valorAnterior = Convert.ToDateTime(dataHistoryPeriodo.Rows[0].Cells[3].Value);
                        int      resultado     = DateTime.Compare(valorAnterior, Convert.ToDateTime(dtpEventInitial.Text));
                        if (resultado < 0)
                        {
                            resultado = DateTime.Compare(valorAnterior.AddDays(1), Convert.ToDateTime(dtpEventInitial.Text));

                            if (resultado != 0)
                            {
                                mensaje = "El nuevo periodo debe de ser un día posterior al final del anterior periodo";
                            }
                        }
                        else if (resultado == 0)
                        {
                            mensaje = "La fecha inicial del nuevo periodo conincide con la fecha final del anterior periodo";
                        }
                        else
                        {
                            mensaje = "El nuevo periodo esta en el rango de fechas del anterior periodo";
                        }

                        if (dataHistoryPeriodo.Rows[0].Cells[1].Value.ToString().Trim().Contains(string.Concat(cboAno.Text.Trim(), "-", cboMes.Text.Trim(), "-", cboPeriodo.Text.Trim())))
                        {
                            MessageBox.Show("El periodo a crear ya existe en historial, verificar coposición del periodo");
                            return;
                        }
                    }
                }
                if (!String.IsNullOrEmpty(mensaje))
                {
                    MessageBox.Show(mensaje);
                    return;
                }
                GuardarDatos   Guardar  = new GuardarDatos();
                SqlParameter[] ParamSQl = GuardarDatos.Parametros_Insertar_PeriodoPM("", Convert.ToDateTime(dtpEventInitial.Text), Convert.ToDateTime(dtpDatenEnd.Text), Convert.ToInt32(cboAno.Text), Convert.ToInt32(cboMes.Text), cboPeriodo.Text, string.IsNullOrEmpty(txtOnzasFundidas.Text.Trim().TrimEnd(',')) ? Convert.ToDecimal(0.00) : Convert.ToDecimal(txtOnzasFundidas.Text.Trim())
                                                                                     , string.IsNullOrEmpty(txtRecuperacion.Text.Trim().TrimEnd(',')) ? Convert.ToDecimal(0.00) : Convert.ToDecimal(txtRecuperacion.Text.Trim())
                                                                                     , string.IsNullOrEmpty(txtOnzasRecuperadas.Text.Trim().TrimEnd(',')) ? Convert.ToDecimal(0.00) : Convert.ToDecimal(txtOnzasRecuperadas.Text.Trim()), 1);


                if (ParamSQl[0].Value.ToString() == "I")
                {
                    Guardar.booleano("Sp_Guardar_PeriodoLiquidacion", ParamSQl);
                    MessageBox.Show("Periodo almacenado con Exito");
                    LlenarLog.Registro(DateTime.Now, this.Usuario, this.IpLocal, this.IpPublica, this.SerialHDD, Environment.MachineName, "Se creo Registro de Periodo " + string.Concat(cboAno.Text.Trim(), "-", cboMes.Text.Trim(), "-", cboPeriodo.Text.Trim()), "Movimiento Periodo creado");
                }
                else
                {
                    Guardar.booleano("Sp_Modicar_PeriodoLiquidacion", ParamSQl);
                    MessageBox.Show("Periodo actualizado con Exito");
                    LlenarLog.Registro(DateTime.Now, this.Usuario, this.IpLocal, this.IpPublica, this.SerialHDD, Environment.MachineName, "Se modifico Periodo" + string.Concat(cboAno.Text.Trim(), "-", cboMes.Text.Trim(), "-", cboPeriodo.Text.Trim()), "Movimiento Periodo  Modificar");
                }

                LimpiarCampos();
                loadPeriodo(Convert.ToInt32(cboAno.Text));
            }
            else
            {
                MessageBox.Show(validar);
            }
        }