private Boolean Validar_y_corregir_objeto(ref caj_Caja_Movimiento_Info Caja_Movi_Info, ref string msg)
        {
            try
            {
                #region 'Validaciones'
                /*--- validaciones */



                if (Caja_Movi_Info.IdCaja <= 0)
                {
                    msg = "Erro en la cabecera de id caja es <=0";
                    return(false);
                }



                if (Caja_Movi_Info.list_Caja_Movi_det.Count == 0)
                {
                    msg = "la factura no tiene detalle ";
                    return(false);
                }


                foreach (var item in Caja_Movi_Info.list_Caja_Movi_det)
                {
                    if (item.cr_Valor == 0)
                    {
                        msg = "el valor id:" + item.IdCobro_tipo + " tiene cantidad cero ";
                    }
                }

                /*--- Fin validaciones */


                /*--- corrigiendo data */

                Caja_Movi_Info.Estado = (string.IsNullOrEmpty(Caja_Movi_Info.Estado) == true) ? "A" : Caja_Movi_Info.Estado;

                if (Caja_Movi_Info.IdTipo_Persona == "" || Caja_Movi_Info.IdTipo_Persona == null)
                {
                    tb_persona_tipo_Bus  BusTipoPersona  = new tb_persona_tipo_Bus();
                    tb_persona_tipo_Info InfoTipoPersona = new tb_persona_tipo_Info();
                    InfoTipoPersona = BusTipoPersona.Get_List_persona_tipo().FirstOrDefault();
                    Caja_Movi_Info.IdTipo_Persona = InfoTipoPersona.IdTipo_Persona;
                }


                if (Caja_Movi_Info.IdPersona <= 0)
                {
                    tb_persona_bus  BusPersona  = new tb_persona_bus();
                    tb_persona_Info InfoPersona = new tb_persona_Info();
                    InfoPersona = BusPersona.Get_Info_Persona(1);
                    Caja_Movi_Info.IdPersona = InfoPersona.IdPersona;
                }



                /*--- corrigiendo data */

                #endregion

                return(true);
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "Validar_y_corregir_objeto", ex.Message), ex)
                      {
                          EntityType = typeof(caj_Caja_Movimiento_Bus)
                      };
            }
        }