28 | An unhandled error has occurred.
29 |
Reload
30 |
🗙
31 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/BlazorAppOdataClient/wwwroot/manifest.webmanifest:
--------------------------------------------------------------------------------
1 | {
2 | "name": "BlazorAppOdataClient",
3 | "short_name": "BlazorAppOdataClient",
4 | "id": "./",
5 | "start_url": "./",
6 | "display": "standalone",
7 | "background_color": "#ffffff",
8 | "theme_color": "#03173d",
9 | "prefer_related_applications": false,
10 | "icons": [
11 | {
12 | "src": "icon-512.png",
13 | "type": "image/png",
14 | "sizes": "512x512"
15 | },
16 | {
17 | "src": "icon-192.png",
18 | "type": "image/png",
19 | "sizes": "192x192"
20 | }
21 | ]
22 | }
23 |
--------------------------------------------------------------------------------
/BlazorAppOdataClient/wwwroot/sample-data/weather.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "date": "2022-01-06",
4 | "temperatureC": 1,
5 | "summary": "Freezing"
6 | },
7 | {
8 | "date": "2022-01-07",
9 | "temperatureC": 14,
10 | "summary": "Bracing"
11 | },
12 | {
13 | "date": "2022-01-08",
14 | "temperatureC": -13,
15 | "summary": "Freezing"
16 | },
17 | {
18 | "date": "2022-01-09",
19 | "temperatureC": -16,
20 | "summary": "Balmy"
21 | },
22 | {
23 | "date": "2022-01-10",
24 | "temperatureC": -2,
25 | "summary": "Chilly"
26 | }
27 | ]
28 |
--------------------------------------------------------------------------------
/BlazorAppOdataClient/wwwroot/service-worker.js:
--------------------------------------------------------------------------------
1 | // In development, always fetch from the network and do not enable offline support.
2 | // This is because caching would make development more difficult (changes would not
3 | // be reflected on the first load after each change).
4 | self.addEventListener('fetch', () => { });
5 |
--------------------------------------------------------------------------------
/BlazorAppOdataClient/wwwroot/service-worker.published.js:
--------------------------------------------------------------------------------
1 | // Caution! Be sure you understand the caveats before publishing an application with
2 | // offline support. See https://aka.ms/blazor-offline-considerations
3 |
4 | self.importScripts('./service-worker-assets.js');
5 | self.addEventListener('install', event => event.waitUntil(onInstall(event)));
6 | self.addEventListener('activate', event => event.waitUntil(onActivate(event)));
7 | self.addEventListener('fetch', event => event.respondWith(onFetch(event)));
8 |
9 | const cacheNamePrefix = 'offline-cache-';
10 | const cacheName = `${cacheNamePrefix}${self.assetsManifest.version}`;
11 | const offlineAssetsInclude = [ /\.dll$/, /\.pdb$/, /\.wasm/, /\.html/, /\.js$/, /\.json$/, /\.css$/, /\.woff$/, /\.png$/, /\.jpe?g$/, /\.gif$/, /\.ico$/, /\.blat$/, /\.dat$/ ];
12 | const offlineAssetsExclude = [ /^service-worker\.js$/ ];
13 |
14 | // Replace with your base path if you are hosting on a subfolder. Ensure there is a trailing '/'.
15 | const base = "/";
16 | const baseUrl = new URL(base, self.origin);
17 | const manifestUrlList = self.assetsManifest.assets.map(asset => new URL(asset.url, baseUrl).href);
18 |
19 | async function onInstall(event) {
20 | console.info('Service worker: Install');
21 |
22 | // Fetch and cache all matching items from the assets manifest
23 | const assetsRequests = self.assetsManifest.assets
24 | .filter(asset => offlineAssetsInclude.some(pattern => pattern.test(asset.url)))
25 | .filter(asset => !offlineAssetsExclude.some(pattern => pattern.test(asset.url)))
26 | .map(asset => new Request(asset.url, { integrity: asset.hash, cache: 'no-cache' }));
27 | await caches.open(cacheName).then(cache => cache.addAll(assetsRequests));
28 | }
29 |
30 | async function onActivate(event) {
31 | console.info('Service worker: Activate');
32 |
33 | // Delete unused caches
34 | const cacheKeys = await caches.keys();
35 | await Promise.all(cacheKeys
36 | .filter(key => key.startsWith(cacheNamePrefix) && key !== cacheName)
37 | .map(key => caches.delete(key)));
38 | }
39 |
40 | async function onFetch(event) {
41 | let cachedResponse = null;
42 | if (event.request.method === 'GET') {
43 | // For all navigation requests, try to serve index.html from cache,
44 | // unless that request is for an offline resource.
45 | // If you need some URLs to be server-rendered, edit the following check to exclude those URLs
46 | const shouldServeIndexHtml = event.request.mode === 'navigate'
47 | && !manifestUrlList.some(url => url === event.request.url);
48 |
49 | const request = shouldServeIndexHtml ? 'index.html' : event.request;
50 | const cache = await caches.open(cacheName);
51 | cachedResponse = await cache.match(request);
52 | }
53 |
54 | return cachedResponse || fetch(event.request);
55 | }
56 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | We as members, contributors, and leaders pledge to make participation in our
6 | community a harassment-free experience for everyone, regardless of age, body
7 | size, visible or invisible disability, ethnicity, sex characteristics, gender
8 | identity and expression, level of experience, education, socio-economic status,
9 | nationality, personal appearance, race, religion, or sexual identity
10 | and orientation.
11 |
12 | We pledge to act and interact in ways that contribute to an open, welcoming,
13 | diverse, inclusive, and healthy community.
14 |
15 | ## Our Standards
16 |
17 | Examples of behavior that contributes to a positive environment for our
18 | community include:
19 |
20 | * Demonstrating empathy and kindness toward other people
21 | * Being respectful of differing opinions, viewpoints, and experiences
22 | * Giving and gracefully accepting constructive feedback
23 | * Accepting responsibility and apologizing to those affected by our mistakes,
24 | and learning from the experience
25 | * Focusing on what is best not just for us as individuals, but for the
26 | overall community
27 |
28 | Examples of unacceptable behavior include:
29 |
30 | * The use of sexualized language or imagery, and sexual attention or
31 | advances of any kind
32 | * Trolling, insulting or derogatory comments, and personal or political attacks
33 | * Public or private harassment
34 | * Publishing others' private information, such as a physical or email
35 | address, without their explicit permission
36 | * Other conduct which could reasonably be considered inappropriate in a
37 | professional setting
38 |
39 | ## Enforcement Responsibilities
40 |
41 | Community leaders are responsible for clarifying and enforcing our standards of
42 | acceptable behavior and will take appropriate and fair corrective action in
43 | response to any behavior that they deem inappropriate, threatening, offensive,
44 | or harmful.
45 |
46 | Community leaders have the right and responsibility to remove, edit, or reject
47 | comments, commits, code, wiki edits, issues, and other contributions that are
48 | not aligned to this Code of Conduct, and will communicate reasons for moderation
49 | decisions when appropriate.
50 |
51 | ## Scope
52 |
53 | This Code of Conduct applies within all community spaces, and also applies when
54 | an individual is officially representing the community in public spaces.
55 | Examples of representing our community include using an official e-mail address,
56 | posting via an official social media account, or acting as an appointed
57 | representative at an online or offline event.
58 |
59 | ## Enforcement
60 |
61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be
62 | reported to the community leaders responsible for enforcement at
63 | .
64 | All complaints will be reviewed and investigated promptly and fairly.
65 |
66 | All community leaders are obligated to respect the privacy and security of the
67 | reporter of any incident.
68 |
69 | ## Enforcement Guidelines
70 |
71 | Community leaders will follow these Community Impact Guidelines in determining
72 | the consequences for any action they deem in violation of this Code of Conduct:
73 |
74 | ### 1. Correction
75 |
76 | **Community Impact**: Use of inappropriate language or other behavior deemed
77 | unprofessional or unwelcome in the community.
78 |
79 | **Consequence**: A private, written warning from community leaders, providing
80 | clarity around the nature of the violation and an explanation of why the
81 | behavior was inappropriate. A public apology may be requested.
82 |
83 | ### 2. Warning
84 |
85 | **Community Impact**: A violation through a single incident or series
86 | of actions.
87 |
88 | **Consequence**: A warning with consequences for continued behavior. No
89 | interaction with the people involved, including unsolicited interaction with
90 | those enforcing the Code of Conduct, for a specified period of time. This
91 | includes avoiding interactions in community spaces as well as external channels
92 | like social media. Violating these terms may lead to a temporary or
93 | permanent ban.
94 |
95 | ### 3. Temporary Ban
96 |
97 | **Community Impact**: A serious violation of community standards, including
98 | sustained inappropriate behavior.
99 |
100 | **Consequence**: A temporary ban from any sort of interaction or public
101 | communication with the community for a specified period of time. No public or
102 | private interaction with the people involved, including unsolicited interaction
103 | with those enforcing the Code of Conduct, is allowed during this period.
104 | Violating these terms may lead to a permanent ban.
105 |
106 | ### 4. Permanent Ban
107 |
108 | **Community Impact**: Demonstrating a pattern of violation of community
109 | standards, including sustained inappropriate behavior, harassment of an
110 | individual, or aggression toward or disparagement of classes of individuals.
111 |
112 | **Consequence**: A permanent ban from any sort of public interaction within
113 | the community.
114 |
115 | ## Attribution
116 |
117 | This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118 | version 2.0, available at
119 | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
120 |
121 | Community Impact Guidelines were inspired by [Mozilla's code of conduct
122 | enforcement ladder](https://github.com/mozilla/diversity).
123 |
124 | [homepage]: https://www.contributor-covenant.org
125 |
126 | For answers to common questions about this code of conduct, see the FAQ at
127 | https://www.contributor-covenant.org/faq. Translations are available at
128 | https://www.contributor-covenant.org/translations.
129 |
--------------------------------------------------------------------------------
/ConsoleConsumer/Brand.cs:
--------------------------------------------------------------------------------
1 |
2 | public class Brand
3 | {
4 | public int Id { get; set; }
5 |
6 | public string Name { get; set; }
7 |
8 | public string Description { get; set; }
9 |
10 | public decimal Tax { get; set; }
11 |
12 | public string CreatedBy { get; set; }
13 |
14 | public DateTime CreatedOn { get; set; }
15 |
16 | public string LastModifiedBy { get; set; }
17 |
18 | public DateTime? LastModifiedOn { get; set; }
19 |
20 | public virtual ICollection