public bool guardarDB(imp_liquidacion_Info info)
        {
            try
            {
                odata = new imp_liquidacion_Data();
                info.info_comrobante                     = new Info.Contabilidad.ct_cbtecble_Info();
                info.info_comrobante.IdEmpresa           = info.IdEmpresa;
                info.info_comrobante.cb_Fecha            = (DateTime)info.oe_fecha;
                info.info_comrobante.cb_Anio             = info.info_comrobante.cb_Fecha.Year;
                info.info_comrobante.cb_mes              = info.info_comrobante.cb_Fecha.Month;
                info.info_comrobante.cb_Estado           = "A";
                info.info_comrobante.IdPeriodo           = Convert.ToInt32(info.info_comrobante.cb_Fecha.Year.ToString() + info.info_comrobante.cb_Fecha.Month.ToString().PadLeft(2, '0'));
                info.info_comrobante.IdEmpresa           = info.IdEmpresa;
                info.info_comrobante.cb_Observacion      = info.li_observacion;
                info.info_comrobante.lst_ct_cbtecble_det = info.lst_comprobante;

                var info_inventario = get_ingreso(info);
                info_inventario.cm_fecha        = Convert.ToDateTime(info.li_fecha);
                info.info_comrobante.IdTipoCbte = param.IdTipoCbte_liquidacion;
                bus_ingreso.guardarDB(info_inventario, "+");

                bus_contabilidad.guardarDB(info.info_comrobante);
                info.IdEmpresa_ct  = Convert.ToInt32(info.info_comrobante.IdEmpresa);
                info.IdTipoCbte_ct = Convert.ToInt32(info.info_comrobante.IdTipoCbte);
                info.IdCbteCble_ct = Convert.ToInt32(info.info_comrobante.IdCbteCble);

                info.IdEmpresa_inv         = Convert.ToInt32(info_inventario.IdEmpresa);
                info.IdSucursal_inv        = Convert.ToInt32(info_inventario.IdSucursal);
                info.IdMovi_inven_tipo_inv = Convert.ToInt32(info_inventario.IdMovi_inven_tipo);
                info.IdNumMovi_inv         = Convert.ToInt32(info_inventario.IdNumMovi);


                info.IdEmpresa         = info.IdEmpresa;
                info.IdOrdenCompra_ext = info.IdOrdenCompra_ext;
                odata.guardarDB(info);
                imp_ordencompra_ext_Info info_oc = new imp_ordencompra_ext_Info();
                info_oc.IdEmpresa         = info.IdEmpresa;
                info_oc.IdOrdenCompra_ext = info.IdOrdenCompra_ext;
                info_oc.lst_detalle       = info.lst_detalle;
                bus_orden_compra.guardarLiquidacionDB(info_oc);
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public bool Anular(imp_liquidacion_Info info)
        {
            try
            {
                odata = new imp_liquidacion_Data();
                info.info_comrobante                     = new Info.Contabilidad.ct_cbtecble_Info();
                info.info_comrobante.IdEmpresa           = info.IdEmpresa;
                info.info_comrobante.cb_Fecha            = (DateTime)info.oe_fecha;
                info.info_comrobante.cb_Anio             = info.info_comrobante.cb_Fecha.Year;
                info.info_comrobante.cb_mes              = info.info_comrobante.cb_Fecha.Month;
                info.info_comrobante.cb_Estado           = "A";
                info.info_comrobante.IdPeriodo           = Convert.ToInt32(info.info_comrobante.cb_Fecha.Year.ToString() + info.info_comrobante.cb_Fecha.Month.ToString().PadLeft(2, '0'));
                info.info_comrobante.IdEmpresa           = info.IdEmpresa;
                info.info_comrobante.cb_Observacion      = info.li_observacion;
                info.info_comrobante.lst_ct_cbtecble_det = info.lst_comprobante;

                var info_inventario = get_ingreso(info);
                info_inventario.cm_fecha   = Convert.ToDateTime(info.li_fecha);
                info_inventario.IdEmpresa  = info.IdEmpresa;
                info_inventario.IdSucursal = (info.IdSucursal_inv) == null?0:Convert.ToInt32(info.IdSucursal_inv);
                info_inventario.IdBodega   = info.IdBodega_inv;
                info_inventario.IdNumMovi  = (info.IdNumMovi_inv) == null ? 0 : Convert.ToInt32(info.IdNumMovi_inv);
                bus_ingreso.anularDB(info_inventario);

                info.info_comrobante.IdEmpresa  = (info.IdEmpresa_ct) == null ? 0 : Convert.ToInt32(info.IdEmpresa_ct);
                info.info_comrobante.IdTipoCbte = (info.IdTipoCbte_ct) == null ? 0 : Convert.ToInt32(info.IdTipoCbte_ct);
                info.info_comrobante.IdCbteCble = (info.IdCbteCble_ct) == null ? 0 : Convert.ToInt32(info.IdCbteCble_ct);

                bus_contabilidad.anularDB(info.info_comrobante);
                odata.AnularDB(info);

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }