public static ProjectBlockViewModel FromEnitity(ProjectBlock entity) { var detail = entity.ProjectBlockDetails.FirstOrDefault(o => o.ForCurrentRequestLanguage()); var viewModelResult = new ProjectBlockViewModel { Id = entity.Id, EntityTypeId = entity.EntityTypeId, PackageId = entity.PackageId, ParentId = entity.PackageId, Children = entity.Children?.Select(o => FromEnitity(o)) }; if (entity.Project != null) { viewModelResult.Project = new ProjectViewModel() { Id = entity.Project.Id, Name = entity.Project.Name } } ; if (entity.Package != null) { viewModelResult.Package = PackageViewModel.FromEntity(entity.Package); } if (detail != null) { viewModelResult = viewModelResult.MergeWith(AutoMapper.Mapper.Map <ProjectBlockViewModel>(detail)); } var layoutImageFileEntity = entity.ProjectBlockFiles.FirstOrDefault(o => o.UsingType == 0); if (layoutImageFileEntity != null) { viewModelResult.LayoutImage = FileEntityInfo.FromEntity(layoutImageFileEntity.FileEntity); } viewModelResult.LayoutPoints = entity.ProjectBlockFiles.Where(o => o.UsingType == 1).Select(o => { var obj = Newtonsoft.Json.JsonConvert.DeserializeObject <LayoutPoint>(o.JsonData); obj.Image = FileEntityInfo.FromEntity(o.FileEntity); return(obj); }); return(viewModelResult); } }
public static PackageViewModel FromEntity(Package package) { if (package == null) { return(null); } var packageViewModel = new PackageViewModel(); packageViewModel.Id = package.Id; packageViewModel.Name = package.Name; packageViewModel.ProjectBlockId = package.ProjectBlockId; packageViewModel.IsPerspective = package.IsPerspective; var detail = package.Details.FirstOrDefault(); if (detail != null) { packageViewModel.Price = detail.Price; packageViewModel.Area = detail.Area; packageViewModel.Title = detail.Title; packageViewModel.SortText = detail.SortText; } var avatarFile = package.EntityFiles.FirstOrDefault(o => o.UsingType == (int)FileUsingType.Avatar); if (avatarFile != null) { packageViewModel.Avatar = FileEntityInfo.FromEntity(avatarFile.FileEntity); } var pictureFiles = package.EntityFiles.Where(o => o.UsingType == (int)FileUsingType.Picture); packageViewModel.Pictures = pictureFiles.Select(o => FileEntityInfo.FromEntity(o.FileEntity)); var houseType = package.EntityTaxonomies.FirstOrDefault(o => o.Taxonomy.TaxonomyTypeId == HouseStyleSeed.HouseStyle.Id); if (houseType != null) { packageViewModel.HouseTypeId = houseType.TaxonomyId; packageViewModel.HouseTypeLabel = houseType.Taxonomy.Details.FirstOrDefault(o => o.ForCurrentRequestLanguage()).Label; } var designTheme = package.EntityTaxonomies.FirstOrDefault(o => o.Taxonomy.TaxonomyTypeId == DesignThemeSeed.DesignTheme.Id); if (designTheme != null) { packageViewModel.DesignThemeId = designTheme.TaxonomyId; packageViewModel.DesignThemeLabel = designTheme.Taxonomy.Details.FirstOrDefault(o => o.ForCurrentRequestLanguage()).Label; } var includedItems = package.EntityTaxonomies.Where(o => o.Taxonomy.TaxonomyTypeId == PackageIncludedSeed.PackageIncludedItem.Id); if (includedItems != null) { packageViewModel.PackageIncludedItemIds = includedItems.Select(o => o.TaxonomyId); packageViewModel.PackageIncludedItems = includedItems.Select(o => TaxomonyViewModel.FromEntity(o.Taxonomy)); } var furnitureIncludedItems = package.EntityTaxonomies.Where(o => o.Taxonomy.TaxonomyTypeId == PackageFunitureIncludedSeed.PackageFunitureIncludedItem.Id); if (furnitureIncludedItems != null) { packageViewModel.PackageFurnitureIncludedItemIds = furnitureIncludedItems.Select(o => o.TaxonomyId); packageViewModel.PackageFurnitureIncludedItems = furnitureIncludedItems.Select(o => TaxomonyViewModel.FromEntity(o.Taxonomy)); } packageViewModel.Products = new List <PackageProductViewModel>(package.EntityProducts.Select(o => PackageProductViewModel.FromEntity(o))); return(packageViewModel); }