public void UpdateSubjectComlexity(String SessionKey, int IDTask, int subject, int Comlexity) { CheckSession(SessionKey); using (var db = new DataBase()) { MM_TaskSubject MMT = (from c in db.MM_TaskSubject where c.TaskId == IDTask select c).SingleOrDefault <MM_TaskSubject>(); if (MMT == null) { MMT = new MM_TaskSubject() { TaskId = IDTask, SubjectId = subject }; db.MM_TaskSubject.AddObject(MMT); } MMT.SubjectId = subject; Task task = (from cc in db.Tasks where cc.Id == IDTask select cc).SingleOrDefault <Task>(); task.ComplexityId = Comlexity; db.SaveChanges(); } }
/// <summary> /// удаление темы /// </summary> /// <param name="SessionKey"></param> /// <param name="IDS">ИД темы</param> public void DeleteSubject(String SessionKey, Int32 IDS) { CheckSession(SessionKey); using (var db = new DataBase()) { // удаляем все связи в MM_TaskSubject // AccessButtons - просто по параметрам подходил IEnumerable <AccessButtons> mm = (from c in db.MM_TaskSubject where c.SubjectId == IDS select new AccessButtons { ID = c.SubjectId }).ToList(); foreach (var sub in mm) { MM_TaskSubject tas = (from c in db.MM_TaskSubject where c.SubjectId == sub.ID select c).SingleOrDefault <MM_TaskSubject>(); db.MM_TaskSubject.DeleteObject(tas); db.SaveChanges(); } ; Subject subj = (from c in db.Subjects where c.Id == IDS select c).SingleOrDefault <Subject>(); db.Subjects.DeleteObject(subj); db.SaveChanges(); } }
// создает новую задачу и возвращает ее public TaskExDTO CreateTask(String SessionKey) { CheckSession(SessionKey); using (var db = new DataBase()) { var task = new Task(); // установим все значения по умолчанию task.Title = "new Task"; task.TimeLimit_native = 2000; task.TimeLimit_javavm = 2000; task.TimeLimit_dotnet = 2000; task.TimeLimit_custom = 2000; task.MemoryLimit_native = 64000; task.MemoryLimit_javavm = 64000; task.MemoryLimit_dotnet = 64000; task.MemoryLimit_custom = 64000; task.OutputLimit = null; task.CodeLimit = null; task.TimeSolveProblem = 60; task.CountTestToText = 2; task.EnableCheck = false; task.EnableSend = false; db.Tasks.AddObject(task); db.SaveChanges(); MM_TaskSubject MMT = new MM_TaskSubject(); MMT.TaskId = task.Id; MMT.SubjectId = 1; db.MM_TaskSubject.AddObject(MMT); db.SaveChanges(); return(GetTask(SessionKey, task.Id, false)); } }