/// <summary> /// /// </summary> /// <param name="positionInfoViews"></param> /// <returns></returns> public static IList <PositionInfoDto> PositionViewToPositionInfo(IList <PositionInfoView> positionInfoViews) { IList <PositionInfoDto> positionInfoDtos = new List <PositionInfoDto>(); foreach (PositionInfoView positionInfoView in positionInfoViews) { PositionInfoDto positionInfoDto = AutoMapperExtensions.MapTo <PositionInfoDto>(positionInfoView); positionInfoDto.Roles = SerializationUtility.JsonToObject <IList <AbstractDto> >(positionInfoView.Roles); positionInfoDtos.Add(positionInfoDto); } return(positionInfoDtos); }
/// <summary> /// /// </summary> /// <param name="userViews"></param> /// <returns></returns> public static IList <RelationUserInfoDto> UserViewToUserDto(IList <RelationUserInfoView> userViews) { IList <RelationUserInfoDto> userInfoDtos = new List <RelationUserInfoDto>(); int i = 0; for (int k = 0; k < userViews.Count; k = i) { IList <UserPositionDto> userPositionDtos = new List <UserPositionDto>(); for (int j = i; j < userViews.Count; j++) { if (userViews[j].OrganizationId != null || userViews[j].DepartmentId != null || userViews[j].PositionId != null) { UserPositionDto userPositionDto = new UserPositionDto { OrganizationId = userViews[j].OrganizationId, DepartmentId = userViews[j].DepartmentId, PositionId = userViews[j].PositionId, OrganizationCode = userViews[j].OrganizationCode, DepartmentCode = userViews[j].DepartmentCode, PositionCode = userViews[j].PositionCode, OrganizationName = userViews[j].OrganizationName, DepartmentName = userViews[j].DepartmentName, PositionName = userViews[j].PositionName, UserType = userViews[j].UserType }; userPositionDtos.Add(userPositionDto); } if (j + 1 == userViews.Count || userViews[j + 1].UserId != userViews[j].UserId) { i = j + 1; break; } } RelationUserInfoDto userInfoDto = AutoMapperExtensions.MapTo <RelationUserInfoDto>(userViews[k]); userInfoDto.OrganizationIds = userPositionDtos; userInfoDtos.Add(userInfoDto); } return(userInfoDtos); }