public BaseJsonResult GetHouseStyles()
        {
            var designTheme = _packageService.GetAllHouseStyles();
            var result      = designTheme.Select(o => TaxomonyViewModel.FromEntity(o));

            return(new BaseJsonResult(Omi.Base.Properties.Resources.POST_SUCCEEDED, result));
        }
        public OkObjectResult GetAllProjectTypes()
        {
            var projectTypes          = _projectService.GetAllProjectType();
            var projectTypeViewModels = projectTypes.Select(o => TaxomonyViewModel.FromEntity(o));

            return(Ok(projectTypeViewModels));
        }
示例#3
0
        public BaseJsonResult GetAllProjectTypes()
        {
            var projectTypes          = _projectService.GetAllProjectType();
            var projectTypeViewModels = projectTypes.Select(o => TaxomonyViewModel.FromEntity(o));

            return(new BaseJsonResult(Omi.Base.Properties.Resources.POST_SUCCEEDED, projectTypeViewModels));
        }
示例#4
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);
        }
示例#5
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);
        }
示例#6
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);
        }
示例#7
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);
        }
        public async Task <OkObjectResult> Get(ProductGetViewModel viewModel)
        {
            var entityIds = new List <long>();

            if (viewModel.EntityId != default)
            {
                entityIds.Add(viewModel.EntityId);
            }

            var filterServiceModel = AutoMapper.Mapper.Map <ProductFilterServiceModel>(viewModel);

            filterServiceModel.Ids = entityIds;

            var products = _productService.GetProducts(filterServiceModel);

            if (string.IsNullOrEmpty(viewModel.SortField) == false)
            {
                if (viewModel.SortField == "code")
                {
                    products = (viewModel.SortOrder == "ascend") ? products.OrderBy(o => o.Code) : products.OrderByDescending(o => o.Code);
                }
                if (viewModel.SortField == "title")
                {
                    products = (viewModel.SortOrder == "ascend") ? products.OrderBy(o => o.Details.FirstOrDefault().Title) : products.OrderByDescending(o => o.Details.FirstOrDefault().Title);
                }
            }

            object actionOkResult = null;

            if (viewModel.GetMode == (int)GetMode.Paginated)
            {
                var pageList = await PaginatedList <ProductEntity> .CreateAsync(products, viewModel.Page, viewModel.PageSize);

                var result = new PageEntityViewModel <ProductEntity, ProductViewModel>(pageList, entity => ProductViewModel.FromEntity(entity));

                actionOkResult = result;
            }
            else if (viewModel.GetMode == (int)GetMode.List)
            {
                var result = products.Select(o => ProductEditViewModel.FromEntity(o));
                actionOkResult = result;
            }
            else
            {
                var product = products.FirstOrDefault(o => o.Id == viewModel.EntityId || o.Name == viewModel.Name);

                var result = new ProductEditViewModel();

                if (product != null)
                {
                    result = ProductEditViewModel.FromEntity(product);
                }

                if (viewModel.IsEditModel)
                {
                    var allBrand = _productTaxonomiesService.GetAllBrand();
                    var allType  = _productTaxonomiesService.GetAllProductType();

                    result.AvaliableBrands       = allBrand.Select(o => TaxomonyViewModel.FromEntity(o));
                    result.AvaliableProductTypes = allType.Select(o => TaxomonyViewModel.FromEntity(o));
                }

                actionOkResult = result;
            }

            return(Ok(actionOkResult));
        }
示例#9
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);
        }