public async Task <IActionResult> DisableEnableOfficeAsync([FromBody] DisableEnableOfficeRequestDto request) { var officeBiz = new OfficeBiz(); var officeAll = await officeBiz.GetAllAsync(); var officeModelList = officeAll.Where(a => a.OfficeName == request.OfficeName).ToList(); var childOffice = officeAll.Where(a => officeAll.Where(aa => aa.OfficeName == request.OfficeName).Select(aa => aa.OfficeGuid).Contains(a.ParentOfficeGuid)).ToList(); foreach (var item in childOffice) { item.LastUpdatedBy = UserID; item.LastUpdatedDate = DateTime.Now; item.Enable = request.Enable; } foreach (var item in officeModelList) { item.LastUpdatedBy = UserID; item.LastUpdatedDate = DateTime.Now; item.Enable = request.Enable; } officeModelList.AddRange(childOffice); var result = await officeBiz.UpdateAsync(officeModelList); if (!result) { return(Failed(ErrorCode.UserData, "修改失败")); } return(Success()); }
public async Task <IActionResult> UpdataOfficeAsync([FromBody] UpdataOfficeRequestDto request) { var officeBiz = new OfficeBiz(); var officeAll = await officeBiz.GetAllAsync(); if (request.ParentName == request.OfficeName) { return(Failed(ErrorCode.UserData, "一级科室不能是自己")); } var officeModelList = officeAll.Where(a => a.OfficeName == request.OfficeName).ToList(); var childOffice = officeAll.Where(a => officeAll.Where(aa => aa.OfficeName == request.OfficeName).Select(aa => aa.OfficeGuid).Contains(a.ParentOfficeGuid)).ToList(); if (!string.IsNullOrWhiteSpace(request.ParentName) && childOffice.Any()) { return(Failed(ErrorCode.UserData, "此科室存二级科室,不能移动到其他科室下面")); } //foreach (var item in childOffice) //{ // item.ParentOfficeGuid = officeAll.FirstOrDefault(b => b.OfficeName == request.OfficeName && b.HospitalGuid == item.HospitalGuid)?.ParentOfficeGuid; //} foreach (var item in officeModelList) { item.LastUpdatedBy = UserID; item.OfficeName = request.NewOfficeName; if (request.ParentName == null) { item.ParentOfficeGuid = null; } else { item.ParentOfficeGuid = officeAll.FirstOrDefault(b => b.OfficeName == request.ParentName && b.HospitalGuid == item.HospitalGuid)?.OfficeGuid; } item.Recommend = false; item.Enable = request.Enable; item.Sort = request.Sort; item.PictureGuid = request.PictureGuid; } //officeModelList.AddRange(childOffice); var result = await officeBiz.UpdateAsync(officeModelList, request.OfficeName, request.NewOfficeName); if (!result) { return(Failed(ErrorCode.UserData, "添加失败")); } return(Success()); }