private bool CargarAsisento(int id)
        {
            var result = true;

            var r01 = Globals.MyData.Asiento_GetById(id);

            if (r01.Result == OOB.Resultado.EnumResult.isError)
            {
                Helpers.Msg.Error(r01.Mensaje);
                return(false);
            }

            var r02 = Globals.MyData.TipoDocumento_Lista();

            if (r02.Result == OOB.Resultado.EnumResult.isError)
            {
                Helpers.Msg.Error(r02.Mensaje);
                return(false);
            }

            var r03 = Globals.MyData.Contadores_Get();

            if (r03.Result == OOB.Resultado.EnumResult.isError)
            {
                Helpers.Msg.Error(r03.Mensaje);
                return(false);
            }

            Contadores     = r03.Entidad;
            Asiento        = r01.Entidad;
            TiposDocumento = r02.Lista;
            items.Clear();
            var documento = Asiento.Documentos.FirstOrDefault();

            if (documento != null)
            {
                foreach (var cta in Asiento.Documentos.FirstOrDefault().Cuentas)
                {
                    var dt = new Detalle();
                    dt.Cta         = new OOB.Contable.PlanCta.Ficha(cta.Cuenta);
                    dt.Debe        = cta.MontoDebe;
                    dt.Haber       = cta.MontoHaber;
                    dt.Codigo      = cta.Cuenta.CodigoCta;
                    dt.Descripcion = cta.Cuenta.DescripcionCta;
                    items.Add(dt);
                }
            }
            else
            {
                Helpers.Msg.Error("NO HAY CUENTAS DEFINIDAS EN EL ASIENTO CARGADO");
                return(false);
            }

            return(result);
        }
        private void DGV_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            string msg = "";

            this.Text = msg;

            filaActual    = e.RowIndex;
            columnaActual = e.ColumnIndex;

            if (e.ColumnIndex == 0 || e.ColumnIndex == 1)
            {
                if (DGV.Rows[e.RowIndex].Cells[e.ColumnIndex].Value != null)
                {
                    var data = DGV.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
                    Buscar(data);
                }
            }
            else
            {
                if (e.RowIndex == DGV.Rows.Count - 1)
                {
                    DataGridViewRow  row        = DGV.Rows[e.RowIndex];
                    DataGridViewCell codigoCta  = row.Cells[DGV.Columns["codigo"].Index];
                    DataGridViewCell montoDebe  = row.Cells[DGV.Columns["debe"].Index];
                    DataGridViewCell montoHaber = row.Cells[DGV.Columns["haber"].Index];
                    if (IsCtaOk(codigoCta) && IsMontoOk(montoDebe, montoHaber))
                    {
                        var item = new Detalle();
                        items.Add(item);
                        try
                        {
                            DGV.CurrentCell = DGV[0, e.RowIndex + 1];
                            ActualizarSaldos();
                        }
                        catch (Exception)
                        {
                        }
                    }
                }
                else
                {
                    try
                    {
                        DGV.CurrentCell = DGV[0, e.RowIndex + 1];
                        ActualizarSaldos();
                    }
                    catch (Exception)
                    {
                    }
                }
            }
        }
        private void DGV_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyData == Keys.Home)
            {
                if (bs.Count > 0)
                {
                    bs.CurrencyManager.Position = 0;
                }
            }

            if (e.KeyData == Keys.End)
            {
                if (bs.Count > 0)
                {
                    bs.CurrencyManager.Position = bs.Count - 1;
                }
            }

            if (e.KeyData == Keys.Delete)
            {
                if (items.Count() > 1)
                {
                    var item = (Detalle)bs.Current;
                    items.Remove(item);
                }
                else
                {
                    items.Clear();
                    items.Add(new Detalle());
                }
            }

            if (e.KeyData == Keys.Down)
            {
                if (bs.CurrencyManager.Position == items.Count - 1)
                {
                    var              filaActual = bs.CurrencyManager.Position;
                    DataGridViewRow  row        = DGV.Rows[filaActual];
                    DataGridViewCell codigoCta  = row.Cells[DGV.Columns["codigo"].Index];
                    DataGridViewCell montoDebe  = row.Cells[DGV.Columns["debe"].Index];
                    DataGridViewCell montoHaber = row.Cells[DGV.Columns["haber"].Index];
                    if (IsCtaOk(codigoCta) && IsMontoOk(montoDebe, montoHaber))
                    {
                        var item = new Detalle();
                        items.Add(item);
                        DGV.CurrentCell = DGV[0, filaActual + 1];
                    }
                }
            }
        }
