public void Save() { if (EditorStatus != EditorStatus.NoChanged) { EditCourse.SaveCourseRecordEditor(new CourseRecordEditor[] { this }); } }
protected void AddCourseButton_Click(object sender, EventArgs e) { int courseId = Convert.ToInt16(Request.QueryString["CourseId"]); bool discontinued = false; bool editSuccess; if (AddCourseDiscontinued.SelectedIndex == 1) discontinued = true; EditCourse edit = new EditCourse(); if (courseId == 0) { editSuccess = edit.EditRoll(AddCourseName.Text, discontinued, AddCourseCreditHours.Text); } else { editSuccess = edit.EditRoll(courseId, AddCourseName.Text, discontinued, AddCourseCreditHours.Text); } if (editSuccess) { // Reload the page. Response.Redirect("/Admin/Course/Course_Display.aspx"); } }
// PUT: api/Courses/5 public IHttpActionResult PutCourse(int id, EditCourse editCourseRequest) { if (id != editCourseRequest.Id || !CourseExists(id)) { return(BadRequest()); } Course course = db.Courses.Find(id); var configuration = new MapperConfiguration(cfg => cfg.CreateMap <EditCourse, Course>()); new Mapper(configuration).Map <EditCourse, Course>(editCourseRequest, course); course.Professors = course.Professors.Where(p => editCourseRequest.ProfessorIds.Contains(p.Id)).ToList(); editCourseRequest.ProfessorIds .Where(pId => !course.Professors.Select(p => p.Id).Contains(pId)) .Select(pId => db.Staffs.Find(pId)) .ToList() .ForEach(proffessor => course.Professors.Add(proffessor)); course.Assistants = course.Assistants.Where(a => editCourseRequest.AssistantIds.Contains(a.Id)).ToList(); editCourseRequest.AssistantIds .Where(aId => !course.Assistants.Select(a => a.Id).Contains(aId)) .Select(aId => db.Staffs.Find(aId)) .ToList() .ForEach(assistant => course.Assistants.Add(assistant)); db.SaveChanges(); return(Ok(course)); }
private void buttonX2_Click(object sender, EventArgs e) { List <string> AttendList = new List <string>(); this.UseWaitCursor = true; int changedCount = 0; DSXmlHelper helper = new DSXmlHelper("UpdateSCAttend"); foreach (AttInfo each in _AttendInfoList) { if (each.HasChanged) { changedCount++; XmlElement attend = helper.AddElement("Attend"); DSXmlHelper.AppendChild(attend, "<ID>" + each.AttendID + "</ID>"); DSXmlHelper.AppendChild(attend, "<RefCourseID>" + each.CourseID + "</RefCourseID>"); helper.AddElement(".", attend); AttendList.Add(each.AttendID); } } if (changedCount > 0) { EditCourse.UpdateAttend(helper); } //更新課程List資料 //SCAttend.Instance.SyncDataBackground(AttendList); FISCA.Presentation.MotherForm.SetStatusBarMessage("調整修課學生完成。"); //Customization.PlugIn.Global.SetStatusBarMessage("調整修課學生完成。"); this.UseWaitCursor = false; this.Close(); }
public void UpdateToServer() { int progress = 0; bool updateRequired = false; foreach (List <Course> each in _packings) { DSXmlHelper request = new DSXmlHelper("Request"); foreach (Course course in each) { if (course.ExamTemplate == null) { continue; } if (!course.ExamRequired) { continue; } //AllowUpload 為 True 時,略過成績計算,因為成績是由老師提供。 if (course.ExamTemplate.AllowUpload) { continue; } foreach (SCAttend attend in course.SCAttends.Values) { XmlElement xmlAttend = request.AddElement("Attend"); DSXmlHelper hlpAttend = new DSXmlHelper(xmlAttend); hlpAttend.AddElement(".", "ID", attend.Identity); if (_clear_data) { hlpAttend.AddElement(".", "Score", ""); attend.PreviousScore = string.Empty; } else { hlpAttend.AddElement(".", "Score", attend.Score); attend.SaveScore(); } updateRequired = true; //指示是否要執行呼叫 Service 的動作。 progress++; } } if (updateRequired) { EditCourse.UpdateAttend(request); } Progress.ReportProgress("", progress); } }
public bool UpdateCourse(EditCourse model) { using (var ctx = new ApplicationDbContext()) { var entity = ctx .Courses .Single(e => e.Id == model.CourseId); entity.Name = model.CourseName; entity.Description = model.CourseDescription; return(ctx.SaveChanges() > 0); } }
public async Task <bool> NewCourse(EditCourse editCourse) { Console.WriteLine("Begin submit api new course"); var stringPayload = JsonConvert.SerializeObject(editCourse); var postRequest = new StringContent(stringPayload, System.Text.Encoding.UTF8, "application/json"); var response = await client.PostAsync(OpenMooc.Constants.BACKEND_URL + "/course/new", postRequest); if (response.StatusCode == System.Net.HttpStatusCode.OK) { return(true); } Console.WriteLine($"Error while call api new course: {response.StatusCode}, {response.Content}"); return(false); }
public ActionResult Edit(int id) { var service = CreateCourseService(); var detail = service.GetCourseById(id); var model = new EditCourse { CourseId = detail.CourseId, CourseName = detail.CourseName, CourseDescription = detail.CourseDescription }; return(View(model)); }
public ActionResult UpdateCourse(int id, EditCourse editCourse) { try { Course course = repository.GetById(id); if (course == null) { return(NotFound()); } course = mapper.Map(editCourse, course); repository.Update(course); return(Ok()); } catch (Exception) { return(BadRequest()); } }
public IActionResult Edit(int id, EditCourseViewModel viewModel, [FromServices] EditCourse command) { //Orignal course var course = queryDb.CoursesWithInstructors.Where(c => c.CourseId == id).Single(); //Maps changes from viewModel to course course = mapper.Map <Course>(viewModel); course.CourseId = id; //Inserts course to command command.Course = course; //Execute command command.Run(); if (command.Status) { return(RedirectToAction("Index", "Course")); } else { return(RedirectToAction("Error", "Course")); } }
public ActionResult Edit(int id, EditCourse model) { if (!ModelState.IsValid) { return(View(model)); } if (model.CourseId != id) { ModelState.AddModelError("", "Id Mismatch"); return(View(model)); } var service = CreateCourseService(); if (service.UpdateCourse(model)) { TempData["SaveResult"] = "Your course was updated."; return(RedirectToAction("Index")); } ModelState.AddModelError("", "Your course could not be updated."); return(View(model)); }
private void editCourseToolStripMenuItem_Click(object sender, EventArgs e) { EditCourse edit = new EditCourse(); edit.Show(); }
private void editbtn_Click(object sender, EventArgs e) { EditCourse ec = new EditCourse(_cs); ec.ShowDialog(); }
public override void Save() { List <AttendInfo> insertList = new List <AttendInfo>(); //新增清單 List <AttendInfo> updateList = new List <AttendInfo>(); //更新清單 List <AttendInfo> deleteList = new List <AttendInfo>(); //刪除清單 GetList(insertList, updateList, deleteList); try { List <string> synclist = new List <string>(); DSXmlHelper helper = new DSXmlHelper("InsertSCAttend"); foreach (AttendInfo each in insertList) { XmlElement attend = helper.AddElement("Attend"); DSXmlHelper.AppendChild(attend, "<RefStudentID>" + each.RefStudentID.ToString() + "</RefStudentID>"); DSXmlHelper.AppendChild(attend, "<RefCourseID>" + RunningID + "</RefCourseID>"); DSXmlHelper.AppendChild(attend, "<IsRequired>" + each.IsRequired + "</IsRequired>"); DSXmlHelper.AppendChild(attend, "<RequiredBy>" + each.RequiredBy + "</RequiredBy>"); //DSXmlHelper.AppendChild(attend, "<GradeYear>" + each.GradeYear + "</GradeYear>"); helper.AddElement(".", attend); } if (insertList.Count > 0) { DSXmlHelper insertResult = AddCourse.AttendCourse(helper).GetContent(); foreach (XmlElement each in insertResult.GetElements("NewID")) { synclist.Add(each.InnerText); } } helper = new DSXmlHelper("UpdateSCAttend"); foreach (AttendInfo each in updateList) { XmlElement attend = helper.AddElement("Attend"); DSXmlHelper.AppendChild(attend, "<ID>" + each.Identity + "</ID>"); DSXmlHelper.AppendChild(attend, "<IsRequired>" + each.IsRequired + "</IsRequired>"); DSXmlHelper.AppendChild(attend, "<RequiredBy>" + each.RequiredBy + "</RequiredBy>"); synclist.Add(each.Identity.ToString()); helper.AddElement(".", attend); } if (updateList.Count > 0) { EditCourse.UpdateAttend(helper); } helper = new DSXmlHelper("DeleteSCAttendRequest"); foreach (AttendInfo each in deleteList) { XmlElement attend = helper.AddElement("Attend"); DSXmlHelper.AppendChild(attend, "<ID>" + each.Identity + "</ID>"); synclist.Add(each.Identity.ToString()); helper.AddElement(".", attend); } if (deleteList.Count > 0) { EditCourse.DeleteAttend(helper); } #region Log StringBuilder desc = new StringBuilder(""); desc.AppendLine("課程名稱:" + Course.Instance.Items[RunningID].Name); if (insertList.Count > 0) { desc.AppendLine("加入修課學生:"); } foreach (AttendInfo info in insertList) { desc.AppendLine("- " + info.Class + " " + info.StudentNumber + " " + info.StudentName + " "); } if (deleteList.Count > 0) { desc.AppendLine("移除課程修課學生:"); } foreach (AttendInfo info in deleteList) { desc.AppendLine("- " + info.Class + " " + info.StudentNumber + " " + info.StudentName + " "); } if (updateList.Count > 0) { desc.AppendLine("課程修課學生修課資訊調整:"); } foreach (AttendInfo info in updateList) { desc.AppendLine("- " + info.Class + " " + info.StudentNumber + " " + info.StudentName + " "); } //CurrentUser.Instance.AppLog.Write(EntityType.Course, "修改課程修課學生", RunningID, desc.ToString(), "課程", ""); FISCA.LogAgent.ApplicationLog.Log("課程基本資料", "修改課程修課學生", desc.ToString()); #endregion //SCAttend.Instance.SyncDataBackground(synclist); LoadContent(RunningID); } catch (Exception ex) { MsgBox.Show("儲存失敗:" + ex.Message); } }
public override void Save() { // 產生新增成績 Request int insertStudentCount = 0; int updateStudentCount = 0; int deleteStudentCount = 0; int usCount = 0; DSXmlHelper insertHelper = new DSXmlHelper("Request"); DSXmlHelper updateHelper = new DSXmlHelper("Request"); DSXmlHelper deleteHelper = new DSXmlHelper("Request"); DSXmlHelper usHelper = new DSXmlHelper("Request"); insertHelper.AddElement("ScoreSheetList"); updateHelper.AddElement("ScoreSheetList"); deleteHelper.AddElement("ScoreSheet"); foreach (DataGridViewRow row in dataGridView1.Rows) { string attendid = row.Tag.ToString(); foreach (DataGridViewCell cell in row.Cells) { IExamCell ic = cell.Tag as IExamCell; if (ic == null) { continue; } ColumnSetting setting = dataGridView1.Columns[cell.ColumnIndex].Tag as ColumnSetting; string examid = setting.Key; if (ic is ScoreExamCell && ic.IsDirty) { usCount++; usHelper.AddElement("Attend"); usHelper.AddElement("Attend", "Score", ic.GetValue()); usHelper.AddElement("Attend", "ID", attendid); } else if (string.IsNullOrEmpty(ic.Key) && ic.IsDirty) { insertStudentCount++; insertHelper.AddElement("ScoreSheetList", "ScoreSheet"); insertHelper.AddElement("ScoreSheetList/ScoreSheet", "ExamID", examid); insertHelper.AddElement("ScoreSheetList/ScoreSheet", "AttendID", attendid); insertHelper.AddElement("ScoreSheetList/ScoreSheet", "Score", ic.GetValue()); } else if (!string.IsNullOrEmpty(ic.Key) && ic.IsDirty && !string.IsNullOrEmpty(ic.GetValue())) { updateStudentCount++; updateHelper.AddElement("ScoreSheetList", "ScoreSheet"); updateHelper.AddElement("ScoreSheetList/ScoreSheet", "Score", ic.GetValue()); updateHelper.AddElement("ScoreSheetList/ScoreSheet", "ID", ic.Key); } else if (!string.IsNullOrEmpty(ic.Key) && ic.IsDirty && string.IsNullOrEmpty(ic.GetValue())) { deleteStudentCount++; deleteHelper.AddElement("ScoreSheet", "ID", ic.Key); } } } if (insertStudentCount > 0) { EditCourse.InsertSCEScore(new DSRequest(insertHelper)); } if (updateStudentCount > 0) { EditCourse.UpdateSCEScore(new DSRequest(updateHelper)); } if (deleteStudentCount > 0) { EditCourse.DeleteSCEScore(new DSRequest(deleteHelper)); } if (usCount > 0) { EditCourse.UpdateAttend(usHelper); } SaveButtonVisible = false; LoadContent(RunningID); }
/// <summary> /// 儲存在集合中的所有課程資料。 /// </summary> public static void SaveAllEditors(this IEnumerable <CourseRecordEditor> editors) { EditCourse.SaveCourseRecordEditor(editors); }
public void RemoveCourseTeachers(XmlElement request) { EditCourse.RemoveCourseTeachers(new DSXmlHelper(request)); }
public void AddCourseTeachers(XmlElement request) { EditCourse.AddCourseTeacher(new DSXmlHelper(request)); }