예제 #1
0
        private void gridView_facturas_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            try
            {
                fa_liquidacion_x_punto_cargo_x_fa_factura_Info fila = (fa_liquidacion_x_punto_cargo_x_fa_factura_Info)gridView_facturas.GetRow(e.RowHandle);

                if (col_factura == e.Column)
                {
                    if (e.Value == null)
                    {
                        return;
                    }
                    fa_liquidacion_x_punto_cargo_x_fa_factura_Info row = lst_liq_factura.FirstOrDefault(q => q.ID == e.Value.ToString());

                    if (MessageBox.Show("Aplicar valor de la liquidación [SI] \nAplicar valor de la factura[NO]", param.Nombre_sistema, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        gridView_facturas.SetRowCellValue(e.RowHandle, col_subtotal, info_liquidacion.li_subtotal);
                        gridView_facturas.SetRowCellValue(e.RowHandle, col_iva, info_liquidacion.li_valor_iva);
                        gridView_facturas.SetRowCellValue(e.RowHandle, col_total, info_liquidacion.li_total);
                    }
                    else
                    {
                        if (row != null)
                        {
                            gridView_facturas.SetRowCellValue(e.RowHandle, col_subtotal, row.vta_subtotal);
                            gridView_facturas.SetRowCellValue(e.RowHandle, col_iva, row.vta_iva);
                            gridView_facturas.SetRowCellValue(e.RowHandle, col_total, row.vta_total);
                        }
                        else
                        {
                            gridView_facturas.SetRowCellValue(e.RowHandle, col_subtotal, info_liquidacion.li_subtotal);
                            gridView_facturas.SetRowCellValue(e.RowHandle, col_iva, info_liquidacion.li_valor_iva);
                            gridView_facturas.SetRowCellValue(e.RowHandle, col_total, info_liquidacion.li_total);
                        }
                    }
                }

                if (e.Column == col_subtotal)
                {
                    fila.vta_iva   = Math.Round(fila.vta_subtotal * (info_liquidacion.li_por_iva / 100), 2, MidpointRounding.AwayFromZero);
                    fila.vta_total = Math.Round(fila.vta_subtotal + fila.vta_iva, 2, MidpointRounding.AwayFromZero);
                }
                if (e.Column == col_iva)
                {
                    fila.vta_total = Math.Round(fila.vta_subtotal + fila.vta_iva, 2, MidpointRounding.AwayFromZero);
                }
            }
            catch (Exception ex)
            {
                string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                NameMetodo = NameMetodo + " - " + ex.ToString();
                MessageBox.Show(NameMetodo + " " + param.Get_Mensaje_sys(enum_Mensajes_sys.Error_comunicarse_con_sistemas), param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
            }
        }
 public bool guardarDB(fa_liquidacion_x_punto_cargo_x_fa_factura_Info info)
 {
     try
     {
         return(oData.guardarDB(info));
     }
     catch (Exception ex)
     {
         string mensaje = ex.ToString();
         tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
         tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", mensaje, "", "", "", "", "", DateTime.Now);
         oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
         throw new Exception(mensaje);
     }
 }
 public bool guardarDB(fa_liquidacion_x_punto_cargo_x_fa_factura_Info info)
 {
     try
     {
         using (Entity_Facturacion_FJ Context = new Entity_Facturacion_FJ())
         {
             var lst = from q in Context.fa_liquidacion_x_punto_cargo_x_fa_factura
                       where q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal &&
                       q.IdCentroCosto == info.IdCentroCosto && q.IdLiquidacion == info.IdLiquidacion &&
                       q.IdEmpresa_vta == info.IdEmpresa_vta && q.IdSucursal_vta == info.IdSucursal_vta &&
                       q.IdBodega_vta == info.IdBodega_vta && q.IdCbteVta == info.IdCbteVta
                       select q;
             if (lst.Count() == 0)
             {
                 fa_liquidacion_x_punto_cargo_x_fa_factura Entity = new fa_liquidacion_x_punto_cargo_x_fa_factura();
                 Entity.IdEmpresa      = info.IdEmpresa;
                 Entity.IdSucursal     = info.IdSucursal;
                 Entity.IdCentroCosto  = info.IdCentroCosto;
                 Entity.IdLiquidacion  = info.IdLiquidacion;
                 Entity.IdEmpresa_vta  = info.IdEmpresa_vta;
                 Entity.IdSucursal_vta = info.IdSucursal_vta;
                 Entity.IdBodega_vta   = info.IdBodega_vta;
                 Entity.IdCbteVta      = info.IdCbteVta;
                 Entity.vta_subtotal   = info.vta_subtotal;
                 Entity.vta_iva        = info.vta_iva;
                 Entity.vta_total      = info.vta_total;
                 Context.fa_liquidacion_x_punto_cargo_x_fa_factura.Add(Entity);
                 Context.SaveChanges();
             }
         }
         return(true);
     }
     catch (Exception ex)
     {
         string MensajeError = "";
         string arreglo      = ToString();
         tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
         tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now);
         oDataLog.Guardar_Log_Error(Log_Error_sis, ref MensajeError);
         MensajeError = ex.ToString();
         throw new Exception(ex.ToString());
     }
 }
