public int Insertar(Standar standar)
 {
     SqlConnection conexion = new SqlConnection("Data Source=(local) ;Initial Catalog=BdSanJuanEficienciaPlanta; User=eaurazoc; Password=45038264; Connect Timeout=60000");
     //SqlConnection conexion = new SqlConnection(@"Data Source=HRUIZS\SQLEXPRESS ;Initial Catalog=BdSanJuanEficienciaPlanta; User=eaurazoc; Password=45038264; Connect Timeout=60000");
     SqlCommand comando = conexion.CreateCommand();
     comando.CommandType = CommandType.StoredProcedure;
     comando.CommandText = "pa_insertarStandar";
     comando.CommandTimeout = 0;
     Util.AgregarParametro(ref comando, "@IdEstandar", ParameterDirection.Output, SqlDbType.Int, null);
     Util.AgregarParametro(ref comando, "@idarea", ParameterDirection.Input, SqlDbType.NVarChar, 2, standar.IdArea);
     Util.AgregarParametro(ref comando, "@HorasTrabajadas", ParameterDirection.Input, SqlDbType.Decimal, 17, 2, standar.HorasTrabajadas);
     Util.AgregarParametro(ref comando, "@Estandar", ParameterDirection.Input, SqlDbType.Decimal, 17, 2, standar.Estandar);
     Util.AgregarParametro(ref comando, "@EstandarExtra", ParameterDirection.Input, SqlDbType.Decimal, 17, 2, standar.EstandarExtra);
     Util.AgregarParametro(ref comando, "@Jornal", ParameterDirection.Input, SqlDbType.Decimal, 17, 6, standar.Jornal);
     Util.AgregarParametro(ref comando, "@PrecioUnitario", ParameterDirection.Input, SqlDbType.Decimal, 17, 6, standar.PrecioUnitario);
     Util.AgregarParametro(ref comando, "@PrecioUnitarioExtra", ParameterDirection.Input, SqlDbType.Decimal, 17, 6, standar.PrecioUnitarioExtra);
     Util.AgregarParametro(ref comando, "@UserDecimal01", ParameterDirection.Input, SqlDbType.Decimal, 17, 6, standar.UserDecimal01);
     Util.AgregarParametro(ref comando, "@UserVarchar01", ParameterDirection.Input, SqlDbType.VarChar,50, standar.UserVarchar01);
     Util.AgregarParametro(ref comando, "@FechaInicio", ParameterDirection.Input, SqlDbType.DateTime, standar.FechaInicio);
     Util.AgregarParametro(ref comando, "@FechaFinal", ParameterDirection.Input, SqlDbType.DateTime, standar.FechaInicio);
     Util.AgregarParametro(ref comando, "@IdFormato", ParameterDirection.Input, SqlDbType.Char, 2, standar.IdFormato);
     Util.AgregarParametro(ref comando, "@EstandarPorcentajePrimerDia", ParameterDirection.Input, SqlDbType.Decimal, 17, 2, standar.EstandarPorcentajePrimerDia);
     Util.AgregarParametro(ref comando, "@EstandarPorcentajeSegundoDia", ParameterDirection.Input, SqlDbType.Decimal, 17, 2, standar.EstandarPorcentajeSegundoDia);
     Util.AgregarParametro(ref comando, "@EstandarPrimerDia", ParameterDirection.Input, SqlDbType.Decimal, 17, 2, standar.EstandarPrimerDia);
     Util.AgregarParametro(ref comando, "@EstandarSegundoDia", ParameterDirection.Input, SqlDbType.Decimal, 17, 2, standar.EstandarSegundoDia);
     Util.AgregarParametro(ref comando, "@PrecioPrimerDia", ParameterDirection.Input, SqlDbType.Decimal, 17, 6, standar.PrecioPrimerDia);
     Util.AgregarParametro(ref comando, "@PrecioSegundoDia", ParameterDirection.Input, SqlDbType.Decimal, 17, 6, standar.PrecioSegundoDia);
     int IdStandar = -1;
     try
     {
         conexion.Open();
         comando.ExecuteNonQuery();
         IdStandar = Convert.ToInt32(comando.Parameters["@IdEstandar"].Value);
     }
     catch (Exception e)
     {
         throw e;
     }
     finally
     {
         if (conexion.State == ConnectionState.Open)
             conexion.Close();
         conexion.Dispose();
     }
     return IdStandar;
 }
        private void btnGrabar_Click(object sender, EventArgs e)
        {
            if (oEditar == true)
                {
                    List<Standar> tabla = GestordeMantenimiento.Verificar_duplicidad_Estandar(Convert.ToString(this.cbarea.SelectedValue), Convert.ToDateTime(this.dtkFechaInicio.Value));
                        if (tabla.Count > 1)
                            {
                                MessageBox.Show("No puede ingresar doblemente un estandar por día en la misma área", "Mantenimiento de Estandares", MessageBoxButtons.OK);
                                return;
                            }
                    else
                        {
                        try
                            {
                                Standar oStandar = new Standar();
                                oStandar.IdStandar = Convert.ToString(this.dglistarStandares.CurrentRow.Cells[0].Value);
                                oStandar.IdArea = Convert.ToString(this.cbarea.SelectedValue);
                                oStandar.HorasTrabajadas = Convert.ToDecimal(this.txthorastrabajadas.Text);
                                oStandar.Estandar = Convert.ToDecimal(this.txtStandar.Text);
                                oStandar.EstandarExtra = Convert.ToDecimal(this.txtStandarExtra.Text);
                                oStandar.IdFormato = Convert.ToString(cbFormato.SelectedValue);
                                oStandar.Jornal = Convert.ToDecimal(this.txtJornal.Text);
                                oStandar.PrecioUnitarioExtra = Convert.ToDecimal(this.txtprecioUnitarioExtra.Text);
                                oStandar.EstandarPorcentajePrimerDia = Convert.ToDecimal(this.txtporcentaje1erdia.Text);
                                oStandar.EstandarPorcentajeSegundoDia = Convert.ToDecimal(this.txtporcentaje2dodia.Text);
                                oStandar.FechaInicio = this.dtkFechaInicio.Value;
                                oStandar.FechaFinal = this.dtkFechaFin.Value;
                                oStandar.UserDecimal01 = Convert.ToDecimal(0);
                                oStandar.UserVarchar01 = "";
                                oStandar.PrecioUnitario = Convert.ToDecimal(txtpreciounitario.Text);
                                oStandar.EstandarPrimerDia = Convert.ToDecimal(txtestandar1erdia.Text);
                                oStandar.EstandarSegundoDia = Convert.ToDecimal(txtestandar2dodia.Text);
                                oStandar.PrecioPrimerDia = Convert.ToDecimal(txtpreciounitario1erdia.Text);
                                oStandar.PrecioSegundoDia = Convert.ToDecimal(txtpreciounitario2dodia.Text);

                                GestordeMantenimiento a = new GestordeMantenimiento();
                                a.Actualizar(oStandar);
                                MessageBox.Show("Se ha actualizado correctamente", "Mantenimiento de Estandares", MessageBoxButtons.OK);
                                llenarGrid();
                                dglistarStandares.Enabled = false;
                                oEditar = false;
                            }
                        catch (Exception ex)
                            {
                                throw ex;
                            }

                    }

                }

            else
            {
                List<Standar> tabla = GestordeMantenimiento.Verificar_duplicidad_Estandar(Convert.ToString(this.cbarea.SelectedValue), Convert.ToDateTime(this.dtkFechaInicio.Value));
                    if (tabla.Count > 0)
                        {
                            MessageBox.Show("No puede registrar el grabado porque el estandar para las fechas selecionadas ya se encuentra registrada para una misma área", "Mantenimiento de Estandares", MessageBoxButtons.OK);
                            return;
                        }
                    else
                        {
                        try
                            {
                                Standar oStandar = new Standar();
                                oStandar.IdArea = Convert.ToString(this.cbarea.SelectedValue);
                                oStandar.HorasTrabajadas = Convert.ToDecimal(this.txthorastrabajadas.Text);
                                oStandar.Estandar = Convert.ToDecimal(this.txtStandar.Text);
                                oStandar.EstandarExtra = Convert.ToDecimal(this.txtStandarExtra.Text);
                                oStandar.IdFormato = Convert.ToString(cbFormato.SelectedValue);
                                oStandar.Jornal = Convert.ToDecimal(this.txtJornal.Text);
                                oStandar.PrecioUnitarioExtra = Convert.ToDecimal(this.txtprecioUnitarioExtra.Text);
                                oStandar.EstandarPorcentajePrimerDia = Convert.ToDecimal(this.txtporcentaje1erdia.Text);
                                oStandar.EstandarPorcentajeSegundoDia = Convert.ToDecimal(this.txtporcentaje2dodia.Text);
                                oStandar.FechaInicio = Convert.ToDateTime(this.dtkFechaInicio.Value);
                                oStandar.FechaFinal = Convert.ToDateTime(this.dtkFechaFin.Value);
                                oStandar.UserDecimal01 = Convert.ToDecimal(0);
                                oStandar.UserVarchar01 = "";
                                oStandar.PrecioUnitario = Convert.ToDecimal(txtpreciounitario.Text);
                                oStandar.EstandarPrimerDia = Convert.ToDecimal(txtestandar1erdia.Text);
                                oStandar.EstandarSegundoDia = Convert.ToDecimal(txtestandar2dodia.Text);
                                oStandar.PrecioPrimerDia = Convert.ToDecimal(txtpreciounitario1erdia.Text);
                                oStandar.PrecioSegundoDia = Convert.ToDecimal(txtpreciounitario2dodia.Text);
                                GestordeMantenimiento a = new GestordeMantenimiento();
                                a.Insertar(oStandar);
                                MessageBox.Show("Se han grabado correctamente los datos!", "Mantenimiento de Estandares", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                                llenarGrid();
                                dglistarStandares.Enabled = false;

                    }
                    catch (Exception ex)
                    {
                        throw ex;

                    }
                }
            }
            this.btnGrabar.Enabled = false;
            this.btnInicio.Enabled = true;
            this.btnEditar.Enabled = true;
            this.btnNuevo.Enabled = true;
        }
 public void Insertar(Standar standar)
 {
     try
         {
             StandarAD standarAD = new StandarAD();
             int idstandar = standarAD.Insertar(standar);
         }
     catch (Exception e)
         {
     throw e;
         }
 }
 public void Actualizar(Standar standar)
 {
     try
     {
         StandarAD standarAD = new StandarAD();
         int idstandar = standarAD.Actualizar(standar);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
        public List<Standar> Verificar_duplicidad_Estandar(string IdArea, DateTime FechaInicio)
        {
            SqlConnection conexion = new SqlConnection("Data Source=(local) ;Initial Catalog=BdSanJuanEficienciaPlanta; User=eaurazoc; Password=45038264; Connect Timeout=60000");
            //SqlConnection conexion = new SqlConnection(@"Data Source=HRUIZS\SQLEXPRESS ;Initial Catalog=BdSanJuanEficienciaPlanta; User=eaurazoc; Password=45038264; Connect Timeout=60000");
            SqlCommand comando = conexion.CreateCommand();
            comando.CommandType = CommandType.StoredProcedure;
            comando.CommandText = "pa_verificarStandar";
            comando.CommandTimeout = 0;
            Util.AgregarParametro(ref comando, "@idarea", ParameterDirection.Input, SqlDbType.NVarChar, 2, IdArea);
            Util.AgregarParametro(ref comando, "@fechainico", ParameterDirection.Input, SqlDbType.DateTime, FechaInicio);
            List<Standar> standars = new List<Standar>();
             try
                {
                    conexion.Open();
                    SqlDataReader datos = comando.ExecuteReader(CommandBehavior.CloseConnection);

                    while (datos.Read())
                        {
                        Standar standar = new Standar();
                        standar.IdArea = datos.GetString(datos.GetOrdinal("IdArea"));
                        standars.Add(standar);
                        }

                datos.Close();
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                if (conexion.State == ConnectionState.Open)
                    conexion.Close();

                conexion.Dispose();
            }

            return standars;
        }