/// <summary> /// Executa comando de busca de por registros da entidade /// </summary> /// <param name="command">Comando de busca</param> /// <param name="modelType">Tipo da entidade</param> /// <returns>Retorna coleção com objetos encontrados</returns> public Layers.ModelCollection <TModel> SearchModels <TModel>(IDbCommand command, Type modelType = null) where TModel : class, Layers.IModel { //TODO:Tratar exceções Layers.ModelCollection <TModel> results = new Layers.ModelCollection <TModel>(); int totalRows = -1; using (IDataReader dr = DataBaseConnection.ExecuteReaderCommand(command)) { while (dr.Read() || (dr.NextResult() && dr.Read())) { try { if (dr["totalRows"] != DBNull.Value) { totalRows = Convert.ToInt32(dr["totalRows"]); } } catch { } TModel item = GetModelObjectByDataReader <TModel>(dr, modelType); if (item != null) { results.Add(item); } } } results.TotalRows = (totalRows == -1) ? results.Count : totalRows; return(results); }
private static void LogAllSettings(Entities.Application application) { List <string> settingsKeys = new List <string>(); settingsKeys.AddRange(DefaultSettings.Keys); settingsKeys.AddRange(System.Configuration.ConfigurationManager.AppSettings.AllKeys.ToList().Where(k => !settingsKeys.Contains(k))); Business.Setting business = new Business.Setting(); Dictionary <string, object> parameters = new Dictionary <string, object>(); parameters.Add("Application", application.Id); Layers.ModelCollection <Entities.Setting> settings = business.GetModelCollection(parameters); System.Configuration.AppSettingsReader settingsReader = new System.Configuration.AppSettingsReader(); settingsKeys.Remove("AppCode"); settingsKeys.Remove("AppKey"); settingsKeys.Remove("AppName"); foreach (string key in settingsKeys.Where(k => settings.Count(s => s.Key == k) == 0)) { try { Commons.Utilities.Logger.Info(key + ": " + settingsReader.GetValue(key, typeof(string)).ToString() + " [App config file setting]"); } catch { Commons.Utilities.Logger.Info(key + ": " + DefaultSettings[key] + " [App default settings]"); } } foreach (Entities.Setting setting in settings) { if (setting.Key != "AppCode" && setting.Key != "AppKey" && setting.Key != "AppName") { Commons.Utilities.Logger.Info(setting.Key + ": " + setting.Value + " [App settings repository]"); } } }
protected override void Execute() { Result = _dataAccess.Search <TModel>(_parameters); }