static bool valida_fechahora_sesion(DateTime ld_fecha, Fundraising_PTDM.FUNDRAISING_PT.Cajas lo_caja)
        {
            bool   pass_fechahora    = true;
            int    total_minutes_new = (ld_fecha.Hour * 60) + ld_fecha.Minute;
            int    time_new_sesion   = Fundraising_PT.Properties.Settings.Default.time_new_sesion;
            XPView vhora_sesion      = new XPView(XpoDefault.Session, typeof(Fundraising_PTDM.FUNDRAISING_PT.Sesiones));

            vhora_sesion.AddProperty("fecha_hora", "fecha_hora", false, true, DevExpress.Xpo.SortDirection.Descending);
            vhora_sesion.Criteria = CriteriaOperator.Parse(string.Format("GetDay(fecha_hora) = {0} and GetMonth(fecha_hora) = {1} and GetYear(fecha_hora) = {2} and caja.oid = '{3}'", ld_fecha.Day, ld_fecha.Month, ld_fecha.Year, lo_caja.oid));
            //
            if (vhora_sesion.Count > 0)
            {
                int time_diff          = 0;
                int total_minutes_exis = 0;
                foreach (ViewRecord items in vhora_sesion)
                {
                    DateTime fecha_hora = (DateTime)items["fecha_hora"];
                    total_minutes_exis = (fecha_hora.Hour * 60) + fecha_hora.Minute;
                    time_diff          = total_minutes_new - total_minutes_exis;
                    if (time_diff < time_new_sesion)
                    {
                        pass_fechahora = false;
                        break;
                    }
                }
            }
            //
            vhora_sesion.Dispose();
            //
            return(pass_fechahora);
        }
        void textBox_buscacodigointegrado_Validated(object sender, EventArgs e)
        {
            bool sw1 = true;

            if (textBox_buscacodigointegrado.lValue.Trim() != string.Empty)
            {
                //
                XPView vbuscacodigo = new XPView(XpoDefault.Session, typeof(Fundraising_PTDM.FUNDRAISING_PT.Cajas));
                vbuscacodigo.AddProperty("void", "oid", true, true, DevExpress.Xpo.SortDirection.None);
                vbuscacodigo.AddProperty("vcodigo_integrado", "Trim(ToStr(sucursal))+Trim(codigo)", true, true, DevExpress.Xpo.SortDirection.None);
                vbuscacodigo.CriteriaString = string.Format("Trim(ToStr(sucursal))+Trim(codigo) = '{0}'", textBox_buscacodigointegrado.lValue.Trim());
                //
                int    seek_position      = -1;
                Guid   v_oid              = Guid.Empty;
                string v_codigo_integrado = string.Empty;
                foreach (ViewRecord item_buscacodigo in vbuscacodigo)
                {
                    v_oid = (item_buscacodigo["void"] == null ? Guid.Empty : (Guid)item_buscacodigo["void"]);
                    v_codigo_integrado      = (item_buscacodigo["vcodigo_integrado"] == null ? string.Empty : (String)item_buscacodigo["vcodigo_integrado"]);
                    seek_position           = bindingSource1.Find("oid", v_oid);
                    bindingSource1.Position = seek_position;
                }
                //
                textBox_buscacodigointegrado.Enabled = false;
                textBox_buscacodigointegrado.Visible = false;
                //
                if (vbuscacodigo.Count <= 0 | seek_position < 0)
                {
                    MessageBox.Show("No se encontro ningun registro con el Código Integrado: " + textBox_buscacodigointegrado.lValue.Trim(), "Buscar Código Integrado.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    sw1 = false;
                }
                //
                vbuscacodigo.Dispose();
                //
            }
            else
            {
                textBox_buscacodigointegrado.Enabled = false;
                textBox_buscacodigointegrado.Visible = false;
                sw1 = false;
            }
            //
            textBox_buscacodigointegrado.lValue         = string.Empty;
            textBox_buscacodigointegrado.textEdit1.Text = string.Empty;
            //
        }
        public override void eliminar(object sender, EventArgs e)
        {
            if (this_primary_object_persistent_current != null)
            {
                try
                {
                    this_primary_object_persistent_current.Reload();
                    //
                    XPView vcuentas_bancarias = new XPView(XpoDefault.Session, typeof(Fundraising_PTDM.FUNDRAISING_PT.Bancos_Cuentas));
                    vcuentas_bancarias.AddProperty("void", "oid", true, true, DevExpress.Xpo.SortDirection.None);
                    //
                    XPView vcajas = new XPView(XpoDefault.Session, typeof(Fundraising_PTDM.FUNDRAISING_PT.Cajas));
                    vcajas.AddProperty("void", "oid", true, true, DevExpress.Xpo.SortDirection.None);
                    //
                    XPView vdepositos = new XPView(XpoDefault.Session, typeof(Fundraising_PTDM.FUNDRAISING_PT.Depositos_Bancarios));
                    vdepositos.AddProperty("void", "oid", true, true, DevExpress.Xpo.SortDirection.None);
                    //
                    XPView vpuntos_bancarios = new XPView(XpoDefault.Session, typeof(Fundraising_PTDM.FUNDRAISING_PT.Puntos_Bancarios));
                    vpuntos_bancarios.AddProperty("void", "oid", true, true, DevExpress.Xpo.SortDirection.None);
                    //
                    XPView vsesiones = new XPView(XpoDefault.Session, typeof(Fundraising_PTDM.FUNDRAISING_PT.Sesiones));
                    vsesiones.AddProperty("void", "oid", true, true, DevExpress.Xpo.SortDirection.None);
                    //
                    XPView vrecaudaciones = new XPView(XpoDefault.Session, typeof(Fundraising_PTDM.FUNDRAISING_PT.Recaudaciones));
                    vrecaudaciones.AddProperty("void", "oid", true, true, DevExpress.Xpo.SortDirection.None);
                    //
                    vcuentas_bancarias.Criteria = CriteriaOperator.Parse(string.Format("sucursal = {0}", ((Fundraising_PTDM.FUNDRAISING_PT.Sucursales)this_primary_object_persistent_current).codigo));
                    vcajas.Criteria             = CriteriaOperator.Parse(string.Format("sucursal = {0}", ((Fundraising_PTDM.FUNDRAISING_PT.Sucursales)this_primary_object_persistent_current).codigo));
                    vdepositos.Criteria         = CriteriaOperator.Parse(string.Format("sucursal = {0}", ((Fundraising_PTDM.FUNDRAISING_PT.Sucursales)this_primary_object_persistent_current).codigo));
                    vpuntos_bancarios.Criteria  = CriteriaOperator.Parse(string.Format("sucursal = {0}", ((Fundraising_PTDM.FUNDRAISING_PT.Sucursales)this_primary_object_persistent_current).codigo));
                    vsesiones.Criteria          = CriteriaOperator.Parse(string.Format("sucursal = {0}", ((Fundraising_PTDM.FUNDRAISING_PT.Sucursales)this_primary_object_persistent_current).codigo));
                    vrecaudaciones.Criteria     = CriteriaOperator.Parse(string.Format("sucursal = {0}", ((Fundraising_PTDM.FUNDRAISING_PT.Sucursales)this_primary_object_persistent_current).codigo));
                    //
                    int cantidad_asociaciones = vcuentas_bancarias.Count + vcajas.Count + vdepositos.Count + vpuntos_bancarios.Count + vsesiones.Count + vrecaudaciones.Count;
                    //
                    if (cantidad_asociaciones > 0 | ((Fundraising_PTDM.FUNDRAISING_PT.Sucursales)this_primary_object_persistent_current).codigo == Fundraising_PT.Properties.Settings.Default.sucursal)
                    {
                        if (MessageBox.Show("NO se puede Eliminar la sucursal porque existen asociaciones de datos con la sucursal seleccionada." + Environment.NewLine + "Desea cambiar el estatus de la sucursal a InActiva ?", "Eliminar Sucursal", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == System.Windows.Forms.DialogResult.OK)
                        {
                            ((Fundraising_PTDM.FUNDRAISING_PT.Bancos)this_primary_object_persistent_current).status = 2;
                            this_primary_object_persistent_current.Save();
                            lookUp_status.gridLookUpEdit1.Refresh();
                        }
                    }
                    else
                    {
                        base.eliminar(sender, e);
                    }
                    //
                    vcuentas_bancarias.Dispose();
                    vcajas.Dispose();
                    vdepositos.Dispose();
                    vpuntos_bancarios.Dispose();
                    vsesiones.Dispose();
                    vrecaudaciones.Dispose();
                }
                catch (Exception)
                {
                    Fundraising_PT.Clases.MsgBoxUtil.HackMessageBox("Data Reload", "Continuar", "Ignorar");
                    switch (MessageBox.Show("No se pudo leer los datos desde el servidor para el registro actual..." + Environment.NewLine + Environment.NewLine + "Posiblemente otro usuario lo elimino mientras usted lo tenia seleccionado para eliminarno !!!" + Environment.NewLine + Environment.NewLine + "Seleccione una opción para continuar ?" + Environment.NewLine + Environment.NewLine + "Data Reload : Ejecutar (Data Reload) Vuelve a cargar todas las colecciones de datos desde el servidor." + Environment.NewLine + Environment.NewLine + "Cancelar : Cancela la eliminación de datos del registro actual y salta al siguiente registro. " + Environment.NewLine + Environment.NewLine + "Ignorar : Ignora la lectura de los datos del registro desde el servidor y permanece sobre el.", "Data Reload (Eliminar)", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1))
                    {
                    case DialogResult.Yes:
                        this.datareload();
                        bindingSource1.MoveFirst();
                        this_primary_object_persistent_current = ((XPBaseObject)bindingSource1.Current);
                        break;

                    case DialogResult.No:
                        if (bindingSource1.Count <= 0)
                        {
                            bindingSource1.MoveFirst();
                            this_primary_object_persistent_current = ((XPBaseObject)bindingSource1.Current);
                            break;
                        }
                        if (bindingSource1.Count > 0 & bindingSource1.Position >= bindingSource1.Count)
                        {
                            bindingSource1.MovePrevious();
                            this_primary_object_persistent_current = ((XPBaseObject)bindingSource1.Current);
                            break;
                        }
                        if (bindingSource1.Count > 0 & bindingSource1.Position == 0)
                        {
                            bindingSource1.MoveNext();
                            this_primary_object_persistent_current = ((XPBaseObject)bindingSource1.Current);
                            break;
                        }
                        if (bindingSource1.Count > 0 & (bindingSource1.Position > 0 & bindingSource1.Position < bindingSource1.Count))
                        {
                            bindingSource1.MoveNext();
                            this_primary_object_persistent_current = ((XPBaseObject)bindingSource1.Current);
                            break;
                        }
                        else
                        {
                            bindingSource1.MoveFirst();
                            this_primary_object_persistent_current = ((XPBaseObject)bindingSource1.Current);
                            break;
                        }
                    }
                    Fundraising_PT.Clases.MsgBoxUtil.UnHackMessageBox();
                }
            }
        }