public BaseEntity Execute(BaseEntity data, Actions action, Options option, string settingName, string token)
        {
            DomainLogic dl = new DomainLogic(App.Current.Configuration.GetDatabaseSetting(settingName));

            if (data.GetType() == typeof(CONEquivalenceDetail))
            {
                return(dl.GetCONEquivalenceDetailBLL().Execute((CONEquivalenceDetail)data, action, option, token));
            }
            else if (data.GetType() == typeof(CONEquivalence))
            {
                return(dl.GetCONEquivalenceBLL().Execute((CONEquivalence)data, action, option, token));
            }
            else if (data.GetType() == typeof(CONError))
            {
                return(dl.GetCONErrorBLL().Execute((CONError)data, action, option, token));
            }
            else if (data.GetType() == typeof(CONIntegratorConfiguration))
            {
                return(dl.GetCONIntegratorConfigurationBLL().Execute((CONIntegratorConfiguration)data, action, option, token));
            }
            else if (data.GetType() == typeof(CONIntegrator))
            {
                return(dl.GetCONIntegratorBLL().Execute((CONIntegrator)data, action, option, token));
            }
            else if (data.GetType() == typeof(CONRecordDetail))
            {
                return(dl.GetCONRecordDetailBLL().Execute((CONRecordDetail)data, action, option, token));
            }
            else if (data.GetType() == typeof(CONRecord))
            {
                return(dl.GetCONRecordBLL().Execute((CONRecord)data, action, option, token));
            }
            else if (data.GetType() == typeof(CONSQLDetail))
            {
                return(dl.GetCONSQLDetailBLL().Execute((CONSQLDetail)data, action, option, token));
            }
            else if (data.GetType() == typeof(CONSQLParameter))
            {
                return(dl.GetCONSQLParameterBLL().Execute((CONSQLParameter)data, action, option, token));
            }
            else if (data.GetType() == typeof(CONSQL))
            {
                return(dl.GetCONSQLBLL().Execute((CONSQL)data, action, option, token));
            }
            else if (data.GetType() == typeof(CONSQLSend))
            {
                return(dl.GetCONSQLSendBLL().Execute((CONSQLSend)data, action, option, token));
            }
            else if (data.GetType() == typeof(CONStructureAssociation))
            {
                return(dl.GetCONStructureAssociationBLL().Execute((CONStructureAssociation)data, action, option, token));
            }
            else if (data.GetType() == typeof(CONStructureDetail))
            {
                return(dl.GetCONStructureDetailBLL().Execute((CONStructureDetail)data, action, option, token));
            }
            else if (data.GetType() == typeof(CONStructure))
            {
                return(dl.GetCONStructureBLL().Execute((CONStructure)data, action, option, token));
            }
            else if (data.GetType() == typeof(SECCompany))
            {
                return(dl.GetSECCompanyBLL().Execute((SECCompany)data, action, option, token));
            }
            else if (data.GetType() == typeof(SECConnection))
            {
                return(dl.GetSECConnectionBLL().Execute((SECConnection)data, action, option, token));
            }
            else if (data.GetType() == typeof(SECRolePermission))
            {
                return(dl.GetSECRolePermissionBLL().Execute((SECRolePermission)data, action, option, token));
            }
            else if (data.GetType() == typeof(SECRole))
            {
                return(dl.GetSECRoleBLL().Execute((SECRole)data, action, option, token));
            }
            else if (data.GetType() == typeof(SECUserCompany))
            {
                return(dl.GetSECUserCompanyBLL().Execute((SECUserCompany)data, action, option, token));
            }
            else if (data.GetType() == typeof(SECUser))
            {
                return(dl.GetSECUserBLL().Execute((SECUser)data, action, option, token));
            }
            else if (data.GetType() == typeof(EXTFileOpera))
            {
                return(dl.GetEXTFileOperaBLL().Execute((EXTFileOpera)data, action, option, token));
            }
            else if (data.GetType() == typeof(EXTFileOperaDetail))
            {
                return(dl.GetEXTFileOperaDetailBLL().Execute((EXTFileOperaDetail)data, action, option, token));
            }
            else if (data.GetType() == typeof(CONWSEquivalenciasFormasPago))
            {
                return(dl.GetCONWSEquivalenciasFormasPagoBLL().Execute((CONWSEquivalenciasFormasPago)data, action, option, token));
            }
            else if (data.GetType() == typeof(WSCONCESIONESTIENDA))
            {
                return(dl.GetWSCONCESIONESTIENDABLL().Execute((WSCONCESIONESTIENDA)data, action, option, token));
            }
            else if (data.GetType() == typeof(WSCONCESIONE))
            {
                return(dl.GetWSCONCESIONEBLL().Execute((WSCONCESIONE)data, action, option, token));
            }
            else
            {
                throw new NotImplementedException("La Acción " + action + " Con opción: " + option + " No esta Implementada");
            }
        }