public DataTypeViewModel(DocumentIdViewModel id, DocumentUriViewModel uri, TitlesViewModel titlesViewModel, SyntaxViewModel syntaxViewModel, DocumentReferenceViewModel @base, LocationViewModel location, InheritanceViewModel inheritance, ParametersViewModel parameters, ReturnsViewModel returns, UxClassPropertiesViewModel uxProperties, ValuesViewModel values, CommentViewModel comment, DocumentReferenceViewModel declaredIn, ImplementedInterfacesViewModel implementedInterfaces, AttributesViewModel attributes, IEntity underlyingEntity) : base(id, uri, titlesViewModel, syntaxViewModel, comment, declaredIn, underlyingEntity) { Base = @base; Location = location; Inheritance = inheritance; Parameters = parameters; Returns = returns; UxProperties = uxProperties; Values = values; ImplementedInterfaces = implementedInterfaces; Attributes = attributes; }
public SwizzlerTypeViewModel(DocumentIdViewModel id, DocumentUriViewModel uri, TitlesViewModel titles, CommentViewModel comment) : base(id, uri, titles, null, comment, null, null) { }
public NamespaceViewModel(DocumentIdViewModel id, DocumentUriViewModel uri, TitlesViewModel titles, SyntaxViewModel syntax, CommentViewModel comment) : base(id, uri, titles, syntax, comment, null, null) { }
void AddMemberToTarget(Member member, DataType parentDataType, HashSet <DocumentViewModel> target) { // If this is some kind of overridden member, try to resolve the original declaration as it's the one that's // interesting to us member = ResolveOriginalDeclaration(member); // NOTE: Instead of just using GetUri and GetId directly on the entity to generate the ID, we use the // signature variants of the uri/id methods instead and prefix it with the uri and id of the containing // data type. // // This is done to properly support flattening inherited members into the data exchange format used by the // compiler backend; while the ToString() method on a type that inherits from Uno.Object without overriding // ToString() directly will have the ToString() method listed when using the EnumerateFlattenedMethods() // extension method, that method will still belong to Uno.Object and not the type that inherited the method. // // The data structure requires the type to own its own inherited methods, hence we do it like this. var id = parentDataType.GetUri() + "/" + member.GetUriSignature(); var uri = GetMemberUri(member, parentDataType); var comment = _commentParser.Read(member); var ns = parentDataType.FindNamespace(); var titles = new TitlesViewModel(Naming.GetPageTitle(member), Naming.GetIndexTitle(member), Naming.GetFullIndexTitle(member), Naming.GetNavigationTitle(member), member.FullName); var syntax = new SyntaxViewModel(Syntax.BuildUnoSyntax(member, parentDataType), Syntax.BuildUxSyntax(member)); var location = new LocationViewModel(ns.FullName, ns.GetUri(), member.Source.Package.Name, member.Source.Package.Version); var declaredIn = new DataTypeBuilder(Naming, Syntax, Exportable, AttachedMembers, _commentParser).BuildReference(member.DeclaringType); var parameters = GetParameters(member); var returns = GetReturns(member); var uxProperties = GetUxProperties(member); var values = BuildValues(member); var flags = BuildFlags(member); var attributes = BuildAttributes(member); var type = GetTypeName(member, comment, uxProperties); var isVirtual = uri == null; var viewModel = new MemberViewModel(new DocumentIdViewModel(id, parentDataType.GetUri(), type, member.GetModifierNames()), new DocumentUriViewModel(id, member.GetUri(), isVirtual), titles, syntax, location, declaredIn, parameters, returns, uxProperties, values, flags, new CommentViewModel(comment), attributes, member); target.AddIfNotExists(viewModel); }
private TitlesViewModel BuildDataTypeTitles(DataType dataType) { var titles = new TitlesViewModel(Naming.GetPageTitle(dataType), Naming.GetIndexTitle(dataType), Naming.GetFullIndexTitle(dataType), Naming.GetNavigationTitle(dataType), dataType.QualifiedName); return(titles); }
public RootViewModel(TitlesViewModel titles) : base(new DocumentIdViewModel("__root__", null, "Root", new List <string>()), new DocumentUriViewModel("__root__", "index", false), titles, null, null, null, null) { }
public ActionResult Index(string searchString) { ViewBag.Title = "Home Page"; var model = new TitlesViewModel() { SearchString = searchString, }; return(View(model)); }
void AddAttachedMemberToTarget(string name, MemberType memberType, Method underlyingMethod, DataType returnType, DataType parentDataType, HashSet <DocumentViewModel> target) { var uxAttribute = underlyingMethod.Attributes.SingleOrDefault(e => e.ReturnType.QualifiedName == ExportConstants.UxAttachedPropertySetterAttributeName || e.ReturnType.QualifiedName == ExportConstants.UxAttachedEventAdderAttributeName); if (uxAttribute == null) { throw new ArgumentException($"UX attached attribute not found on {underlyingMethod.UnoName}"); } var uxAttributeName = uxAttribute.Arguments.Length == 0 ? null : uxAttribute.Arguments[0].ConstantString; if (string.IsNullOrWhiteSpace(uxAttributeName)) { throw new ArgumentException($"UX attached attribute did not contain any on {underlyingMethod.UnoName}"); } uxAttributeName = uxAttributeName.ToLowerInvariant() .Replace(".", "_"); var id = parentDataType.GetUri() + "/" + uxAttributeName + "_" + underlyingMethod.GetUriSignature(); var titles = new TitlesViewModel(Naming.GetPageTitle(underlyingMethod), uxAttribute.Arguments[0].ConstantString, uxAttribute.Arguments[0].ConstantString, Naming.GetNavigationTitle(underlyingMethod), Naming.GetFullIndexTitle(underlyingMethod)); var declaredIn = new DataTypeBuilder(Naming, Syntax, Exportable, AttachedMembers, _commentParser).BuildReference(underlyingMethod.DeclaringType); var parameters = GetParameters(underlyingMethod); var returns = GetReturns(underlyingMethod, returnType); var values = BuildValues(returnType); var source = new AttachedMemberSourceViewModel(underlyingMethod.DeclaringType.GetUri(), Naming.GetIndexTitle(underlyingMethod.DeclaringType)); var comment = _commentParser.Read(underlyingMethod); if (!Exportable.IsExportableAndVisible(underlyingMethod.DeclaringType)) { throw new Exception($"Found attached UX member {underlyingMethod.FullName} declared inside non-exportable class {underlyingMethod.DeclaringType.FullName}"); } var viewModel = new AttachedMemberViewModel(new DocumentIdViewModel(id, parentDataType.GetUri(), "AttachedUx" + memberType.ToString("G"), new List <string>()), new DocumentUriViewModel(id, underlyingMethod.GetUri(), true), titles, declaredIn, parameters, returns, values, source, new CommentViewModel(comment), underlyingMethod); target.AddIfNotExists(viewModel); }
void AddNamespaceToTarget(Namespace ns, HashSet <DocumentViewModel> target) { var titles = new TitlesViewModel(Naming.GetPageTitle(ns), Naming.GetIndexTitle(ns), Naming.GetFullIndexTitle(ns), Naming.GetNavigationTitle(ns), ns.QualifiedName); var syntax = new SyntaxViewModel(Syntax.BuildUnoSyntax(ns), Syntax.BuildUxSyntax(ns)); var parentUri = ns.ParentNamespace == null || ns.ParentNamespace.Name == ExportConstants.RootNamespaceName ? null : ns.ParentNamespace.GetUri(); target.AddIfNotExists(new NamespaceViewModel(new DocumentIdViewModel(ns.GetUri(), parentUri, "Namespace", new List <string>()), new DocumentUriViewModel(ns.GetUri(), ns.GetUri(), false), titles, syntax, null)); }
protected DocumentViewModel(DocumentIdViewModel id, DocumentUriViewModel uri, TitlesViewModel titles, SyntaxViewModel syntax, CommentViewModel comment, DocumentReferenceViewModel declaredIn, IEntity underlyingEntity) { Id = id; Uri = uri; Titles = titles; Syntax = syntax; Comment = comment; Reference = new DocumentReferenceViewModel(id, uri, titles); DeclaredIn = declaredIn; UnderlyingEntity = underlyingEntity; }
public AttachedMemberViewModel(DocumentIdViewModel id, DocumentUriViewModel uri, TitlesViewModel titles, DocumentReferenceViewModel declaredIn, ParametersViewModel parameters, ReturnsViewModel returns, ValuesViewModel values, AttachedMemberSourceViewModel source, CommentViewModel comment, IEntity underlyingEntity) : base(id, uri, titles, null, comment, declaredIn, underlyingEntity) { Parameters = parameters; Returns = returns; Values = values; Source = source; }
public MemberViewModel(DocumentIdViewModel id, DocumentUriViewModel uri, TitlesViewModel titles, SyntaxViewModel syntax, LocationViewModel location, DocumentReferenceViewModel declaredIn, ParametersViewModel parameters, ReturnsViewModel returns, UxMemberPropertiesViewModel uxProperties, ValuesViewModel values, MemberFlagsViewModel flags, CommentViewModel comment, AttributesViewModel attributes, IEntity underlyingEntity) : base(id, uri, titles, syntax, comment, declaredIn, underlyingEntity) { Location = location; Parameters = parameters; Returns = returns; UxProperties = uxProperties; Flags = flags; Values = values; Attributes = attributes; }
public TitlesView(TitlesViewModel viewModel) : base(viewModel) { InitializeComponent(); }
public async Task <IActionResult> Index(string sortTypeStr = "имени(возр)", string sortParm = "все", int page = 1) { this.sortParm = sortParm; this.sortTypeStr = sortTypeStr; List <Movie> source = new List <Movie>(); if (sortParm != "все") { Genre g = await db.Genres.FirstAsync(el => el.RuGenreName.ToLower() == sortParm); List <MovieGenres> MoviesOfCurrentGenre = await db.MoviesGenres.Where(el => el.GenreId == g.Id).ToListAsync(); foreach (MovieGenres el in MoviesOfCurrentGenre) { source.Add(await db.Movies.FirstAsync(m => m.Id == el.MovieId)); } } else { source = db.Movies.ToList(); } switch (sortTypeStr) { case "имени(возр.)": { this.sortType = SortType.Name_asc; source = source.OrderBy(s => s.RuTitle).ToList(); break; } case "имени(убыв.)": { this.sortType = SortType.Name_desc; source = source.OrderByDescending(s => s.RuTitle).ToList(); break; } case "рейтингу(возр.)": { this.sortType = SortType.Rating_asc; source = source.OrderBy(s => s.Rating).ToList(); break; } case "рейтингу(убыв.)": { this.sortType = SortType.Rating_desc; source = source.OrderByDescending(s => s.Rating).ToList(); break; } case "дате выхода(возр.)": { this.sortType = SortType.Year_asc; source = source.OrderBy(s => s.ReleaseDate).ToList(); break; } case "дате выхода(убыв.)": { this.sortType = SortType.Year_desc; source = source.OrderByDescending(s => s.ReleaseDate).ToList(); break; } default: break; } int count = source.Count; var items = source.Skip((page - 1) * pageSize).Take(pageSize).ToList(); PageViewModel pageViewModel = new PageViewModel(count, page, pageSize); TitlesViewModel viewModel = new TitlesViewModel { PageViewModel = pageViewModel, Movies = items, sortType = this.sortType, sortParm = this.sortParm, Genres = genres, sortTypeStr = this.sortTypeStr }; return(View(viewModel)); }