c# - Get lists of ID's and add on database using LINQ -


i have method:

public actionresult complete(int id) {     // validate customer owns order     bool isvalid = storedb.orders.any(         o => o.orderid == id &&         o.username == user.identity.name);     bool checkordervalue = storedb.orders.any(o => o.orderid == id && o.total == 0);    int musicaid = storedb.orderdetails.where(o => o.orderid == id).select(o => o.musicaid).firstordefault();      if (isvalid && checkordervalue)     {         int iduser = 0;         if (request.isauthenticated)         {             var membership = (webmatrix.webdata.simplemembershipprovider)membership.provider;             iduser = membership.getuserid(user.identity.name);         }          var musicas = storedb.musicas.where(x => x.musicaid == musicaid)                                      .select(x => new { x.nome, x.nomeartista, x.genero, x.path })                                      .tolist().first();          var y = new usuariomusica()         {             userid = iduser,             musicaid = musicaid,             generoid = musicas.genero.generoid,             genero = musicas.genero,             nome = musicas.nome,             nomeartista = musicas.nomeartista,             path = musicas.path         };         if (modelstate.isvalid)         {              storedb.usuariomusicas.add(y);             storedb.savechanges();          }          return view(id);     }     else     {         return view("error");     } } 

i want take list of id's on line:

int musicaid = storedb.orderdetails.where(o => o.orderid == id)                                    .select(o => o.musicaid).firstordefault(); 

and after this, need add each id database.

i think need make foreach list musicaid, don't know how i'll pass each id add database.

actually, method adding first element, know why, because firstordefault method.

how can change add more 1 id?

you have use foreach loop , save changes when elements added. example in way:

public actionresult complete(int id) {     // validate customer owns order     bool isvalid = storedb.orders.any(         o => o.orderid == id &&         o.username == user.identity.name);      bool checkordervalue = storedb.orders.any(o => o.orderid == id && o.total == 0);      if (isvalid && checkordervalue)     {         int iduser = 0;         if (request.isauthenticated)         {             var membership = (webmatrix.webdata.simplemembershipprovider)membership.provider;             iduser = membership.getuserid(user.identity.name);         }          var musicaids = storedb.orderdetails.where(o => o.orderid == id).select(o => o.musicaid).tolist();          foreach (var musicaid in musicaids)         {             var musicas = storedb.musicas.where(x => x.musicaid == musicaid)                 .select(x => new { x.nome, x.nomeartista, x.genero, x.path }).tolist().first();              var y = new usuariomusica()             {                 userid = iduser,                 musicaid = musicaid,                 generoid = musicas.genero.generoid,                 genero = musicas.genero,                 nome = musicas.nome,                 nomeartista = musicas.nomeartista,                 path = musicas.path             };              if (modelstate.isvalid)             {                 storedb.usuariomusicas.add(y);             }         }          storedb.savechanges();          return view(id);     }     else     {         return view("error");     } } 

Comments

Popular posts from this blog

Email notification in google apps script -

c++ - Difference between pre and post decrement in recursive function argument -

javascript - IE11 incompatibility with jQuery's 'readonly'? -