Это мой код .. у меня проблема в foreach (int idresult в idsp) l oop ... он не работает .. он всегда получает один и тот же идентификатор, не переходя к nextid, поэтому у меня проблема .
var rep = (из rs в banat.tblResultIds где rs.ResultId == id select rs) .ToList (); List idsp = new List (); foreach (var item в rep) {idsp.Add (item.ResultDetailId); }
string subjid="";
string obtainmarks = "";
var retp = (from rs in banat.tblSubjectDetails where rs.ClassId == classid && rs.Shashmahi == "TRUE" select rs).ToList();
bool doStuff = true;
foreach (var im in retp)
{
subjid = im.SubjectDetailId.ToString();
foreach (int idresult in idsp)
{
//doStuff = true;
foreach (TextBox txtSubject in pnlSubject.Controls.OfType<TextBox>())
{
//string myName = txtSubject.ID;
//subjid = myName.Remove(0, 7);
//subjid = item.SubjectDetailId.ToString();
foreach (TextBox textBox in pnlObtainMarks.Controls.OfType<TextBox>())
{
string obt = textBox.ID;
string ob = obt.Remove(0, 7);
TextBox tb = (TextBox)pnlObtainMarks.FindControl("Obtain" + subjid);
obtainmarks = tb.Text.Trim();
doStuff = false;
break;
}
doStuff = false;
break;
}
var dt = (from rs in banat.tblResultIds where rs.ResultDetailId == idresult select rs).FirstOrDefault();
if(dt!=null)
{
dt.ResultId = id;
dt.SubjectDetailId = Convert.ToInt32(subjid);
dt.ObtainMarks = Convert.ToInt32(obtainmarks);
banat.SaveChanges();
}
else
{
tblResultId rsid = new tblResultId();
dt.SubjectDetailId = Convert.ToInt32(subjid);
dt.ObtainMarks = Convert.ToInt32(obtainmarks);
dt.ResultId = id;
banat.tblResultIds.Add(dt);
banat.SaveChanges();
}
doStuff = false;
break;
}
}