public bool AnularDB(int IdEmpresa, decimal IdDocumento, string IdUsuario)
 {
     try
     {
         var lst = busDet.GetList(IdEmpresa, IdDocumento);
         foreach (var item in lst)
         {
             if (item.IdCobro != null && busCobro.AnularDB(new cxc_cobro_Info {
                 IdEmpresa = IdEmpresa, IdSucursal = item.IdSucursal ?? 0, IdCobro = item.IdCobro ?? 0, IdUsuarioUltAnu = IdUsuario
             }))
             {
             }
         }
         return(odata.AnularDB(IdEmpresa, IdDocumento, IdUsuario));
     }
     catch (Exception)
     {
         throw;
     }
 }
        public Boolean Anular(cxc_cobro_x_Anticipo_Info info)
        {
            try
            {
                //Motivo por Anulación
                string motiAnulacion     = "";
                FrmGe_MotivoAnulacion fr = new FrmGe_MotivoAnulacion();
                fr.ShowDialog();
                motiAnulacion      = fr.motivoAnulacion;
                info.MotiAnula     = motiAnulacion;
                info.Fecha_Transac = param.Fecha_Transac.Date;
                info.Fecha_UltAnu  = DateTime.Now.Date;
                info.Fecha_UltMod  = DateTime.Now.Date;
                info.nom_pc        = param.nom_pc;
                info.ip            = param.ip;

                info.IdUsuario = param.IdUsuario;
                info.Estado    = "I";
                infodet        = new List <cxc_cobro_x_Anticipo_det_Info>(infodetBus.Get_List_cobro_x_Anticipo_det(info.IdEmpresa, Convert.ToInt32(info.IdAnticipo), ref mensaje));
                if (infodet == null)
                {
                    return(false);
                }
                cxcinfoList = new List <cxc_cobro_Info>();
                foreach (var item in infodet)
                {
                    cxc_cobro_Info cxcinfo = new cxc_cobro_Info();
                    item.Fecha_Transac = param.Fecha_Transac.Date;
                    item.Fecha_UltAnu  = DateTime.Now.Date;
                    item.Fecha_UltMod  = DateTime.Now.Date;
                    item.nom_pc        = param.nom_pc;
                    item.ip            = param.ip;

                    item.IdUsuario = param.IdUsuario;
                    item.Estado    = "I";

                    cxcinfo = cxcBus.Get_Info_cobro_x_cliente(item.IdEmpresa, Convert.ToInt32(item.IdSucursal_cobro), Convert.ToInt32(item.IdCobro_cobro), Convert.ToInt32(info.IdCliente));
                    if (cxcinfo == null)
                    {
                        return(false);
                    }
                    else
                    {
                        if (cxcBus.AnularDB(cxcinfo) == false)
                        {
                            return(false);
                        }
                    }
                }

                if (cxcCABus.ModificarDB(info, ref mensaje) == false)
                {
                    return(false);
                }

                if (infodetBus.ModificarD(infodet, ref mensaje) == false)
                {
                    return(false);
                }
                return(true);
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
        }