コード例 #1
0
        public static BlogViewModel FromEntity(BlogEntity entity)
        {
            if (entity == null)
            {
                return(null);
            }

            var blogEntityDetail = entity.Details.First();

            var viewModelFromBlog       = AutoMapper.Mapper.Map <BlogViewModel>(entity);
            var viewModelFromBlogDetail = AutoMapper.Mapper.Map <BlogViewModel>(blogEntityDetail);

            var viewModel = viewModelFromBlog.MergeWith(viewModelFromBlogDetail);

            var avatar = entity.EntityFiles.FirstOrDefault(o => o.UsingType == (int)FileUsingType.Avatar)?.FileEntity;

            if (avatar != null)
            {
                viewModel.Avatar = FileEntityInfo.FromEntity(avatar);
            }

            var pictures = entity.EntityFiles.Where(o => o.UsingType == (int)FileUsingType.Picture);

            viewModel.Pictures = pictures.Select(picture => FileEntityInfo.FromEntity(picture.FileEntity));

            return(viewModel);
        }
コード例 #2
0
        public static ProjectBlockViewModel FromEnitity(ProjectBlock entity)
        {
            var detail = entity.ProjectBlockDetails.FirstOrDefault(o => o.Language == Omi.Base.Properties.Resources.DEFAULT_LANGUAGE);

            var viewModelResult = new ProjectBlockViewModel
            {
                Id           = entity.Id,
                Language     = detail.Language,
                Label        = detail.Label,
                EntityTypeId = entity.EntityTypeId,
                PackageId    = entity.PackageId,
                ParentId     = entity.PackageId,
                Children     = entity.Children?.Select(o => FromEnitity(o))
            };

            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);
        }
コード例 #3
0
        public BaseJsonResult GetFiles()
        {
            var entities = _fileService.GetFileEntities(new FileEntityFilterServiceModel {
                // Service model properties...
            });

            var result = entities.Select(fileEntity => FileEntityInfo.FromEntity(fileEntity));

            return(new BaseJsonResult(Omi.Base.Properties.Resources.POST_SUCCEEDED, result));
        }
コード例 #4
0
        public async Task <BaseJsonResult> Upload()
        {
            var uploadedEntity = await _fileService.Upload(Request.Form.Files, CurrentUser);

            if (uploadedEntity.Count() != 0)
            {
                _logger.LogInformation("A file was uploaded to server.");
            }

            var result = uploadedEntity.Select(fileEntity => FileEntityInfo.FromEntity(fileEntity));

            return(new BaseJsonResult(Omi.Base.Properties.Resources.POST_SUCCEEDED, result));
        }
コード例 #5
0
        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);
        }
    }
コード例 #6
0
        public static ProjectViewModel FromEntity(Project entity)
        {
            var entityDetail    = entity.Details.FirstOrDefault();
            var resultViewModel = AutoMapper.Mapper.Map <ProjectViewModel>(entityDetail);

            var projectType = entity.EntityTaxonomies.FirstOrDefault(o => o.Taxonomy.TaxonomyTypeId == ProjectTypeSeed.ProjectType.Id);

            resultViewModel.City = GeographicaLocationViewModel.FromEntity(entity.City);

            resultViewModel.CityId    = entity.CityId;
            resultViewModel.Id        = entity.Id;
            resultViewModel.Name      = entity.Name;
            resultViewModel.BudgetMin = entity.BudgetMin;
            resultViewModel.BudgetMax = entity.BudgetMax;

            resultViewModel.ProjectTypeId = projectType.TaxonomyId;
            resultViewModel.ProjectType   = TaxomonyViewModel.FromEntity(projectType.Taxonomy);

            var projectStatus = entity.EntityTaxonomies.FirstOrDefault(o => o.Taxonomy.TaxonomyTypeId == ProjectStatusSeed.ProjectStatus.Id);

            if (projectStatus != null)
            {
                resultViewModel.ProjectStatusId = projectStatus.TaxonomyId;
                resultViewModel.ProjectType     = TaxomonyViewModel.FromEntity(projectStatus.Taxonomy);
            }

            var avatarFile = entity.EntityFiles.FirstOrDefault(o => o.UsingType == (int)FileUsingType.Avatar).FileEntity;

            resultViewModel.Avatar = FileEntityInfo.FromEntity(avatarFile);

            var locationImage = entity.EntityFiles.FirstOrDefault(o => o.UsingType == (int)FileUsingType.LocationImage)?.FileEntity;

            if (locationImage != null)
            {
                resultViewModel.LocationImage = FileEntityInfo.FromEntity(locationImage);
            }

            var siteMapImage = entity.EntityFiles.FirstOrDefault(o => o.UsingType == (int)FileUsingType.SiteMapImage)?.FileEntity;

            if (locationImage != null)
            {
                resultViewModel.SiteMapImage = FileEntityInfo.FromEntity(siteMapImage);
            }

            resultViewModel.ProjectBlocks = entity.ProjectBlocks.Select(o => ProjectBlockViewModelExtension.FromEnitity(o));

            return(resultViewModel);
        }
コード例 #7
0
        private PackageViewModel ToPackageViewModel(Package package)
        {
            if (package == null)
            {
                return(null);
            }

            var packageViewModel = EmptyPackageViewModel;

            packageViewModel.Id = package.Id;

            var detail = package.PackageDetails.FirstOrDefault();

            packageViewModel.Price    = detail.Price;
            packageViewModel.Area     = detail.Area;
            packageViewModel.Title    = detail.Title;
            packageViewModel.SortText = detail.SortText;

            var avatarFile = package.EnitityFiles.FirstOrDefault(o => o.UsingType == (int)FileUsingType.Avatar);

            packageViewModel.Avatar = FileEntityInfo.FromEntity(avatarFile.FileEntity);

            var pictureFiles = package.EnitityFiles.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);

            packageViewModel.HouseTypeId    = houseType.TaxonomyId;
            packageViewModel.HouseTypeLabel = houseType.Taxonomy.TaxonomyDetails.FirstOrDefault(o => o.Language == Omi.Base.Properties.Resources.DEFAULT_LANGUAGE).Label;

            var designTheme = package.EntityTaxonomies.FirstOrDefault(o => o.Taxonomy.TaxonomyTypeId == DesignThemeSeed.DesignTheme.Id);

            packageViewModel.DesignThemeId    = designTheme.TaxonomyId;
            packageViewModel.DesignThemeLabel = designTheme.Taxonomy.TaxonomyDetails.FirstOrDefault(o => o.Language == Omi.Base.Properties.Resources.DEFAULT_LANGUAGE).Label;

            var includedItems = package.EntityTaxonomies.Where(o => o.Taxonomy.TaxonomyTypeId == PackageIncludedSeed.PackageIncludedItem.Id);

            packageViewModel.PackageIncludedItemIds = includedItems.Select(o => o.TaxonomyId);
            packageViewModel.PackageIncludedItems   = includedItems.Select(o => TaxomonyViewModel.FromEntity(o.Taxonomy));

            return(packageViewModel);
        }
コード例 #8
0
        public static ProjectViewModelExtended FromEntity(Project entity, ProjectViewModelExtended baseViewModel = null)
        {
            var entityDetail  = entity.ProjectDetails.FirstOrDefault();
            var avatarFile    = entity.EnitityFiles.FirstOrDefault(o => o.UsingType == (int)FileUsingType.Avatar).FileEntity;
            var projectType   = entity.EntityTaxonomies.FirstOrDefault(o => o.Taxonomy.TaxonomyTypeId == ProjectTypeSeed.ProjectType.Id);
            var projectStatus = entity.EntityTaxonomies.FirstOrDefault(o => o.Taxonomy.TaxonomyTypeId == ProjectStatusSeed.ProjectStatus.Id);

            var resultViewModel = baseViewModel ?? new ProjectViewModelExtended();

            resultViewModel.Id   = entity.Id;
            resultViewModel.Name = entity.Name;

            resultViewModel.Title          = entityDetail.Title;
            resultViewModel.Area           = entityDetail.Area;
            resultViewModel.Language       = entityDetail.Language;
            resultViewModel.Street         = entityDetail.Street;
            resultViewModel.StartedYear    = entityDetail.StartedYear;
            resultViewModel.TotalApartment = entityDetail.TotalApartment;
            resultViewModel.Website        = entityDetail.Website;
            resultViewModel.Invertor       = entityDetail.Investor;
            resultViewModel.MapLatitude    = entityDetail.MapLatitude;
            resultViewModel.MapLongitude   = entityDetail.MapLongitude;

            resultViewModel.CityId        = entity.CityId;
            resultViewModel.ProjectTypeId = projectType.TaxonomyId;
            resultViewModel.ProjectType   = TaxomonyViewModel.FromEntity(projectType.Taxonomy);

            if (projectStatus != null)
            {
                resultViewModel.ProjectStatusId = projectStatus.TaxonomyId;
                resultViewModel.ProjectType     = TaxomonyViewModel.FromEntity(projectStatus.Taxonomy);
            }

            resultViewModel.ProjectBlocks = entity.ProjectBlocks.Select(o => ProjectBlockViewModelExtension.FromEnitity(o));

            resultViewModel.Avatar = FileEntityInfo.FromEntity(avatarFile);

            return(resultViewModel);
        }
コード例 #9
0
        public static ProductViewModel FromEntity(ProductEntity entity)
        {
            var productEntityDetail = entity.Details.First();

            var viewModelFromProduct       = AutoMapper.Mapper.Map <ProductViewModel>(entity);
            var viewModelFromProductDetail = AutoMapper.Mapper.Map <ProductViewModel>(productEntityDetail);

            var viewModel = viewModelFromProduct.MergeWith(viewModelFromProductDetail);

            var brand = entity.EntityTaxonomies.FirstOrDefault(o => o.Taxonomy.TaxonomyTypeId == Seed.BaseBrandSeed.ProductBrand.Id)?.Taxonomy;

            if (brand != null)
            {
                viewModel.Brand   = TaxomonyViewModel.FromEntity(brand);
                viewModel.BrandId = brand.Id;
            }

            var type = entity.EntityTaxonomies.FirstOrDefault(o => o.Taxonomy.TaxonomyTypeId == Seed.BaseProductTypeSeed.ProductType.Id)?.Taxonomy;

            if (type != null)
            {
                viewModel.Type   = TaxomonyViewModel.FromEntity(type);
                viewModel.TypeId = type.Id;
            }

            var avatar = entity.EntityFiles.FirstOrDefault(o => o.UsingType == (int)FileUsingType.Avatar)?.FileEntity;

            if (avatar != null)
            {
                viewModel.Avatar = FileEntityInfo.FromEntity(avatar);
            }

            var pictures = entity.EntityFiles.Where(o => o.UsingType == (int)FileUsingType.Picture);

            viewModel.Pictures = pictures.Select(picture => FileEntityInfo.FromEntity(picture.FileEntity));

            return(viewModel);
        }
コード例 #10
0
        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);
        }