예제 #4
0
        private void btn_guardar_Click(object sender, EventArgs e)
        {
            try
            {
                lbl_cod_liquidacion.Focus();

                if (Math.Round(blst_liq_factura.Sum(q => q.vta_total), 2, MidpointRounding.AwayFromZero) != Math.Round(info_liquidacion.li_total, 2, MidpointRounding.AwayFromZero))
                {
                    if (MessageBox.Show("Existe un descuadre: \nValor total de las facturas es: " + Math.Round(blst_liq_factura.Sum(q => q.vta_total), 2, MidpointRounding.AwayFromZero) + "\nValor total de la liquidación: " + Math.Round(info_liquidacion.li_total, 2, MidpointRounding.AwayFromZero) + "\nDesea continuar?", param.Nombre_sistema, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.No)
                    {
                        return;
                    }
                }

                foreach (var item in blst_liq_factura)
                {
                    fa_liquidacion_x_punto_cargo_x_fa_factura_Info row = lst_liq_factura.FirstOrDefault(q => q.ID == item.ID);
                    if (row != null)
                    {
                        item.IdEmpresa      = info_liquidacion.IdEmpresa;
                        item.IdSucursal     = info_liquidacion.IdSucursal;
                        item.IdCentroCosto  = info_liquidacion.IdCentroCosto;
                        item.IdLiquidacion  = info_liquidacion.IdLiquidacion;
                        item.vt_NumFactura  = row.vt_NumFactura;
                        item.IdEmpresa_vta  = row.IdEmpresa_vta;
                        item.IdSucursal_vta = row.IdSucursal_vta;
                        item.IdBodega_vta   = row.IdBodega_vta;
                        item.IdCbteVta      = row.IdCbteVta;
                    }
                }

                bus_liq_factura.eliminarDB(info_liquidacion.IdEmpresa, info_liquidacion.IdSucursal, info_liquidacion.IdCentroCosto, info_liquidacion.IdLiquidacion);

                if (bus_liq_factura.guardarDB(blst_liq_factura.ToList()))
                {
                    info_liquidacion.li_referencia_facturas = "";
                    foreach (var item in blst_liq_factura.ToList())
                    {
                        if (info_liquidacion.li_referencia_facturas == "")
                        {
                            info_liquidacion.li_referencia_facturas += item.vt_NumFactura;
                        }
                        else
                        {
                            info_liquidacion.li_referencia_facturas += " - " + item.vt_NumFactura;
                        }
                    }

                    bus_liquidacion.ModificarDB_referencia_facturas(info_liquidacion);

                    MessageBox.Show("Registros guardados exitosamente", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    this.Close();
                }
            }
            catch (Exception ex)
            {
                string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                NameMetodo = NameMetodo + " - " + ex.ToString();
                MessageBox.Show(NameMetodo + " " + param.Get_Mensaje_sys(enum_Mensajes_sys.Error_comunicarse_con_sistemas), param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
            }
        }