2013-09-05 3 views
0

Я начинаю с планировщиком dhtmlx, я использую dbfirst с синтаксисом бритвы mvc4. Поэтому, пожалуйста, может кто-нибудь помочь мне, чтобы установить время начала и время окончания значение я получаю из базы данных: вот мой код:присваивать значения из таблицы в конфигурацию планировщика Dhtmlx

контроллер:

sched.Config.first_hour = 8; 
sched.Config.last_hour = 19; 
public string GetDbValues() 
      { 
       string strState = ""; 
       List<tblSettings> settings = new List<tblSettings>(); 
       settings = _config.GetSettings(); 
       var defaultState = from setting in settings 
        where (setting.Desc == "start time" 
        || setting.Desc == "end time") 
// starttime as 08 and end time as 20 from database 
       select setting.Settings; 
       foreach (var oState in defaultState) 
       {strState += oState + "|"; 
       } 
       strState = strState.Remove(strState.Length - 1); 

       return strState; 
      } 

Я получаю значение для first_hour и last_hour как строка из вывода. Как назначить это строковое значение first_hour и last_hour?

// Я использую LINQ, чтобы получить значения дБ из-за структуры таблицы: ID (INT), Настройки (NVARCHAR), Desc (NVARCHAR)

enter image description here

ответ

1

почему вы конкатенации настройки в строку? Более полный формат данных упростит задачу. Вы можете вернуть List как есть, а затем просто перебирать его с помощью foreach, применяя необходимые настройки. Если по какой-либо причине вы не хотите передавать объекты tblSettings, вы можете выбрать данные в словаре, а затем снова применить значения

var data = _config.GetSettings().ToDictionary(
       s => s.Desc, 
       s => s.Setting, 
       StringComparer.Ordinal); 


if(data.ContainsKey("start time")) 
    scheduler.Config.first_hour = int.Parse(data["start time"]); 

if (data.ContainsKey("end time")) 
    scheduler.Config.first_hour = int.Parse(data["end time"]);