Exemple #4
0
        private void CargarDataAsiento(int idAsiento)
        {
            var r01 = Globals.MyData.Asiento_GetById(idAsiento);

            if (r01.Result == OOB.Resultado.EnumResult.isError)
            {
                Helpers.Msg.Error(r01.Mensaje);
                return;
            }

            Asiento = r01.Entidad;
            var Documento = Asiento.Documentos.FirstOrDefault();

            L_NUMERO.Text       = Asiento.Comprobante;
            TB_DOCUMENTO.Text   = Documento.Documento;
            TB_DESCRIPCION.Text = Documento.Descripcion;

            foreach (var cta in Documento.Cuentas.OrderBy(d => d.Cuenta.CodigoCta).ToList())
            {
                var rt = Globals.MyData.PlanCta_GetById(cta.Cuenta.IdPlanCta);
                if (rt.Result == OOB.Resultado.EnumResult.isError)
                {
                    Helpers.Msg.Error(rt.Mensaje);
                    return;
                }

                var dt = new Detalle();
                dt.Cta         = rt.Entidad;
                dt.Codigo      = rt.Entidad.Codigo;
                dt.Descripcion = rt.Entidad.Nombre;
                dt.Debe        = cta.MontoDebe;
                dt.Haber       = cta.MontoHaber;
                items.Add(dt);
            }

            var debe  = items.Sum(d => d.Debe);
            var haber = items.Sum(d => d.Haber);

            L_DIF_DEBE.Text        = debe.ToString("n2");
            L_DIF_HABER.Text       = haber.ToString("n2");
            TB_TIPO_ASIENTO.Text   = Asiento.TipoAsientoDesc;
            TB_TIPO_DOCUMENTO.Text = Asiento.TipoDocumentoDescripcion;
            TB_DE_FECHA.Text       = Asiento.FechaEmision.ToShortDateString();
        }
        private void Agregar_Load(object sender, EventArgs e)
        {
            L_NUMERO.Text = "";
            TB_DOCUMENTO.Select();
            L_DIF_DEBE.Text  = "";
            L_DIF_HABER.Text = "";

            //

            DGV.CellLeave                    += DGV_CellLeave;
            DGV.CellValidating               += DGV_CellValidating;
            DGV.CellEndEdit                  += DGV_CellEndEdit;
            DGV.CellEnter                    += DGV_CellEnter;
            DGV.CellBeginEdit                += DGV_CellBeginEdit;
            DGV.CellPainting                 += DGV_CellPainting;
            DGV.CellValueChanged             += DGV_CellValueChanged;
            DGV.RowValidating                += DGV_RowValidating;
            DGV.KeyDown                      += DGV_KeyDown;
            DGV.ColumnHeaderMouseDoubleClick += DGV_ColumnHeaderMouseDoubleClick;

            DGV.AutoGenerateColumns   = false;
            DGV.AllowUserToAddRows    = false;
            DGV.AllowUserToDeleteRows = false;
            DGV.ReadOnly = false;

            var f2 = new Font("Serif", 10, FontStyle.Bold);
            var c1 = new DataGridViewTextBoxColumn();

            c1.DataPropertyName      = "Codigo";
            c1.HeaderText            = "Código";
            c1.Name                  = "codigo";
            c1.Visible               = true;
            c1.ReadOnly              = false;
            c1.Width                 = 140;
            c1.DefaultCellStyle.Font = f2;

            var c2 = new DataGridViewTextBoxColumn();

            c2.DataPropertyName = "Descripcion";
            c2.HeaderText       = "Descripción";
            c2.Name             = "descripcion";
            c2.Visible          = true;
            c2.ReadOnly         = false;
            c2.AutoSizeMode     = DataGridViewAutoSizeColumnMode.Fill;

            var c3 = new DataGridViewTextBoxColumn();

            c3.DefaultCellStyle.BackColor = Color.Blue;
            c3.DataPropertyName           = "Debe";
            c3.HeaderText = "Debe";
            c3.Name       = "debe";
            c3.Visible    = true;
            c3.Width      = 150;
            c3.ReadOnly   = false;
            c3.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
            c3.DefaultCellStyle.ForeColor = Color.White;
            c3.DefaultCellStyle.Font      = f2;
            c3.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
            c3.DefaultCellStyle.Format    = "n2";

            var c4 = new DataGridViewTextBoxColumn();

            c4.DefaultCellStyle.BackColor = Color.Red;
            c4.DataPropertyName           = "Haber";
            c4.HeaderText = "Haber";
            c4.Name       = "haber";
            c4.Visible    = true;
            c4.Width      = 150;
            c4.ReadOnly   = false;
            c4.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
            c4.DefaultCellStyle.ForeColor = Color.White;
            c4.DefaultCellStyle.Font      = f2;
            c4.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
            c4.DefaultCellStyle.Format    = "n2";

            DGV.Columns.Add(c1);
            DGV.Columns.Add(c2);
            DGV.Columns.Add(c3);
            DGV.Columns.Add(c4);

            bs                 = new BindingSource();
            items              = new BindingList <Detalle>();
            items.ListChanged += items_ListChanged;
            bs.DataSource      = items;
            DGV.DataSource     = bs;

            //

            CB_DOCUMENTO.ValueMember   = "Id";
            CB_DOCUMENTO.DisplayMember = "Descripcion";
            bs.DataSource  = items;
            DGV.DataSource = bs;

            if (ModoFicha == Modo.AgregarFicha)
            {
                CargarData();
                CB_TIPO.SelectedIndex = 0;
                var it = new Detalle();
                items.Add(it);
            }
            else if (ModoFicha == Modo.EditarFicha)
            {
                L_MODO_FICHA.Visible = true;
                CargarDataAsiento(IdAsientoEditarExportar);
            }
            else
            {
                CargarDataExportar(IdAsientoEditarExportar);
            }
        }