2014-10-03 2 views
-3

Я использую API-оболочку, созданную Axosoft для их программного обеспечения ontime. Я просматривал их пример API, который несколько раз демонстрирует, как использовать их api для создания элементов (например, var foo = axosoftClinet.Customer.Create(new Customer { //fields similar to worklogs here });). Когда я попробовал другой метод создания, они работали безупречно. Теперь я застрял. Я получаю исключение NullReferenceException в моем коде. После прочтения вопроса о переполнении стека here Я думаю, что это нужно сделать, чтобы не инициализировался WorkLog.Как инициализировать

Когда я начинаю писать звонок, он получает этот вспомогательный текст.

Result<WorkLog> ICreateResource<WorkLog>.Create(Worklog entity, [IDictionary<string,object> parameters = null})

Хелпер текст идентичен всем остальным пунктам я могу использовать .Create. Я никогда не видел, чтобы другие примеры использовали IDictorynary.

Итак, мой вопрос в том, как инициализировать WorkLog, чтобы избежать исключения NullRefenceException?

DateTime? wlDateTime = Datetime.Now;  
var worklogpost = axosoftClient.WorkLogs.Create(new WorkLog 
    { 
     Item = 
     { 
      ItemType = "defects", 
      Id = 31 
     }, 
     WorkDone = 
     { 
      Duration = 2, 
      TimeUnit = 
      { 
       Id = 2 
      }, 
     }, 
     User = 
     { 
      Id = 100 
     }, 
     WorklogType = 
     { 
      Id = 1 
     }, 
     Description = "created a worklog from the code.", 
     DateTime = wlDateTime, 
    }); 
+1

Как вы создаете 'axosoftclient'? Также опубликуйте сообщение об ошибке в 'NullReferenceException' –

ответ

1

Я бы постарался их создать. Я мог бы подумать об этом.

Item = new Item 
     { 
      ItemType = "defects", 
      Id = 31 
     } 
+0

. Спасибо. Мне пришлось сбросить(), но это сработало. – zingwing

+0

Я также сделал это на оставшейся длительности, TimeUnits, User и WorkLogType. – zingwing

+0

Хорошо, да, я надеялся, что вы получите то, что вы должны сделать это для всех. Пытался получить ответ до уик-энда. Взять() в ответ –

Смежные вопросы