public DataSet GetAll2(string empresaid, tb_t1_caja BE)
 {
     using (SqlConnection cnx = new SqlConnection(conex.empConexion(empresaid)))
     {
         using (SqlCommand cmd = new SqlCommand("gspTbT1Tarjeta_SEARCH2", cnx))
         {
             DataSet ds = new DataSet();
             {
                 cmd.CommandType = CommandType.StoredProcedure;
                 //cmd.Parameters.Add("@tarjetaid", SqlDbType.Int).Value = BE.tarjetaid;
                 //cmd.Parameters.Add("@tarjetaname", SqlDbType.VarChar, 50).Value = BE.tarjetaname;
                 //cmd.Parameters.Add("@filtro", SqlDbType.Char, 1).Value = BE.filtro;
             }
             try
             {
                 cnx.Open();
                 using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                 {
                     da.Fill(ds);
                 }
                 return ds;
             }
             catch (Exception ex)
             {
                 throw new Exception(ex.Message);
             }
         }
     }
 }
 public bool Delete(string empresaid, tb_t1_caja BE)
 {
     using (SqlConnection cnx = new SqlConnection(conex.empConexion(empresaid)))
     {
         using (SqlCommand cmd = new SqlCommand("gspTbT1Tarjeta_DELETE", cnx))
         {
             {
                 cmd.CommandType = CommandType.StoredProcedure;
                 //cmd.Parameters.Add("@tarjetaid", SqlDbType.Int).Value = BE.tarjetaid;
             }
             try
             {
                 cnx.Open();
                 if (cmd.ExecuteNonQuery() > 0)
                 {
                     return true;
                 }
                 else
                 {
                     return false;
                 }
             }
             catch (Exception ex)
             {
                 throw new Exception(ex.Message);
             }
         }
     }
 }
 public DataSet DetalleActual(string empresaid, tb_t1_caja BE)
 {
     using (SqlConnection cnx = new SqlConnection(conex.empConexion(empresaid)))
     {
         using (SqlCommand cmd = new SqlCommand("gspTbT1Cajadet_SEARCH_ACT", cnx))
         {
             DataSet ds = new DataSet();
             {
                 cmd.CommandType = CommandType.StoredProcedure;
                 cmd.Parameters.Add("@moduloid", SqlDbType.Char, 4).Value = BE.moduloid;
                 cmd.Parameters.Add("@local", SqlDbType.Char, 3).Value = BE.local;
                 cmd.Parameters.Add("@fecha", SqlDbType.DateTime).Value = BE.fecha;
                 cmd.Parameters.Add("@filtro", SqlDbType.Char, 1).Value = BE.filtro;
             }
             try
             {
                 cnx.Open();
                 using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                 {
                     da.Fill(ds);
                 }
                 return ds;
             }
             catch (Exception ex)
             {
                 throw new Exception(ex.Message);
             }
         }
     }
 }
        private DataTable liquidacioncaja()
        {
            var dt = new DataTable();
            try
            {
                var BL = new tb_t1_cajaBL();
                var BE = new tb_t1_caja();

                BE.moduloid = moduloid.Trim();
                BE.local = local;
                BE.fecha = Convert.ToDateTime(fechafin);
                BE.filtro = "1";

                dt = BL.DetalleActual(VariablesPublicas.EmpresaID.ToString(), BE).Tables[0];
                if (dt != null)
                {
                    return dt;
                }
                else
                {
                    return dt;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void Modificar()
        {
            if (Valido())
            {
                try
                {
                    var BE = new tb_t1_caja();
                    var BL = new tb_t1_cajaBL();

                    BE.moduloid = modulo.ToString();
                    BE.local = local.ToString();
                    BE.fecha = Convert.ToDateTime(fecha.Text);
                    BE.tcambio = Convert.ToDecimal(txttcambio.Text);
                    BE.adminid = idadmin.Text.ToString();
                    BE.cajeroid = idcajero.Text.ToString();
                    BE.apertura1 = Convert.ToDecimal(dgb_liquidacion.GetRowCellValue(1, "importe1").ToString().Trim());
                    BE.apertura2 = Convert.ToDecimal(dgb_liquidacion.GetRowCellValue(1, "importe2").ToString().Trim());
                    BE.cierre1 = Convert.ToDecimal(saldomn.Text);
                    BE.cierre2 = Convert.ToDecimal(saldome.Text);
                    BE.cerrado = chkcerrado.Checked;
                    BE.usuar = VariablesPublicas.Usuar.Trim();

                    if (TablaLiquidacion_modal != null)
                    {
                        TablaLiquidacion_modal.Clear();
                    }

                    for (var i = 0; i < dgb_liquidacion.RowCount; i++)
                    {
                        row = TablaLiquidacion_modal.NewRow();
                        row["moduloid"] = modulo.ToString();
                        row["local"] = local.ToString();
                        row["fecha"] = Convert.ToDateTime(fecha.Text);
                        row["conceptoid"] = dgb_liquidacion.GetRowCellValue(i, "conceptoid").ToString().Trim();
                        row["glosa"] = dgb_liquidacion.GetRowCellValue(i, "glosa").ToString().Trim();
                        row["cajaaccionid"] = dgb_liquidacion.GetRowCellValue(i, "cajaaccionid").ToString().Trim();
                        row["importe1"] = dgb_liquidacion.GetRowCellValue(i, "importe1").ToString().Trim();
                        row["importe2"] = dgb_liquidacion.GetRowCellValue(i, "importe2").ToString().Trim();
                        row["usuar"] = VariablesPublicas.Usuar.Trim();

                        TablaLiquidacion_modal.Rows.Add(row);
                    }

                    StringWriter sw = new StringWriter();
                    TablaLiquidacion_modal.WriteXml(sw);
                    string result = sw.ToString();

                    if (BL.Update(EmpresaID, BE, TablaLiquidacion_modal))
                    {
                        MessageBox.Show("Datos Modificados Correctamente !!!", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        bloquear(false);
                        btnNew.Enabled = true;
                        btnPrint.Enabled = true;
                        btnInicio.Enabled = true;
                        btnAnterior.Enabled = true;
                        btnSiguiente.Enabled = true;
                        btnUltimo.Enabled = true;
                        btnExit.Enabled = true;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        private void form_cargar_datos(String posicion)
        {
            try
            {
                limpiar();
                var BL = new tb_t1_cajaBL();
                var BE = new tb_t1_caja();
                var dt = new DataTable();

                if (fecha.Text.Trim().Length == 0)
                {
                    if (posicion.Trim().Length > 0)
                    {
                        MessageBox.Show("Indicar Una Fecha !!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    return;
                }

                BE.moduloid = modulo.ToString().Trim();
                BE.local = local.Trim();
                BE.fecha = Convert.ToDateTime(fecha.Text);
                BE.posicion = posicion.Trim();

                dt = BL.GetAll_paginacion(EmpresaID, BE).Tables[0];

                if (dt.Rows.Count > 0)
                {
                    limpiar();
                    ssModo = "EDIT";

                    loc_id.Text = dt.Rows[0]["local"].ToString().Trim();
                    ValidaLocal(loc_id.Text);
                    idadmin.Text = dt.Rows[0]["adminid"].ToString().Trim();
                    ValidaPersona(idadmin.Text);
                    idcajero.Text = dt.Rows[0]["cajeroid"].ToString().Trim();
                    ValidaPerson2(idcajero.Text);
                    txttcambio.Text = dt.Rows[0]["tcambio"].ToString().Trim();
                    fecha.EditValue = Convert.ToDateTime(dt.Rows[0]["fecha"].ToString());

                    fecha_TextChanged(fecha.Text, new EventArgs());
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void fecha_TextChanged(object sender, EventArgs e)
        {
            get_tipocambio(fecha.Text);
            try
            {
                var BE = new tb_t1_caja();
                var BL = new tb_t1_cajaBL();

                BE.moduloid = modulo.ToString();
                BE.local = local.ToString();
                BE.fecha = Convert.ToDateTime(fecha.Text);
                BE.filtro = "1";

                if (TablaLiquidacion != null)
                {
                    TablaLiquidacion.Clear();
                }

                TablaLiquidacion = BL.DetalleActual(EmpresaID, BE).Tables[0];

                if (TablaLiquidacion.Rows.Count > 0)
                {
                    MDI_dgb_liquidacion.DataSource = TablaLiquidacion;
                }
                else
                {
                    MDI_dgb_liquidacion.DataSource = _CargarDetalle();
                }

                bloquear(true);
                MDI_dgb_liquidacion.Enabled = false;
                btnSave.Enabled = false;
                _CargarVentas(Convert.ToDateTime(fecha.Text));
                ConsultaDatos();
                _CalcularTotales("importe1");
                _CalcularTotales("importe2");
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void ConsultaDatos()
        {
            var BE = new tb_t1_caja();
            var BL = new tb_t1_cajaBL();
            var dt = new DataTable();

            BE.moduloid = modulo;
            BE.local = local;
            BE.fecha = Convert.ToDateTime(fecha.Text);

            dt = BL.GetAllCab(EmpresaID, BE).Tables[0];
            if (dt.Rows.Count > 0)
            {
                loc_id.Text = dt.Rows[0]["local"].ToString().Trim();
                ValidaLocal(loc_id.Text);
                idadmin.Text = dt.Rows[0]["adminid"].ToString().Trim();
                ValidaPersona(idadmin.Text);
                idcajero.Text = dt.Rows[0]["cajeroid"].ToString().Trim();
                ValidaPerson2(idcajero.Text);
                chkcerrado.Checked = Convert.ToBoolean(dt.Rows[0]["cerrado"].ToString() == "True" ? 1 : 0);

                btnNew.Enabled = false;
                btnEdit.Enabled = !Convert.ToBoolean(dt.Rows[0]["cerrado"].ToString() == "True" ? 1 : 0);

                idadmin.Enabled = false;
                idcajero.Enabled = false;
                txttcambio.Enabled = false;

            }
            else
            {
                bloquear(false);
            }
            fecha.Enabled = true;
        }
 public bool UpdateApertura(string empresaid, tb_t1_caja BE)
 {
     using (SqlConnection cnx = new SqlConnection(conex.empConexion(empresaid)))
     {
         using (SqlCommand cmd = new SqlCommand("gspTbT1Caja_UPDATE_apertura", cnx))
         {
             {
                 cmd.CommandType = CommandType.StoredProcedure;
                 cmd.Parameters.Add("@moduloid", SqlDbType.Char, 4).Value = BE.moduloid;
                 cmd.Parameters.Add("@local", SqlDbType.Char, 3).Value = BE.local;
                 cmd.Parameters.Add("@fecha", SqlDbType.DateTime).Value = BE.fecha;
                 cmd.Parameters.Add("@apertura1", SqlDbType.Decimal).Value = BE.apertura1;
                 cmd.Parameters.Add("@apertura2", SqlDbType.Decimal).Value = BE.apertura2;
                 cmd.Parameters.Add("@cerrado", SqlDbType.Bit).Value = BE.cerrado;
                 cmd.Parameters.Add("@usuar", SqlDbType.Char, 15).Value = BE.usuar;
             }
             try
             {
                 cnx.Open();
                 if (cmd.ExecuteNonQuery() > 0)
                 {
                     return true;
                 }
                 else
                 {
                     return false;
                 }
             }
             catch (Exception ex)
             {
                 throw new Exception(ex.Message);
             }
         }
     }
 }
        public bool Insert(string empresaid, tb_t1_caja BE, DataTable DatDetalle)
        {
            using (SqlConnection cnx = new SqlConnection(conex.empConexion(empresaid)))
            {
                using (SqlCommand cmd = new SqlCommand("gspTbT1Caja_INSERT", cnx))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add("@moduloid", SqlDbType.Char,4).Value = BE.moduloid;
                    cmd.Parameters.Add("@local", SqlDbType.Char,3).Value = BE.local;
                    cmd.Parameters.Add("@fecha", SqlDbType.DateTime).Value = BE.fecha;
                    cmd.Parameters.Add("@tcambio", SqlDbType.Decimal).Value = BE.tcambio;
                    cmd.Parameters.Add("@adminid", SqlDbType.Char,4).Value = BE.adminid;
                    cmd.Parameters.Add("@cajeroid", SqlDbType.Char,4).Value = BE.cajeroid;
                    cmd.Parameters.Add("@apertura1", SqlDbType.Decimal).Value = BE.apertura1;
                    cmd.Parameters.Add("@apertura2", SqlDbType.Decimal).Value = BE.apertura2;
                    cmd.Parameters.Add("@cierre1", SqlDbType.Decimal).Value = BE.cierre1;
                    cmd.Parameters.Add("@cierre2", SqlDbType.Decimal).Value = BE.cierre2;
                    cmd.Parameters.Add("@cerrado", SqlDbType.Bit).Value = BE.cerrado;
                    cmd.Parameters.Add("@usuar", SqlDbType.Char,15).Value = BE.usuar;

                    // Detalle
                    cmd.Parameters.AddWithValue("@DetalleImp", DatDetalle);

                    try
                    {
                        cnx.Open();
                        if (cmd.ExecuteNonQuery() > 0)
                        {
                            return true;
                        }
                        else
                        {
                            return false;
                        }
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }
                }
            }
        }
        private bool cajacerrada()
        {
            bool lSigo = false;
            try
            {
                var BE = new tb_t1_caja();
                var BL = new tb_t1_cajaBL();

                DataTable dt = new DataTable();

                BE.moduloid = modulo.ToString();
                BE.local = local.ToString();
                BE.fecha = Convert.ToDateTime(fechdoc.Text);

                dt = BL.GetAllCab(VariablesPublicas.EmpresaID, BE).Tables[0];
                if (dt.Rows.Count>0)
                {
                    lSigo = Convert.ToBoolean(dt.Rows[0]["cerrado"].ToString());
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            return lSigo;
        }
        private void btn_aperturar_Click(object sender, EventArgs e)
        {
            try
            {
                var BE = new tb_t1_caja();
                var BL = new tb_t1_cajaBL();

                BE.moduloid = modulo.ToString();
                BE.local = local.ToString();
                BE.fecha = Convert.ToDateTime(fecha.Text);
                BE.tcambio = Convert.ToDecimal(txttcambio.Text);
                //BE.adminid = idadmin.Text.ToString();
                //BE.cajeroid = idcajero.Text.ToString();
                BE.apertura1 = monedan.Text.Trim() == "" ? 0 : Convert.ToDecimal(monedan.Text);
                BE.apertura2 = monedae.Text.Trim() == "" ? 0 : Convert.ToDecimal(monedae.Text);
                BE.cierre1 = 0;
                BE.cierre2 = 0;
                //BE.cerrado = chkcerrado.Checked;
                BE.usuar = VariablesPublicas.Usuar.Trim();

                if (TablaLiquidacion_modal != null)
                {
                    TablaLiquidacion_modal.Clear();
                }

                for (var i = 0; i < TablaLiquidacion.Rows.Count; i++)
                {
                    row = TablaLiquidacion_modal.NewRow();
                    row["moduloid"] = modulo.ToString();
                    row["local"] = local.ToString();
                    row["fecha"] = Convert.ToDateTime(fecha.Text);
                    row["conceptoid"] = TablaLiquidacion.Rows[i]["conceptoid"].ToString().Trim();
                    row["glosa"] = TablaLiquidacion.Rows[i]["glosa"].ToString().Trim();
                    row["cajaaccionid"] = TablaLiquidacion.Rows[i]["cajaaccionid"].ToString().Trim();
                    row["importe1"] = TablaLiquidacion.Rows[i]["importe1"].ToString().Trim();
                    row["importe2"] = TablaLiquidacion.Rows[i]["importe2"].ToString().Trim();
                    row["fecre"] = DateTime.Today;
                    row["feact"] = DateTime.Today;
                    row["usuar"] = VariablesPublicas.Usuar.Trim();

                    TablaLiquidacion_modal.Rows.Add(row);
                }

                TablaLiquidacion_modal.Rows[0]["importe1"] = monedan.Text.Trim() == "" ? 0 : Convert.ToDecimal(monedan.Text);
                TablaLiquidacion_modal.Rows[0]["importe2"] = monedae.Text.Trim() == "" ? 0 : Convert.ToDecimal(monedae.Text);

                TablaLiquidacion_modal.Rows[1]["importe1"] = monedan.Text.Trim() == "" ? 0 : Convert.ToDecimal(monedan.Text);
                TablaLiquidacion_modal.Rows[1]["importe2"] = monedae.Text.Trim() == "" ? 0 : Convert.ToDecimal(monedae.Text);

                if (BL.Insert(EmpresaID, BE, TablaLiquidacion_modal))
                {
                    MessageBox.Show("Datos Grabados Correctamente !!!", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    bloquear(false);
                    btn_nuevo.Enabled = true;
                    //btn_grabar.Enabled = true;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void get_cajas()
        {
            try
            {
                var BE = new tb_t1_caja();
                var BL = new tb_t1_cajaBL();

                BE.moduloid = modulo.ToString();
                BE.local = local.ToString();

                gridControl1.DataSource = BL.GetAllCab(VariablesPublicas.EmpresaID, BE).Tables[0];

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void fecha_DateTimeChanged(object sender, EventArgs e)
        {
            get_tipocambio(fecha.Text);
            try
            {
                var BE = new tb_t1_caja();
                var BL = new tb_t1_cajaBL();

                BE.moduloid = modulo.ToString();
                BE.local = local.ToString();
                BE.fecha = Convert.ToDateTime(fecha.Text);
                BE.filtro = "1";

                if (TablaLiquidacion != null)
                {
                    TablaLiquidacion.Clear();
                }

                TablaLiquidacion = _CargarDetalle();

                //if (TablaLiquidacion.Rows.Count > 0)
                //{
                //    gridControl1.DataSource = TablaLiquidacion;
                //}
                //else
                //{
                //    gridControl1.DataSource = _CargarDetalle();
                //}

                bloquear(true);
                //MDI_dgb_liquidacion.Enabled = false;
                //btnSave.Enabled = false;
                _CargarVentas(Convert.ToDateTime(fecha.Text));
                //ConsultaDatos();
                //_CalcularTotales("importe1");
                //_CalcularTotales("importe2");
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void btn_modificar_Click(object sender, EventArgs e)
        {
            try
            {
                var BE = new tb_t1_caja();
                var BL = new tb_t1_cajaBL();

                BE.moduloid = modulo.ToString();
                BE.local = local.ToString();
                BE.fecha = Convert.ToDateTime(fecha.Text);
                BE.apertura1 = Convert.ToDecimal(monedan.Text);

                BE.cerrado = chkcerrado.Checked;
                BE.usuar = VariablesPublicas.Usuar.Trim();

                if (BL.UpdateApertura(EmpresaID, BE))
                {
                    MessageBox.Show("Datos Grabados Correctamente, ojo tiene que editar y grabar nuevamente la liquidación de caja de esta fecha !!!", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    bloquear(false);
                    btn_nuevo.Enabled = true;
                    //btn_grabar.Enabled = true;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }