示例#1
0
        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());
        }
示例#2
0
        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());
        }