public async Task <ActionResult> CreateWork(NewWorkModel model) { if (!ModelState.IsValid) { model.OrgID = int.Parse(Session["orgid"].ToString()); model.StaffID = int.Parse(Session["orgid"].ToString()); using (var db = new DBContext()) { var staffs = await(from s in db.Staff where s.OrgID == model.OrgID && s.ID != model.StaffID select s).ToListAsync(); foreach (var item in staffs) { await(db.Entry(item) .Reference(x => x.User) .LoadAsync()); } model.Staffs = staffs; } return(View("NewWork", model)); } WorkModel newwork = new WorkModel(); AssignWorkModel newassignworkmodel = new AssignWorkModel(); try { using (var db = new DBContext()) { model.OrgID = int.Parse(Session["orgid"].ToString()); model.Assignee = int.Parse(Session["staffid"].ToString()); var work = await(from w in db.Work where w.OrgID == model.OrgID orderby w.ID descending select w).FirstOrDefaultAsync(); newwork.OrgID = model.OrgID; newwork.CreaterID = model.Assignee; newwork.Title = model.Title; newwork.Content = model.Content; newwork.CreateTime = DateTime.Now; db.Work.Add(newwork); newassignworkmodel.AssignID = model.Assignee; newassignworkmodel.AssignTime = DateTime.Now; newassignworkmodel.AssignToID = model.AssignTo; newassignworkmodel.Deadline = model.Deadline; newassignworkmodel.OrgID = model.OrgID; newwork.AssignWorks = new List <AssignWorkModel>(); newwork.AssignWorks.Add(newassignworkmodel); db.AssignWork.Add(newassignworkmodel); await db.SaveChangesAsync(); } return(Content("<script>window.parent.location.reload()</script>")); } catch (Exception e) { return(Json(e)); } }
public async Task <ActionResult> NewWork() { var model = new NewWorkModel(); model.OrgID = int.Parse(Session["orgid"].ToString()); model.StaffID = int.Parse(Session["orgid"].ToString()); using (var db = new DBContext()) { var staffs = await(from s in db.Staff where s.OrgID == model.OrgID && s.ID != model.StaffID select s).ToListAsync(); foreach (var item in staffs) { await(db.Entry(item) .Reference(x => x.User) .LoadAsync()); } model.Staffs = staffs; } return(View(model)); }