/// <summary> /// 根据资产编号返回资产信息 /// </summary> /// <param name="ID">资产编号</param> /// <returns></returns> public AssetsOutputDto GetAssetsBysn(string ID) { var dto = from assetse in SMOSECDbContext.Assetss //join user in SMOSECDbContext.Userman on assetse.use_man_id equals user.id join type in SMOSECDbContext.AssetsTypes on assetse.asset_type_id equals type.id join location in SMOSECDbContext.AssLocations on assetse.machine_room_id equals location.id join brand in SMOSECDbContext.AssetsBrands on assetse.brand_id equals brand.id //join team in SMOSECDbContext.AssetsTeam on assetse.team_id equals team.id //join pro in SMOSECDbContext.AssetsProject on assetse.project_id equals pro.id join payman in SMOSECDbContext.AssetPayman on assetse.pay_man_id equals payman.id //join role in SMOSECDbContext.AssetRole on assetse.role_id equals role.id where assetse.sn == ID select new AssetsOutputDto { id = assetse.id, AssId = assetse.uuid, IP = assetse.IP, Num = assetse.asset_number, SN = assetse.sn, TypeId = assetse.asset_type_id, TypeName = type.name, Brandname = brand.name, LocationId = assetse.machine_room_id, LocationName = location.name, Position = assetse.position, Status = assetse.status, //StatusName = "", Payman = payman.name, //Project = pro.name, //Team = team.name, //Role = role.name, CurrentUser = assetse.use_man_id, //CurrentUserName = user.name, //BorrowDate = DateTime.Now, //ReturnDate = DateTime.Now, BorrowDate = assetse.give_time, ReturnDate = assetse.return_time, Note = assetse.remark, Brandid = assetse.brand_id, pay_man_id = assetse.pay_man_id, project_id = assetse.project_id, role_id = assetse.role_id, team_id = assetse.team_id, }; var assdto = dto.AsNoTracking().FirstOrDefault(); if (assdto != null) { if (assdto.project_id != null) { var project = _assetsProRepository.GetByID((int)assdto.project_id); var firstOrDefault = project.FirstOrDefault(); if (firstOrDefault != null) { assdto.Project = firstOrDefault.name; } } if (assdto.role_id != null) { var role = _assetsRoleRepository.GetByID((int)assdto.role_id); var firstOrDefault = role.FirstOrDefault(); if (firstOrDefault != null) { assdto.Role = firstOrDefault.name; } } if (assdto.team_id != null) { var team = _assetsTeamRepository.GetByID((int)assdto.team_id); var firstOrDefault = team.FirstOrDefault(); if (firstOrDefault != null) { assdto.Team = firstOrDefault.name; } } if (assdto.CurrentUser != null) { var user = _assetsUserRepository.GetByID((int)assdto.CurrentUser); var firstOrDefault = user.FirstOrDefault(); if (firstOrDefault != null) { assdto.CurrentUserName = firstOrDefault.name; } } } return(assdto); //return dto.AsNoTracking().FirstOrDefault(); }