c# - How to incorporate criteria in Where method? -


i want ask condition in search command. i'm calling web service (api) during searching , want put statement in code there's error.

    private async task callapi(string searchtext = null)          {                    long lastupdatedtime = 0;                                    long.tryparse(appsettings.complaintlastupdatedtick, out lastupdatedtime);          var currenttick = datetime.utcnow.ticks;                     var time = new timespan(currenttick - lastupdatedtime);           if (time.totalseconds > 1)          {             int stafffk = convert.toint32(staffid);             var result = await mdataprovider.getcomplaintlist(lastupdatedtime, mcts.token, stafffk);             if (result.issuccess)             {                  // save last updated time                 appsettings.complaintlastupdatedtick = result.data.updated.tostring();                  // store data database                 if ((result.data.items != null) &&                     (result.data.items.count > 0))                 {                      var datas = new list<complaint>(result.data.items);                      **if (!string.isnullorempty(searchtext))                         {                             datas = datas.where(i => i.description.contains(searchtext)                                                  && (i.supervisorid.equals(staffid))                                                 || (i.problemtypename.contains(searchtext)));                         }                     else                         {                             datas = datas.where(i => i.supervisorid.equals(staffid));                         }**                      datas = new observablecollection<complaint>(datas);                 }             }             else if (result.haserror)             {                 await mpagedialogservice.displayalertasync("error", result.errinfo.message, "ok");             }                 }       } 

both assignments of datas in if ... else causes system.collections.generic.ienumerable<ecs.features.complaints.complaint>' 'system.collections.generic.list<ecs.features.complaints.complaint>'. explicit conversions exists (are missing cast?) compilation errors:

"cannot implicitly convert type 'system.collections.generic.ienumerable<ecs.features.complaints.complaint>' 'system.collections.generic.list<ecs.features.complaints.complaint>'.  explicit conversions exists (are missing cast?)" compiler error

i don't know how use condition there. please me. thank in advance concern.

datas list<complaint> try reassign ienumerable<complaint> where statement. add tolist() after maintain type,

or declare datas ienumerable<complaint>

ienumerable<complaint> datas = new list<complaint>(result.data.items); 

Comments

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -