async public Task <ApiResult> _Add([FromForm] int DepartmentId, [FromForm] string Title, [FromForm] string DutyContent, [FromForm] string JobContent, [FromForm] DateTime CreateTime, [FromForm] DateTime UpdateTime, [FromForm] bool IsDeleted, [FromForm] int Sort, [FromForm] int[] mn_Roles_Id, [FromForm] int[] mn_Persons_Id) { var item = new OrgPost(); item.DepartmentId = DepartmentId; item.Title = Title; item.DutyContent = DutyContent; item.JobContent = JobContent; item.CreateTime = CreateTime; item.UpdateTime = UpdateTime; item.IsDeleted = IsDeleted; item.Sort = Sort; using (var ctx = fsql.CreateDbContext()) { await ctx.AddAsync(item); //关联 AuthRole var mn_Roles = mn_Roles_Id.Select((mn, idx) => new AuthRole.AuthRolePost { RoleId = mn, OrgPostId = item.Id }).ToArray(); await ctx.AddRangeAsync(mn_Roles); //关联 OrgPerson var mn_Persons = mn_Persons_Id.Select((mn, idx) => new OrgPost.OrgPostPerson { PersonId = mn, PostId = item.Id }).ToArray(); await ctx.AddRangeAsync(mn_Persons); await ctx.SaveChangesAsync(); } return(ApiResult <object> .Success.SetData(item)); }
/// <summary> /// 部门表单页 /// </summary> /// <param name="user"></param> /// <param name="entity"></param> /// <returns></returns> public IActionResult PostForm(SysUser user, OrgPost entity) { if (Request.IsAjaxRequest()) { StateCode code = ServiceIoc.Get <OrgPostService>().Save(user.id, entity); return(Json(GetResult(code))); } else { //所属公司 List <Company> menuList = ServiceIoc.Get <CompanyService>().GetTrees("", HttpUtility.HtmlDecode(" ")); menuList.Insert(0, new Company() { name = "根目录", id = 0 }); ViewBag.Parents = menuList; //所属部门 List <Department> departments = ServiceIoc.Get <DepartmentService>().GetTrees("", HttpUtility.HtmlDecode(" ")); departments.Insert(0, new Department() { name = "根目录", id = 0 }); ViewBag.Departments = departments; //所属岗位 List <OrgPost> posts = ServiceIoc.Get <OrgPostService>().GetTrees("", HttpUtility.HtmlDecode(" ")); posts.Insert(0, new OrgPost() { name = "根目录", id = 0 }); ViewBag.Posts = posts; entity = ServiceIoc.Get <OrgPostService>().GetById(bid); if (entity != null) { ViewBag.entity = JsonConvert.SerializeObject(entity); } } return(View()); }
async public Task <ApiResult> _Edit([FromForm] int DepartmentId, [FromForm] string Title, [FromForm] string DutyContent, [FromForm] string JobContent, [FromForm] int Id, [FromForm] DateTime CreateTime, [FromForm] DateTime UpdateTime, [FromForm] bool IsDeleted, [FromForm] int Sort, [FromForm] int[] mn_Roles_Id, [FromForm] int[] mn_Persons_Id) { var item = new OrgPost(); item.Id = Id; using (var ctx = fsql.CreateDbContext()) { ctx.Attach(item); item.DepartmentId = DepartmentId; item.Title = Title; item.DutyContent = DutyContent; item.JobContent = JobContent; item.CreateTime = CreateTime; item.UpdateTime = UpdateTime; item.IsDeleted = IsDeleted; item.Sort = Sort; await ctx.UpdateAsync(item); //关联 AuthRole if (mn_Roles_Id != null) { var mn_Roles_Id_list = mn_Roles_Id.ToList(); var oldlist = ctx.Set <AuthRole.AuthRolePost>().Where(a => a.OrgPostId == item.Id).ToList(); foreach (var olditem in oldlist) { var idx = mn_Roles_Id_list.FindIndex(a => a == olditem.RoleId); if (idx == -1) { ctx.Remove(olditem); } else { mn_Roles_Id_list.RemoveAt(idx); } } var mn_Roles = mn_Roles_Id_list.Select((mn, idx) => new AuthRole.AuthRolePost { RoleId = mn, OrgPostId = item.Id }).ToArray(); await ctx.AddRangeAsync(mn_Roles); } //关联 OrgPerson if (mn_Persons_Id != null) { var mn_Persons_Id_list = mn_Persons_Id.ToList(); var oldlist = ctx.Set <OrgPost.OrgPostPerson>().Where(a => a.PostId == item.Id).ToList(); foreach (var olditem in oldlist) { var idx = mn_Persons_Id_list.FindIndex(a => a == olditem.PersonId); if (idx == -1) { ctx.Remove(olditem); } else { mn_Persons_Id_list.RemoveAt(idx); } } var mn_Persons = mn_Persons_Id_list.Select((mn, idx) => new OrgPost.OrgPostPerson { PersonId = mn, PostId = item.Id }).ToArray(); await ctx.AddRangeAsync(mn_Persons); } var affrows = await ctx.SaveChangesAsync(); if (affrows > 0) { return(ApiResult.Success.SetMessage($"更新成功,影响行数:{affrows}")); } } return(ApiResult.Failed); }