示例#1
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);
        }
        public static ProjectBlockFile GetFileViewModel(ProjectBlockViewModel viewModel)
        {
            var projectBlockFile = new ProjectBlockFile
            {
                EntityId     = viewModel.Id,
                UsingType    = 0,
                FileEntityId = viewModel.LayoutImage?.FileId ?? default
            };

            return(projectBlockFile);
        }
        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);
        }
    }