Пример #1
0
 public JsonResult SubjectsDet_Create([DataSourceRequest] DataSourceRequest request, SubjectModel subject, string SubjectID)
 {
     db.Configuration.ProxyCreationEnabled = false;
     if (SubjectID != "")
     {
         int id = Convert.ToInt32(SubjectID);
         if (ModelState.IsValid && id != null)
         {
             subject.SubjectsID = id;
             GradeSub gs = new GradeSub();
             gs.SubjectsID = id;
             gs.GradeID    = subject.GradeID;
             for (int i = 0; i < subject.Employees.Count; i++)
             {
                 int empid = subject.Employees[i].EmployeeID;
                 var data  = db.GradeSubs.Include("Staff").FirstOrDefault(q => q.SubjectsID == id && q.GradeID == gs.GradeID && q.Staff.EmployeeID == empid);
                 if (data == null)
                 {
                     gs.EmployeeID        = subject.Employees[i].EmployeeID;
                     subject.Employees[i] = db.Staffs.Single(q => q.EmployeeID == empid);
                     db.Entry(gs).State   = System.Data.Entity.EntityState.Added;
                     db.SaveChanges();
                 }
             }
         }
     }
     return(Json(ModelState.IsValid ? true : ModelState.ToDataSourceResult()));
 }
Пример #2
0
 public JsonResult SubjectsDet_Update([DataSourceRequest] DataSourceRequest request, SubjectModel subject, string SubjectID)
 {
     db.Configuration.ProxyCreationEnabled = false;
     if (SubjectID != "")
     {
         int id = Convert.ToInt32(SubjectID);
         if (ModelState.IsValid)
         {
             List <GradeSub> data = db.GradeSubs.Include("Staff").Where(s => s.GradeID == subject.GradeID && s.SubjectsID == id).ToList();
             for (int i = 0; i < subject.Employees.Count; i++)
             {
                 int empid = subject.Employees[i].EmployeeID;
                 int index = data.FindIndex(s => s.Staff.EmployeeID == empid);
                 if (index == -1)
                 {
                     GradeSub gs = new GradeSub();
                     gs.SubjectsID        = subject.SubjectsID;
                     gs.GradeID           = subject.GradeID;
                     gs.EmployeeID        = subject.Employees[i].EmployeeID;
                     subject.Employees[i] = db.Staffs.Single(q => q.EmployeeID == empid);
                     db.Entry(gs).State   = System.Data.Entity.EntityState.Added;
                     db.SaveChanges();
                 }
             }
             foreach (GradeSub gs in data)
             {
                 int empid = gs.EmployeeID;
                 int index = subject.Employees.FindIndex(s => s.EmployeeID == empid);
                 if (index == -1)
                 {
                     db.GradeSubs.Attach(gs);
                     db.GradeSubs.Remove(gs);
                 }
             }
             db.SaveChanges();
         }
     }
     return(Json(ModelState.IsValid ? true : ModelState.ToDataSourceResult()));
 }