Transkripte
1. Einführung: Hey Jungs, willkommen zu diesem Kurs mit dem Titel komplette dotnet Core 3.1 und Entity Framework Development. Ich bin dein Lehrer, Falltür Williams. Dies ist ein sehr detaillierter Kurs, um Sie in der dotnet Core-Umgebung in kürzester Zeit zum Laufen und Programmieren zu bringen. Und einige der Ziele, die wir für
diesen Kurs erreichen wollen , sind die Erstellung einer vollständig datengesteuerten Webanwendung. Verstehen Sie, wie die dotnet Core-Anwendungen fließen. Erstellen Sie voll funktionsfähige Programm mit dem Repository-Muster und Abhängigkeitsinjektion. Und einige dieser Ausdrücke mögen erschreckender erscheinen, aber während dieses Kurses werde ich es vereinfachen. Alles ist sehr anfängerfreundlich, es ist sehr detailliert. Und am Ende sollten Sie ein vollwertiger Dotnet-Entwickler sein. Wir werden auch zuerst halten sehen, das MVC-Muster funktioniert. Wir werden zu einem besseren Verständnis von C Sharp und sicherlich Tipps und Tricks bekommen. Und wir werden einen Vorgeschmack auf die Verwendung von Front-End-Frameworks bekommen, um das allgemeine Layout und Aussehen unserer Web-Anwendung zu gestalten. Nun, diesen Kurs zu machen, ist sehr, sehr vorteilhaft für Sie. Dotnet ist eines der beliebtesten. Wissen wird verwendet, um Unternehmen der Anwendungen zu erstellen. Entwickler sind in sehr hoher Nachfrage. Es ist eine sehr vorherrschende Technologie und es ist eine äußerst wichtige Fähigkeit, in dieser Zeit und Zeit zu haben. Für die Dauer dieses Kurses werden
wir Visual Studio 2019 Community Edition verwenden, die eine sehr,
sehr leistungsfähige Entwicklungsumgebung
in das Tool der Wahl ist sehr leistungsfähige Entwicklungsumgebung , wenn Sie die Dotnet-Entwicklung durchführen. Und es ermöglicht uns, schnell in
andere Front-End-Frameworks wie Bootstrap,
jQuery, Font Awesome und viele andere zu integrieren andere Front-End-Frameworks wie Bootstrap, . Es kommt auch mit Git-Integration, was es uns leicht macht, in GitHub für unsere Quellcodeverwaltungszwecke zu integrieren. Und es kommt mit vielen Management Studio für unsere Datenbank-Management-Aktivitäten. Letztendlich möchte ich, dass es bereit ist, sich der Welt der dotnet-Programmierung zu öffnen, Sie würden keine Kenntnisse über HTML, CSS
und objektorientierte Programmierung benötigen, wenn Sie
einige Kenntnisse von Datenbanken haben Filament, das ist auch gut. Aber letztendlich ist
dies noch einmal sehr detailliert. Selbst wenn Sie sich nicht so an diese Technologien anpassen, mache
ich es Ihnen sehr einfach, sich in kürzester Zeit auf den neuesten Stand zu halten und sich kompetent zu fühlen. Dies ist nur eine Vorschau der Anwendung
, die wir gemeinsam erstellen werden, wo wir
Mitarbeitern erlauben, sich für Urlaub zu bewerben und
einige administrative Funktionen für Admin-Benutzer einzurichten , um diese verwalten zu können lassen Anfragen. Also, ob sie sie sie genehmigen oder sie ablehnen und die Geschichte gezeigt haben. Also all dies wieder, wird dynamisch sein. Wir werden es mit Bootstrap und Admin LTE stylen. Und wir werden Spaß haben. Also mach dich einfach bereit zu rollen.
2. GitHub-Konto erstellen: Hey, Jungs in diesem Video werden erstellen oder aufstehen Konten auf. Das ist ein wirklich einfacher Schritt. Steh auf. Macht es uns sehr einfach, sich anzumelden. Du musst nur gehen, um die Handfläche hochzuspringen. Das ist G I T H u b Punkt c o m. Holen Sie sich Hub dot com on. Du wirst auf diesem Platz landen. Nein, von hier aus, wenn Sie bereits ein Konto haben und Sie sich anmelden können und Sie
das Video hier ziemlich stoppen können, wenn Sie es nicht
tun, tun, dann ist das Senatsformular genau hier. Sie können ein wenig lesen. Holen Sie sich einfach eine Wertschätzung dessen, wofür Ghetto B ist. Und es ist alles ein Boot. Sie haben Preisgestaltung, daher bieten sie Unternehmenspläne und Bildungspläne und verschiedene Pläne für unterschiedliche Situationen an. Aber für den Solarentwickler für sehr kleine, du weißt schon,
Teams, die niemals Unternehmen sein können, als sie dir eine Menge kostenlos geben. Um sich anzumelden, müssen
Sie nur einen Benutzernamen auf eine E-Mail-Adresse und ein Passwort auf setzen Sobald Sie alle diese Dinge
zur Verfügung gestellt haben und vorausgesetzt, dass Ihr Benutzername eindeutig genug von natürlich dann klicken
Sie auf. Melden Sie sich für das Ghetto an. Du solltest dabei sein. Also habe ich bereits ein Konto, Einige echte Anpassungen Zuweisen Sie sah meine Brüder verrückt versuchen,
Informationen bereitzustellen , so werde ich nur mit meinem bestehenden Konto anmelden. Also, das ist mein, was er gebrauchen kann. Sie benutzen ihn oder Militaristen, um sich anzumelden. Und das Passwort hier bin ich. Das ist meine Landegrube. Also geben sie dir tatsächlich einen Sinn aus der Gemeinschaft. Es ist fast wie ein Facebook für Entwickler. zu einem gewissen Grad können
Sie Menschen auf folgen, sobald sie Menschen folgen, sehen
Sie ihre Aktivitäten auf der Grippe-Lingpage. Sie können zu Ihrem Projektarchiv springen. Also offensichtlich, wenn du neu bist, aufzustehen, dann hättest du hier nichts an der Seite. Was? Ich bin keine Neuigkeiten. Ich war ziemlich beschäftigt. Ähm, das Aufstellen von Inhalten für fast jedes kleine Haustierprojekt, das ich beginne. Ich habe eine positive bekommen, tatsächlich müssen durchgehen und das aufräumen auf Auch, Ich hatte Studenten fügen Sie mich zu ihrer Ruhe in der Vergangenheit. Eso, dass Sie wissen, wir könnten zusammenarbeiten. Vielleicht haben sie ein Problem und ich könnte einfach ihre Schnur durch die Wieder Posits überprüfen. Sehr all diese Dinge sind, weißt
du, durch dieses faire,
leistungsstarke Werkzeug
möglich . Aber sobald du deine Zapfen erschaffen hast und du gut in Ondo unterschrieben bist, würdest
du offensichtlich nicht sehen, was ich noch einmal sehe. Aber dann würde das das Zeichen der aktiven
3. Installieren von Visual Studio 2019 Community-Edition: Hey, Jungs, in diesem Video wird Visual Studio 2019 Community Edition installieren Jetzt, um auf die
Visual Studio-Website zu bekommen , geben
wir Visual Studio dot Microsoft dot com Foto Sehen Sie nicht bizarre Studio, und wir die Community-Edition erhalten möchten. Also haben wir professionelle und wir haben Unternehmen. Aber in der Community-Ausgabe ist kostenlos für Einzelpersonen auf akademische Benutzer auf ditz. Öffnen Sie auch, Sir. Also noch einmal, ähm, wenn Sie in einer Pressesitzung sind, sollten
Sie Unternehmen bekommen, und dafür müssen Sie eine Lizenz bezahlen. Aber dann für unser Haustierprojekt, ein einzelnes Projekt oder akademische Projekte Open-Source-Zwecke, Communities dort ist es kostenlos und es ist voll angetrieben und wartet darauf, verwendet zu werden. Also bekommen wir nur Gemeinschaft auf dann, dass Trigger sind nicht Lord für einen Installer. Also klicken wir einfach auf die Beleidigt, die gerade heruntergeladen wurde Run. Es wird Onda initialisieren. Wir können mit unseren Installationen voran gehen, so dass wir weiter, dass nur Fische ein paar Dateien für uns. In Ordnung, also nachdem es mit diesen anfänglichen Arbeitslasten fertig ist, wird es uns fragen. Welche Pakete möchten wir installieren, um das zu unterstützen, was auch immer wir
entwickeln werden . Also, wie gesagt, wir entwickeln eine Webanwendung, Also brauchten wir SP dotnet und Web-Entwicklungspaket oder Workload auf. Dann nehmen wir das, ähm, wir nehmen die Box hier nach rechts und sagten, Sie sehen, dass sie uns eine kleine Liste von dem geben, was enthalten wird. So ist das neueste Punktnetz-Framework vier Punkt es. Also wissen Sie, es ist, dass wir 4,4 bis 4,6 bekommen. Also verstehe ich, auf dem Teakholz voranzugehen. All diese alle diese Punktnetz Framework 4.6 Punkt 1.2 Punkt sieben Punkt es auf. Aber das ist noch nicht alles . Wir brauchen diesen Met Kern, aber dann basiert dieser Kurs auf dot net core 3.1, das ist der neueste. Aber wenn Sie mit Visual Studio gehen und sie voll 0,1 bekommen, damit wir das
danach in Ruhe lassen können , dann zeige ich Ihnen, wie Sie 3.1 bekommen. Außerdem, da wir ein wenig wie dein Zeug machen werden, werde
ich einfach die A-Null-Box auf. Wir müssen dort nicht viel mehr ändern. Ich kreuze nur das Kästchen an. Stellen Sie sicher, dass wir alle Bibliotheken haben, die Sie benötigen, können Sie einen Drill-Down auf machen. Sehen Sie einfach, was Ihnen sonst noch zur Verfügung steht. Sicher. Er hat die Dot Net Core Cross-Plattform-Entwicklung beendet. Wenn Sie auf diese Arbeitslast
klicken, erhalten Sie einige weitere Punkte Net Core Dinge. Aber ich denke, viele davon sind bereits in der Web-Entwicklungs-Workload enthalten, da Sie feststellen, dass der gesamte Speicherplatz mit jeder von Ihnen gewählten Arbeitslast zunimmt. Also gehe ich einfach auf Tick die 01 an. Ich werde nur sicherstellen, dass ich die plattformübergreifende Dot Net Core-Workload auf den SB Dot Net und Web Development Workloads habe. Wir machen nicht viel Entwicklung mit als Ihre, so dass Sie es nehmen können, wenn Sie wollen. Wenn Sie wissen, dass Sie den Platz haben, ist
das in Ordnung. Und natürlich, je mehr Sie ticken ist länger wird der Download nehmen. Aber ich werde es nicht für dieses Teilchen nehmen,
Natürlich, Natürlich, so noch einmal haben wir nur die sp dot net und Web-Entwicklung,
und wir haben die Darknet Core Cross-Plattform-Entwicklung auf den Zahlen eins klicken, Installieren Sie auf, dann wird das die Installation starten, was wirklich ein Don't load ist. Basierend auf der Internetgeschwindigkeit wird
dies in der Länge variieren. Einige einfach quinto wieder aufnehmen, wenn alles hier fertig ist. Alles klar, also ist dieser Prozess beendet. Burba nahm nur unlernen unsere auf ihrer zu sehen, dass sie erfordern, dass ich meinen Computer neu starten ,
um diese Einrichtung abzuschließen. Also werde ich nicht sagen. Nein,
nicht, dass du nicht neu starten musst, aber es gibt noch etwas, das ich dir zeigen möchte, bevor ich dich neu aufbauen lasse. Also werde ich sagen,
nicht wissen, was im Grunde nur nicht wird, um die Installation nur noch abzuschließen. Aber ich werde das nur minimieren und ich werde Ihnen zeigen, dass wir die
dot net core 3.1 -Tools herunterladen müssen ,
also habe ich bereits das offen und Sie können auf diese Website durch dot net dot dot Microsoft dot com auf. Dann bin ich am Schrägstrich Don't Lord, wo es mir zeigt, dass ich die Dot Net Core 3.1-Tools oder die Laufzeit
dafür nicht kennen kann , sowie Punktnetz-Framework vier Punkt es. Also haben wir gerade Visual Studio mit dem dot net Framework installiert. Vier Punkte. Es sind Werkzeuge, also müssen wir nicht darauf achten. Aber wir brauchen den Kern 3.1 auf. Ich habe früher gesagt, dass der Punktnetzkern für mehrere Plattformen gebaut ist. Es ist plattformübergreifend. So sehen Sie, dass die Fenster nicht wissen, dass der Lennox Stone Lord, dass die McCoys nicht und sie haben einen Arzt nicht Lord. In Ordnung, also gehen wir mit den Fenstern. Ich benutze eine Windows-Maschine auf Ich lehre Sie basierend auf Windows. Aber das wird gesagt, was auch immer ein Jahr auf Sie nicht die, die für Sie geeignet ist auf DWI Run the up also bin ich Winton. Laden Sie einfach nicht die Punktnetzkern-Laufzeitumgebung auf. Ich werde auch das Punktnetzkern-SDK nicht kennen, also werde ich nur die X 64 nicht kennen, weil ich 64 Bits auf war. Wir können das nicht wissen, wenn wir es installieren. Also, wenn der Installer loskommt, ist
es ziemlich einfach, ein glatter Stern auf. Dann wird es tun, was es tun muss. Dann werden Sie sehen, dass es erfolgreich war. Also habe ich wirklich nicht so lange gebraucht, um auf zu installieren. Ich gehe einfach zurück und bekomme auch das SDK. Also, was ich bekam, war eine Laufzeit. Ich ging, um das SDK no sdk kurz für Software Development Kit herunterzuladen. Das ist, wo die echten Entwicklungstools für Visual Studio zur Verfügung
gestellt werden, um mit der Benachrichtigung interagieren zu können. Sie sagen, dass diese Version nur mit Visual Studio 2019 kompatibel ist. Wenn Sie also 2017 oder eine frühere Version haben, möchten
Sie möglicherweise ein Upgrade durchführen. Das ist also nicht wissen. Haben wir einfach installieren, dass so und dann starten A kommt mit einem Stick installieren, lassen Sie es tun, seine Sache. Und dann heißt es, dass alles erfolgreich installiert wurde und sie alle ihre eigenen
Zeiten verwenden und alle anderen zeigen uns. Die verschiedenen Dokumente, die wir für Ihre Ressource verwenden können, ist, damit wir das schließen können. Ich weiß, dass wir das alles getan haben. Dann kann ich die Computer neu starten. Ich wollte nicht neu starten und dann die Schritte vergessen. Also habe ich nur darauf geachtet, alles zu installieren und dann machen wir nur einen großen Neustart Onda niedrig den Computer, um seine Sache zu tun. In Ordnung, also wisst, dass Ari Start abgeschlossen ist. Briefe. Gehen Sie weiter und starten Sie Visual Studio 2019 auf. Sie können es finden, indem Sie zum Startmenü gehen, und Sie können wahrscheinlich einfach in Visual Studio eingeben wird bereits mein Visual Studio
2019 an mein Startmenü angeheftet , sowie an meine Taskleiste. also einfach auf dieses lila Symbol klicken, das wie dieses Unendlichkeitszeichen aussieht, werden
wir unser Visual Studio sobald es gestartet wird starten. Es fordert Sie auf, sich anzumelden oder ein Konto zu erstellen, und Sie können dies später tun. Nein, mit dem Community-Zusatz wird
es Ihnen tatsächlich ein wenig geben, wie ein 30-Tage-Test-Gefühl, wenn Sie sich nicht anmelden. Also, wenn Sie wählen, nicht wissen, vielleicht später und dann später unten die Zeile, Sie sehen, wie sie sagen, oder es ist abgelaufen oder so etwas. Es sagt wirklich nur, dass sie erwarten, dass Sie sich angemeldet haben, sich anmelden wollen. Dann gibt es keine Ablauferfahrung, die Sie Teil haben, also werde ich nur in Windows-Konto anmelden, und das ist die Fenster sind Kegel. Sind die Microsoft ein Mais, den ich lange zuvor hart? Andi. Dies ist derjenige, den Missbrauch für alle wie Ihre verwandten Aktivitäten, die unser Haus verstehen um voran zu gehen und einloggen Wieder einmal, Sie können eine Microsoft Kegel erstellen oder, wenn Sie bereits eine haben, verwenden Sie es
einfach auf anmelden. Ob Sie sich für die Anmeldung entschieden haben oder nicht wissen gesagt haben, vielleicht werden Sie später zu der Rede geführt, in der Sie fragen, welchen Stil Sie mögen. So dunkel, dunkel Thema ist die ganze Region. Ich bin nicht in Ordnung. Nein, aber Sie können in den Entwicklungseinstellungen das für Sie passende Design auswählen. Ich werde diese Zehe Web-Entwicklung setzen. Also, General, ja, das ist in Ordnung. Aber welche Entwicklung dann? Diese Art von setzen bestimmte Dinge an bestimmten Orten, um es offensichtlicher für Sie zu machen, zu sehen. Alles klar, wenn
du das alles machst, kannst
du das Resultat-Studio starten Nein, ganz egal. Ich bin Toe Signieren Gefühl, weil ich auf einem Server bin und sie bestimmte Einschränkungen sind, unsere eigenen bestimmten Aktivitäten. Und so möchte ich das nur hervorheben, um zu zeigen, dass, wenn Sie sagen, nicht wissen, vielleicht später, dann ist dies ein Bildschirm, den Sie bekommen. Sobald visual studio Florentines, werden
Sie aufgefordert, sich anzumelden und auf der rechten Seite. Sie sehen, dass Sie eine 30-Tage-Testversion haben. Also noch einmal, Ihre Evaluierungszeitraum als und dass bitte melden Sie sich an tow eine Menge von Produkten. Alles, was Sie wirklich tun müssen, ist sich anzumelden, dass die Evaluierungsmeldung verschwindet. Jemand ist wieder ein Zeichen. In Ordnung, ich weiß, dass ich eingeloggt war. Siehst du das? Ich habe den personalisierten Kegel, den sie an meinen Inhalten hatten. Und dann ist diese Auswertungsbotschaft wirklich verschwunden. Und damit ich Kleidung pflücken kann. Und dann ist dies der Startbildschirm für Visual Studio 2019. Also von hier aus kann
ich etwas von einer Quellensteuerung überprüfen. Ich kann ein vorhandenes Projekt
öffnen, einen lokalen Ordner zum Erstellen neuer Projekte öffnen. Also werden wir hier pausieren. Wenn du so weit gekommen bist, dann ist das perfekt. Sie haben die Ergebnisse Studio 2019 Community Edition auf installiert. Dann sind Sie bereit für die nächste Aktivität.
4. UPDATE: Installiere Visual Studio 2022 Community-Edition und . NET 6: Hey Leute. In dieser Lektion installieren wir Visual Studio 2022, das mit dotnet sechs ausgeliefert wird, was das bisher schnellste Dotnet ist. Um loszulegen, müssen
wir nur zu Visual Studio
Dot Microsoft.com Slash-Downloads übergehen . Und dann werden wir
den kostenlosen Download in der Community-Edition anklicken , der uns dann ein Installationsprogramm gibt. Sobald wir dieses Installationsprogramm ausgeführt
haben, können wir die gewünschten Arbeitslasten auswählen. Workloads beziehen sich wirklich auf die Bibliotheken oder auf unterstützende Bibliotheken für die Art von Up, die Sie erstellen möchten. In diesem Fall möchten wir diese
Webentwicklung ASP.Net auf jeden Fall auf Webentwicklungs-Workload bringen . Wenn Sie sich für andere Technologien interessieren, können
Sie diese auswählen. Sie können also sehen, dass ich mehrere Workloads mit Azure Development,
NodeJS und Desktop-Entwicklung
ausgewählt habe. Sie können also auch weitermachen und diese teilen. Ich denke, dass sie sich bei
anderen Projekten als nützlich erweisen werden , die Sie am Ende ganz erstellen könnten.
Sobald
Sie das getan haben, können Sie auf Installieren klicken,
was in Sobald
Sie das getan haben, können Sie auf Installieren klicken, der unteren rechten Ecke geschehen würde. Je mehr Workloads Sie
auswählen, desto größer ist natürlich die Download-Größe. Sobald Sie das abgeschlossen haben, können
Sie fortfahren. Wenn dieser Download abgeschlossen ist, erhalten
Sie möglicherweise bestimmte Optionen, die
ich nicht erhalten werde, weil ich ihn bereits installiert habe. Das wird Sie also durch das führen, was erwarte ich? Möglicherweise erhalten Sie eine Option, bei der Sie Ihr Thema auswählen können. Wie Sie sehen, verwende ich das dunkle Thema, aber dann haben Sie die Möglichkeit
eines hellen Themas, eines blauen Themas. Und die Sache ist, dass Visual Studio 22 viel mehr Themen hat als seine Vorgänger. Selbst wenn Sie die ersten Themen nicht beleuchten möchten, können
Sie alle Themen erhalten, wenn Sie sie benötigen. Möglicherweise werden Sie außerdem aufgefordert, sich anzumelden. Wenn Sie also bereits 2019
auf Ihrem Computer installiert haben und gerade 2022 installiert sind, haben
Sie sich bereits bei 2019 angemeldet, dann werden Sie wahrscheinlich nicht aufgefordert, sich erneut anzumelden. Wenn dies jedoch Ihre erste Installation
von Visual Studio ist , werden
Sie möglicherweise aufgefordert, sich anzumelden oder ein Live-Konto zu erstellen, an
dem Sie einfach Ihr Microsoft verwenden möchten an allen Orten live
ausgestellt wurde, wird mir beigebracht viel com Kegel, oder du kannst einfach weitermachen und einen erstellen. Und wenn ich, wenn mein Gedächtnis mir richtig dient, kannst
du eine andere Nicht-Microsoft-E-Mail-Adresse verwenden, Speichel
absondert, kalt.
5. Erstelle . Net: Ihr Jungs in diesem Video, werden
wir anfangen, unsere dot net core Web-Anwendung zu erstellen. Sie können dies beginnen, indem Sie ein visuelles Studio abfeuern. Wenn Sie es noch nicht geöffnet haben,
dann, wenn Sie zu diesem Punkt hier drüben bekommen, war wahrscheinlich leer für Sie, weil Sie eine
Neuinstallation gemacht haben . Ich habe eine Neuinstallation gemacht. Demonstrieren Sie einfach. Aber ich habe andere Projekte, an denen ich gearbeitet habe, also werde ich sie an der Seite haben, wo es Ihre jüngsten Projekte zeigt. Aber für diese Übung werden
wir erstellen und Sie klicken möchten, erstellen Sie ein neues Projekt und dann mit der Suchleiste oben, werden
wir nur das Wort Kern eingeben. Also, wenn wir vor Gericht tippen, wird
es irgendwie alle dominanten Kern-bezogenen Projektvorlagen herausfiltern, weil wir speziell eine Web-Anwendung machen, kann
ich spezifischer sein und CSB Punkt Net Core auf. Dann wird es noch einmal filtern und dann geben Sie uns die sp dot net core Web Application Vorlage, so können wir voran gehen und klicken Sie auf diese, und wir wollen sicherstellen, dass es derjenige mit C scharf ist. Sie können andere mit F Sharp und vielleicht vb dot net sehen. Aber wir wollen das mit C scharf und dann klicken wir weiter und dann geben wir ihm einen Namen. Jemand sollte das hier anrufen. Verlassen Sie. Hallo, Freund Management ist seit wir ein Urlaubs-Management-System erstellen, so ist es lassen Bindestrich Management auf. Wir müssen nichts anderes ändern, es sei denn, Sie haben einen bestimmten Ort, an dem Sie Ihr Projekt
platzieren möchten . Dann kann alles andere so bleiben, wie es ist, und sie werden einfach voran gehen und klicken Sie auf Erstellen, nachdem Sie dort auf erstellt geklickt haben. Keine Frage, welche Art von Gerüst oder voreingestellt. Ähm, weißt
du was? was wollen wir ein Projekt erstellen, damit wir ein völlig leeres Projekt erstellen können. Wir können eine mit einer E P I erstellen, wissen
Sie, Vorlage. Wir können mit einer Web-Anwendung Vorlagen tun, die wir mit einem NBC Vorlage eckigen Akt GS tun können, etcetera. Also für diese Übung waren die Auswahl der Web-Anwendung M. V c Vorlage. Möchten Sie sicherstellen, dass dies dieser Mitt-Kern und nicht Dotnet-Framework ist. Richtig? Also habe ich erklärt, dass dotnet Framework und nicht Niko irgendwie anders sind. Also wollen wir sicherstellen, dass wir auf Darknet Core sind. Und wir wollen auch sicherstellen, dass die Version off dot net core 3.1 ist. Also habe ich eine ganze Reihe hier aufgelistet. Möglicherweise haben Sie nicht so viele, aber Sie sollten Core 3.1 haben, wenn Sie nicht über Core 3.1 verfügen, dann gehen Sie zurück zum Installationsvideo auf Try und konfigurieren Sie es erneut. Also wähle ich Core 3.1 auf der rechten Seite und sagte,
dass sie fragen Wollen wir für https konfigurieren? Sie wollen Ärzteunterstützung ermöglichen. Ich möchte die als Nein lassen. Also wähle ich Webanwendung mit NBC Dot Net Core 3.1 für die Authentifizierung aus. Ich werde dies von keiner Authentifizierung für einzelne Benutzerkonten ändern. Also, was dies tun wird, ist tatsächlich geben uns das Framework für die Authentifizierung in unserer Anwendung, wo wir erstellen können und Andi verwenden Benutzer A Kegel nativ sind out of the box. In Ordnung, also werde ich nur einzelne Benutzerkegel auswählen. Klicken Sie auf OK, dann können wir weiter gehen und klicken Sie noch einmal auf Erstellen Dann wird es den Prozess aus der
Erstellung des Projekts starten . Sobald dieses Projekt erfolgreich erstellt wurde, als Sie sehen, eine Schnittstelle, die in etwa so aussieht, kann
ich meine Interferenzen anpassen, weil Sie tatsächlich die Docking-Käufer bewegen können . Er kann andere vorstellen, die Sie vielleicht nicht sehen. Also, zum Beispiel denke
ich standardmäßig, ist
der Lösungs-Explorer normalerweise unter der rechten Seite. Das ist wahrscheinlich das, was du siehst. Ähm, ich habe eine Vorliebe dafür auf meiner linken Seite,
vor allem, weil,weißt
du, weißt
du, als westliche Leser oder von links nach rechts gelesen werden. Von links ausgehend, nach rechts, ist
es einfacher für mich. Aber ich meine, am Ende des Tages können
Sie andocken, um diese beiden Bars abzudocken. Wie Sie es wünschen. Wenn ich hier eine Symbolleiste habe, die Sie nicht auf Ihrer sehen, und Sie können einfach zur Ansicht auf gehen, dann können Sie klicken und Sie sehen Team Explorer-Umfrage Erfahrung. E All diese. All dies oder die meisten davon sind Symbolleisten, die auf unserer Doktorandin angezeigt werden Wenn Sie nicht möchten,
dasseine Symbolleiste dass immer wie
zum Beispiel
der Lösungsexplorerangezeigt wird zum Beispiel der Lösungsexplorer Vielleicht wollen Sie mehr Immobilien für Ihr Gericht, als Sie diese kleine Pin hier verwenden können. Das ist seine automatische Ausblenden, und Sie können darauf klicken und es wird automatisch ausgeblendet. Andi. Es kommt nur auf, wenn Sie über es gehen und klicken Sie es dort auf. Wenn Sie verlieren, während es Fokus ist, können
Sie tun, was Sie tun müssen. Und wenn Sie fertig sind, können
Sie einfach darauf klicken und es wird, wissen
Sie, einfach wieder verstecken. So ist es Es ist eine ruhige, vielseitige Störung. Sie können es irgendwie anpassen, Dinge nach Ihren Wünschen
bewegen. Also noch einmal, ich habe Sozialexperte zu meiner Linken. Andi,
ich mag, wenn es für einfachen Zugang da ist, haben eine große Sie wissen, Bildschirme haben genug Immobilien. Diese Landingpage geben sie Ihnen eine Ressource ist, sie können, wissen
Sie, schnell mit Building Code beginnen. Aber dafür wurden
Partituren eine bestimmte Anwendung bauen, um viel mehr Dinge zu tun, als jeder dieser Artikel wahrscheinlich jemals zu Ihnen erwähnen würde, so dass Sie unsere eigenen in
das nächste Video stecken können . Wir gehen durch den Lösungsexplorer, und wir werden Sie wissen lassen, wir gehen durch und verstehen genau, was wir betrachten und wie all diese Komponenten eine Rolle spielen, um uns mit unserer Anwendung zu helfen Entwicklung.
6. Tour von ASP.NET: Hey, Leute. In diesem Video werden
wir uns die Ordnerstruktur unserer neu erstellten SP dot net core 3.1
Web-Anwendung ansehen . Nein, unser Tool der Wahl ist Visual Studio Community Edition 2019 auf Im Solution Explorer, dass die uns leisten. Wir können alle Dateien sehen, die in unserem Projekt sind. Also, nun, Also, nun, lassen Sie uns mit dem beginnen, was oben ist, damit Sie sehen können, dass diese Art von Baumansicht höher Arktis
sind. Höher sind geben Sie alle Dateien ab. Alles ist eine so Datei oder etwas anderes. Also stehe ich ganz oben. Das ist also eine Lösungsdatei. Wenn Sie also mit Visual Studio für Projekte in Visual Studio nicht so vertraut sind, erstellen
sie eine Lösungsdatei,
die wie ein Gesamtdirektor für alle Projekte ist, die sich innerhalb einer Lösung befinden könnten. So können Sie eine Lösung haben und es hat ein Web-Projekt. Es hat ah, siehe scharfe Klassenbibliothek. Sie können ein Desktop-Projekt haben. Sie können mehrere Projekte in einer Lösung haben. In dieser Situation, die eine Lösung haben, wird
es das Management verlassen und wir haben ein Projekt. So ist die Lösung an der Spitze. Die meisten im Projekt wären an zweiter Stelle in dieser Liste. Darauf sind unsere Web-Projekte. Und wenn Sie klicken, zeigt
es Ihnen irgendwie, dass es sich wirklich nur um eine XML-Datei handelt,
die
bestimmte Eigenschaften hervorhebt , ,die das Projekt oder die Lösung im Auge behalten muss, was
getan wird . Die Lösung ist also an der Spitze und hat normalerweise das Quadrat mit dem Infinity-Logo, das Visual Studio hat. Und dann haben wir das Webprojekt danach, und wir sind ein Projekt, wissen
Sie, die Symbole weisen Sie darauf hin, welche Art von Projekt es ist. Das ist also unser Webprojekt, Andi. Es ist ein anderer wie Director für alle Off die Dateien, die verwendet werden, werden innerhalb
des Web-Projekts erstellt . Also dieses, was Projekt repräsentiert unsere gesamten Websites, die im Begriff waren zu entwickeln? Nein, nur durch F verbundene Dienste laufen. Und wenn Sie das zerstören, Sie Skins, können
Sie bei verbundenen Diensten. verbundenen Diensten gehören beispielsweise Microsoft, da Ihre Dienste möglicherweise Dienste entwickeln. Alles, was sein kann, kann mit dem Projekt verbunden werden und wie ein Webdienst oder ein
zusätzlicher Dienst verwendet werden. Sie können das als Hoffnung für dieses Video verwenden. werde ich nicht hineinkommen. Ich wollte nur verstehen, was du ansiehst. Und dann haben wir Abhängigkeit ist also, wenn Sie Abhängigkeiten erweitert haben, als Sie Analysatoren sehen . Dominic Cork kommt also mit ein paar Analysatoren, die uns bei unserem Debugging und/oder
Leistungsanalyse helfen . Während wir weitergehen, haben
wir Rahmen. Also wissen wir, wo wir den Punkt-Net-Kern von der Arbeit an den
Store-Dot-Net-Core-Framework-Referenzen verwenden , dann Pakete, wo wir tatsächlich wissen, welche Art von Paketen verwendet wurden und ein Paket sein
kann, wissen
Sie, wie 1/3-Partei-Bibliothek, die ein Dienstprogramm ist. So zum Beispiel wird
zum Beispiel
Bootstrap in früheren Versionen veröffentlicht, die Sie herunterladen können. Bootstrap. Nicht, dass Sie nicht wissen können Sorry, aber es ist nicht in erster Linie so implementiert. Aber der Punkt ist, wenn Sie 1/3-Partei-Bibliothek haben, die Sie in Ihr Projekt aufnehmen möchten, dann wissen Sie nicht, wie wir ein Paket mit einem Tool namens new get nennen. Also, wenn Sie tatsächlich Abhängigkeit ist und Sie etwas namens verwaltet sehen, erhalten
Sie Pakete. Ein weiterer Bildschirm, der Ihnen zeigt, was installiert ist. Also haben wir alle diese Pakete und erinnern uns daran, dass wir einzelne Benutzerkegel gemacht hatten und wir ein Projekt
erstellt haben . Also, wenn du es dir
ansiehst, siehst du den Punktnetzkern, die Identität, die du mir recht hast. Das ist also ein Paket, das wir nicht auf bestimmte Bibliotheken geladen haben, die Handle-Verbindung speichert Datenbienen. Und dann, wenn die Bibliothek will nicht bereits installiert ist, können
Sie immer zu Bro's gehen. Auf. Sie werden am wenigsten alle Bibliotheken schulden, die Ihnen auf der neuen Get-Plattform zur Verfügung stehen. Also hier ist Geek, wo Sie nicht wissen können, dass Jake Referenzen hier trägt, ohne manuell gehen und die Dateien zu bekommen. Ähm, du hast Herbst-Oberschuh. Sie haben eine ganze Reihe von ihnen, dass einige vielleicht etwas für Ihre bedeuten, ich kenne einige mich nicht, und das ist in Ordnung. nur, dass es wichtig ist, dass Sie Pre-Release, wenn Sie suchen, weil wir diese Nacht 3.1 verwenden, die brandneu auf DSO ist. Einige Leute haben vielleicht nicht veröffentlicht um, sehr öffentlich zeigen die Darknet drei die dunkle Net Core 3.1-Version von ihrem Paket gerade noch. Also, indem wir Pre-Release einschließen, als wir diese Veröffentlichung für Donald und
Inklusion zur Verfügung stellen . Als nächstes haben
wir Eigenschaften. Und wenn wir in Eigenschaften gehen, Sie sehen, starten Sie die Raseneinstellungen,
die Jason , die öffnet diese Datei, Wir müssen nichts hier berühren. Aber das ist Miss Guy. Nur ein Feuer mit einigen Direktiven, dass, wenn wir starten, das ist, was wir erwartet werden. So können Sie es ändern, wenn Sie genau wissen, was Sie tun. Wenn nicht, können
Sie es so lassen, wie es ist und von Fall zu Fall ändern. Unsere nächste haben wir oder www Route Nr. Www Root-Ordner hat unsere statischen Dateien. Und wenn ich statische Dateien sage, meine
ich in der CSS-Datei, jede Java-Skriptdatei oder jede lib hat den Bootstrap auf JIA-Abfrage. Es kommt also mit diesen Dingen, die bereits eingebaut sind. Es kommt standardmäßig mit den Bootstrap, ähm, Dateireferenzen. Wenn Sie also planen, Bootstrap zu verwenden, müssen Sie nicht sehr weit gehen, weil es bereits vom temporären Projekt getrennt , das wir erstellt hätten, wenn wir JavaScript-Dateien wollen, die sich entwickeln würden . Wir setzen es hier Website nicht CSS. ist im Grunde nur dort hört Datei auf, die sie uns geben, dass wir ändern können, wenn Sie
Dinge hinzufügen möchten , die mich bootstrap, nicht unbedingt uns geben. Alles in allem
alles, was eine clientseitige statische Datei ist. Sie geben uns den Rahmen dafür, wo wir sie ins Meer bringen können. Assists, und sie sind normalerweise CS- und GS-Dateien würden nicht jede Dima-Dateien notwendigerweise in einem
Projekt wie diesem machen . Es sind also wirklich CSS- und JavaScript-Dateien, die erstellt und in diesen Ordnern platziert werden auf denen alle im www-Root-Ordner sind. Als nächstes haben
wir Bereiche auf Daz. Wir gehen in das Identitätsmaterial. Wir werden erforschen, was hier drin ist. Aber Bereiche sind im Grunde wie eine Segmentierung von Ihren Anwendungen. Sie haben, wie ein Admin-Bereich versus und Mitarbeiter Ära gegen ich verwenden ihre Management-Ära. Also standardmäßig, weil wir die Benutzerauthentifizierung einbezogen haben, haben
wir Identität als einen Bereich auf seiner Es ist leer. Nein, aber wenn wir zu diesem Punkt kommen, sehen
Sie es Philip ein bisschen mehr. Als nächstes haben wir Controller. Nein, ich meine nicht viel Zeit damit verbracht zu erklären, was der MTV und das Meer wirklich in NBC bedeuten, aber sie stehen für Modelle, Ansichten und Controller. Auf DSO haben
wir einen Ordner vier Controller, und Sie bemerken, dass wir eine voll von vier Modellen haben. Sind ein Ordner für Ansichten. Nein, der Kontrolleur. Da es Person erscheint, das heißt, ich werde es zuerst ziemlich diktiert, was die Webanwendung tun sollte. Wenn also jemand auf eine Seite klickt, wenn er auf einen Link klickt, fordert er
eher Inhalte an. Sie fordern einen Pitch. Also, wenn der Klick auf diesen Link, das ist unsere Anfrage, die an den Controller gesendet wird. So erhält Controller eine Anfrage auf. Dann, wenn es die Anfrage bekommt, heißt
es:
Okay, Okay, diese Person hat diesen Link oder diesen Inhalt angefordert, basierend auf den Informationen, die ich bekomme . Dann wird er den Inhalt so gut wie möglich zurückgeben. Wenn er nicht kann, dann erhalten Sie so vier oder vier Fehler,
so dass der Controller buchstäblich die Strings zieht, basierend auf dem, was der Benutzer anfordert im Vergleich zu dem, was die Anwendung zu bieten hat, sagte Benutzer. Lassen Sie mich es also in ein wenig einfacheres Wort oder gut in den Kontext dessen, was in der
eigentlichen Datei ist . Also in den Controllern verkauft Aranda haben wir die Kontrolle gewonnen und es heißt Home-Controller. Das ist also ein Namensmuster-Home-Controller. Was auch immer der Name vom Controller ist, wir haben diesen Namen und dann den Wortcontroller, und es sollte immer in der Gemeinschaft sein. Es ist genau so auf unserer Akte. Dieser wurde für uns generiert, so dass wir es einfach durchgehen und es ansehen können. Wir sehen, dass wir öffentliche Klasse Home-Controller haben. Der gleiche Name der Datei ist also der gleiche Name der Klasse, die dort ist. Und es erbt von uns eine Basisklasse namens Controller und die darauf besteht, vorausgesetzt Onda beginnt mit Index. So Indizes in der Regel die erste Seite, die Lords auf jeder Website. Also, wenn Sie gehen zu verärgern Amazon dot com bulled up kommen youtube dot com. Die erste Seite, die auftaucht, wird normalerweise Index genannt, unabhängig von der Erweiterung dieses PHP dot html Was immer
es ist, es ist fast immer Index genannt. Und so, wenn wir Toe Bro-Shop wären, verlassen Sie das Management und gehen Sie einfach nach Hause. So sagte er, verlassen Management unter dem Schrägstrich nach Hause, dann das erste, was es tun würde, ist versuchen, Index zu finden. In Ordnung, also der Schrägstrich Index ist der Inhalt, den wir die Benutzer auf DSO anfordern würden. Der Controller wird überprüfen, ob es eine Funktion gezogen Index hat. Wenn es so ist, dann heißt es, Was sollte ich Index tun? Dann steht die Rückansicht. So ist die Ansicht, was der Benutzer sieht Künste Entfernung Haben em tragen V nufc Modell View-Controller. Der Controller sieht also, dass ich eine Anfrage von einem Benutzer auf dso bekam, ich gehe zu tun, was mir zur Tür
befohlen wurde. Dies ist der Inhalt, den dieser Benutzer sehen sollte, was die Ansicht ist, was auch immer der Benutzer die Ansicht übernimmt. Also, wenn ich in meinen Views Ordner schaue, dann werde ich einen Ordner mit dem entsprechenden Namen für meinen Controller sehen. Also habe ich Home-Controller. Das ist der Name meines Controllers Have Abusse-Ordner namens Home auf DSO Forever Funktion, die innerhalb meines Controllers definiert
ist. Also zumindest Index und Privatsphäre. Wenn ich diesen Views Ordner für den gesamten Controller hineinschaue, sollte ich eine Datei mit dem gleichen Namen sehen. Also habe ich eine Indexdatei. Entschuldigung. Lassen Sie mich einfach wieder dorthin schnell eine Indexfunktion richtige Funktion namens Index und zurückkehrende Ansicht haben. Die Erwartung ist, dass, wenn er sagt, dass die Return View diesen Ordner
mit dem entsprechenden Namen für eine Datei mit dem gleichen Namen wie die Funktion nach innen schauen wird. Aus Gründen der Privatsphäre sehen
Sie eine Datei namens Privacy Arrow. Candido Etwas anderes Haben diese Retouren von Ihnen mit etwas Inhalt darin so schnell
bekommen ? Warum ist es ein wenig anders, aber am Ende des Tages waren eine Wendesicht auf die Arbeit zurück Ansicht hier. Das Gericht ist identisch, aber dann kontextuell weiß, dass es die Ansicht zurückgibt, die dem Namen
Privatsphäre entspricht . Es schaut also in den Ordner und findet eine Datei mit einem entsprechenden Namen. Da wir also mit Index begonnen haben, schauen wir uns die Indexansicht an. Also, wenn ich den Index nicht mag, siehst du das? Es ist wirklich nur geladen und es sieht okay, ähm, jeder Schlepper Willkommen. Also das ist ein html fünf, aber beachten Sie die Erweiterung, sagen wir, C s, dass html auf Dies ist eine spezielle Erweiterung, weil dann es uns erlaubt, die Art aus injizieren C scharfen Akkord in unsere Seite, wie wir mich wollen. Alles klar, hier können Sie sehen, dass dies nicht wie HTML aussieht. Dies ist kein HTML eine große. Es ist eigentlich ein wenig weg wie eine C scharfe Art von Hybrid C scharfe HTML Art von Hybrid. PH Alles klar, wenn Sie
also mit PHP vertraut sind, dann ist diese Art von entsprechend in einer CS HTML-Datei anwendbar. Jetzt ist die Standardfehlerseite hier, und sie kehrt von Ihnen zurück. Aber es ist irgendwo eine Ansicht, und es gibt ein Fehleransichtsmodell zurück. Beachten Sie also, dass unabhängig von dem Namen, schauen wir uns den Namen nicht an. Aber wenn Sie mit C Sharp vertraut sind und das ist wirklich eine Klasse, das ist so deklarieren Klasse. Ich habe eine Ansicht mit einer Klasse zurückgegeben, die einige Daten haben wird. Sie bemerken es, sehen Anfrage i d. Und es gibt an, was der Inhalt dieser Variablen sein sollte. Im Wesentlichen handelt es sich hierbei um Inhalte . Wenn Sie
also Inhalte produzieren, ist
das nicht statisch. Statischer Inhalt ist also so. Ich habe es getippt und ich habe es verlassen. Basierend auf diesem,
basierend darauf, was ich diese Klasse als Vergangenheit in der Ansicht deklariere,
kann das Kontext sein. Basierend auf diesem, basierend darauf, was ich diese Klasse als Vergangenheit in der Ansicht deklariere, Also kann ich sehen, ob es diese Art von Ferro auf dieser Art von Nachricht , usw. Oder vielleicht möchte ich, dass Daten angezeigt werden. Und sobald Daten dynamisch sind, wird der
Inhalt angezeigt, als das, was wir verwenden, ist das Modell. Also hatten wir den Vienna See, wir haben die Aussicht. Wir haben die Kontrolleure. Jetzt schauen wir uns die M an, die Modelle auf. Wir haben ein Modell für dann, in diesem Modell schlucken, wir haben ein Modell namens Fehleransicht-Modell auf Sie. Beachten Sie, dass dies derselbe ist, der hier deklariert oder initialisiert wird, wobei einige Inhalte in eine Ansicht übergeben werden, die dem Wort error oder dem Namen
Eric entsprechen sollte . Wenn wir in den Ansichten schauten und auf geteilt schauen, dann schauen Sie in den Brunnen in der Freigabe, denn sie werden sehen, dass wir diesen Fehler haben, nicht CSS-HTML-View-Datei dort. Alles klar, wenn
wir, wenn das aus der Ära dient, Pidge, es geht wirklich um,
Serve up Diese Ansicht mit einem Textfehler und Fehler aufgetreten ist, während Sie Ihre Anfrage auf. Dann gibt es Ihnen die gleiche Anfrage Idee Hinweis, die es aus dem Modell Arzt Anfrage
Ideen zitiert . Also Notizen im Controller, wo ein Überprüfungsmodell I d. Also, sobald diese Ansicht gerendert wird, hat
es den Inhalt, der in ein Überprüfungsmodell eingefügt wurde, kann
es darauf zugreifen. Dann können wir dynamisch drucken, das unsere Benutzer mit,
na ja, na ja, der C-Share-Syntax. Sehen Sie, wir haben eine Aussage, und das meinte ich mit dem CS-Problem. Malalas war die Art von injizieren einige C scharf mit über HTML. Alles klar, so dass Sie hoffentlich ein besseres Verständnis von NBC haben. Ich weiß, dass ich wie ein Crashkurs war, aber keine Sorge, wir haben einen ganzen Kurs vor uns und wir werden alles verstehen, wenn wir weitermachen . Also haben wir die App-Einstellungen, dass Jason hier ist, wo Verbindungszeichenfolge große Strings im Ganzen
eingerichtet werden . Wir möchten, dass die Protokollierung auf dso diese Standardverbindung ziemlich behandelt wird. Sie können den Namen ändern, wenn Sie möchten, aber es ist dort auf der dies wird eine Datenbank auf einem Server namens lokalen TV erstellen. Also habe ich gesagt, dass wir SQL Express verwenden. Wir verwenden tatsächlich eine kleinere Version von SQL Express. Und das nennt man lokale DB, welche in Visual Studio integriert ist. Zugegeben, wir können in Visual Studio darauf zugreifen oder wir können dieses Managementstudio verwenden. Aber das liegt an uns. So sind sie bestimmte Einstellungen außerhalb des Köders der Bienen gibt bestimmte Einstellungen, die wir hier auf Zugang
setzen können und es ist in einer Einstellungsdatei. Also, wenn wir etwas ändern müssen, kommen
wir einfach hierher, ändern es an, bewegen sich entlang oder programmiert CS-Datei. Dies ist eine Standarddatei, die mit Kernanwendungen geliefert wird, und es ist wirklich wie eine anfängliche Isar. Es ist also nur die Umgebung für den Kern der Anwendung des Arztes zu schaffen. Starten Sie und existieren in auf dann oder Startup Punkt CS hat mehr Konfigurationen für uns, so Doctor Core ist sehr Modell in der Natur. Wir können in Steckverbinder setzen den Graben, ähm, Sie wissen schon, Referenz-Dinge hier Tür Frankreich, sie dort. Am Ende des Tages, diese Datei dieser Konflikt begann diese Waffenruhe. Entschuldigung kommt mit einer Konfigurationsinitialisierung auf. Wir können uns vorstellen, dass wir verschiedene Dienste einrichten, die benötigt werden. So zum Beispiel eine Verbindung mit der Datenbank herstellen, müssen
wir
zum Beispiel eine Verbindung mit der Datenbank herstellen,die durch die Standard-Verbindungszeichenfolge definiert ist, die wir gerade im Sitzen betrachtet haben, damit wir die Verbindungszeichenfolge hier ändern können. Aber dann müssen wir sicherstellen, dass wir die Verbindungszeichenfolge ändern. Wir können es in der Konfliktdatei ändern. Sorry, aber wir müssen sicherstellen, dass, wenn wir es in der Konfliktdatei ändern, dass wir es im Startup ändern, dass CS Datei Referenz. Außerdem können
wir bestimmte Standardwerte für unsere Identität konfigurieren. Identität, wieder
einmal, ist das, was wir verwenden. Zehengriff, Authentifizierung und Autorisierung. Wir richten Dienste für Controller mit Ansichten und Lesevorgängen ein. Eine Seite ist so wieder, dot Net Core ist vielseitig kann für Desktop-Web oder sogar Konsolenanwendung mobile
Anwendungen verwendet werden . Sie müssen also nicht unbedingt alle diese abhängig vom Kontext benötigen. Wenn Sie also das Projekt einrichten, Ihr Startup, wird
dieser Waffenstillstand sehr unterschiedlich aussehen, basierend auf dem, was für ein Projekt es ist, das
Sie erstellen. So stoppen sie die Anwendung, würden keine Controller benötigen und würden keine Razor PGE benötigen. Unsere Webanwendung tut dies. Wir machen das. Wir haben auch eine Konfigurationsfunktion für die Umgebung. So tun Sie bestimmte Dinge basierend auf der Art der Umgebung, und wir verwenden bestimmte rotierende Authentifizierungsfunktionen auf wir sitzen oben, wie das Standardmuster für Sie Browsen aussehen sollte. Es gibt also viele Dinge, die wir einrichten können. Wir werden keine Änderungen vornehmen, sind zu aufdringlich in den Änderungen in diesem Video und werfen den Kurs Wir haben die Änderungen
von Fall zu Fall gemacht . Also wissen Sie, dass wir gesehen haben, wie die voller Struktur aussieht und wir haben ein besseres Verständnis aus. Was warst du nicht und ich glaube, ich habe den Datenordner übersprungen. Also der Datenordner, den ich übersprungen habe, die Datenordnerschläuche, unseren DB-Kontext auf unserer Migration. Unser DB-Kontext ist also eine Datei, in der wir, wenn
wir die Datenbank aufsetzen , nicht in SQL Server gehen und die Datenbank erstellen, die traditionelle, die wir mit einer Technik namens Code First verwenden würden , wo wir eigentlich gerade
, um Klassen zu erstellen, die modellieren, wie Tabellen aussehen werden. Sie müssen sie dieser Datei auf hinzufügen. Dann müssen wir ausführen, was wir Migrationen nennen, die tatsächlich die Datenbank für uns basierend auf den Modellen generieren, die wir
erstellt hätten , sind diese Datenklassen. Also werde ich hier nicht darauf hineinkommen. Ich möchte nur, dass Sie verstehen, was sich im Datenordner befindet, aber richtig wissen, was ich tun möchte, ist tatsächlich diese Anwendung
so auszuführen, wie sie ist, aber richtig wissen, was ich tun möchte, ist tatsächlich diese Anwendung
so auszuführen, wie sie ist,so dass wir sehen können, wie unsere Webanwendung aussieht, ohne Änderungen vorgenommen werden. Also klickten wir Eis drückte den grünen Pfeil auf. Dann beginnt es, was Sie einen Debugging-Prozess nennen, wo es überprüft. Wenn Sie irgendwelche Syntaxfehler oder irgendwelche haben, wird
irgendetwas in Ihrem Gericht verhindern, dass es ausgeführt wird, also führt es alle diese Prüfungen durch. dann Am
Ende dieser Überprüfungen wird
dannein Browser mit Ihrer Anwendung gestartet. Dies ist also Visual Studio im Debug-Modus. Alles klar, so dass sie tatsächlich niedrig Sie Zehe klicken Sie durch Ihre Dateien Onda, aber es ist eine Diagnose genommen und zeigt jede Aktivität basierend auf Ihrer Verwendung aus der Anwendung. Während es heute Morgen hier ist, sehen
wir, dass unsere Anwendung geladen ist, so dass ich unsere eigene klicken kann. Wenn ich so peinlich auf Home klicken kann, dass das Indexverzeichnis oder die Indexansicht im
Home-Controller immer der Standard sein wird. Sie können das ändern, aber es wird immer die Standardeinstellung für DSO sein. Denken Sie daran, wir sahen, dass h ein Tag auf einem anderen P Schlepper. In Ordnung. Und dann, wenn Sie auf Privatsphäre klicken, als es wächst, ist die Startseite Schrägstrich Privatsphäre. Siehst du das? Wenn ich das auf meinem rechten Index ändere, dann geht es direkt zurück zu unserer Indexrede auf dann im Visual Studio. Während wir sehen wollen, dass ganze oder Anwendung läuft, Was wir tun können, ist an dem, was wir Breakpoints nennen. Also sagen wir, ich erlebe eine Form von Ära und ich bin mir nicht genau sicher, warum. Sind, wenn dieser Pfeil ist, ähm, kann
ich einen Bruchpunkt setzen. Mal sehen, hier. Also dieser Bremspunkt, klicken
Sie einfach entlang dieses Panels zwischen der Docking-Leiste auf den Kabellinien, so dass die meisten gut, meisten drehen sich invertiert, wenn es in diesem Abschnitt ist. Aber dann wird er hier wieder normal werden. Wenn Sie auf klicken, sehen
Sie den roten Punkt und die Linie ist rot hervorgehoben, oder? Also werde ich den Index noch einmal aufbroz,
dann wird das, was tun wird, diese Funktion zu treffen und dann fortzufahren, um zu tun, was in der Funktion ist . Aber dann wird es am Breakpoint pausieren,
denn das ist, wo ich möchte, dass die Anwendung pausiert oder vielmehr lasse ich es auf dem
Privatsphärenfeld machen . Also werde ich innehalten, wenn ich die Ansicht für die Privatsphäre zurückgebe. Also werde ich wieder weitermachen. Dann werde ich Privatsphäre sehen und dann nicht verliert es den Fokus auf den Bruder, und dann hebt es die Linie, wo es ist. Es liegt also darin, dass Sie diesen Prozess durchführen werden. An diesem Punkt kann
ich wählen, um zu überspringen, was bedeutet, dass ich Zeile für Zeile gehen kann, die Tiefs sind. Ich, um alle Variablen und alle Werte anzuzeigen, die gesetzt werden, oder ich kann einfach fortfahren oder f fünf drücken, um fortzufahren. Dann wird die Anwendung fortgesetzt, wie sie sollte. Alles klar, so dass im Wesentlichen Loch wir globalen Laufen oder Anwendung. Wenn ich mich anzumelden gehe, denke
ich, dass ich einen Fehler erhalte, weil es bestimmte Schritte sind, die oder ich keinen
Fehler erhalten habe . Okay, es gibt bestimmte Schritte, die wir uns unterhalten müssen, bevor wir das tatsächlich tun können. Also Fakten-Leck-Register. Dann glaube ich, dass ich diesen Fehler bekomme und wir gehen. Es schien also, dass ein Datenbankvorgang fehlgeschlagen ist. Wir müssen einige Migrationen durchführen, bevor wir fortfahren können. Das ist also, dass auf Aktivität für eine spätere nicht ist. Aber nein, ich wollte nur, dass Sie verstehen, wie Visual Studio funktioniert und wie unser Projekt abgewickelt ist, damit ich dieses Browserfenster tatsächlich offenlegen
kann. Andi, sobald Sie das Browserfenster schließen, Visual Studio wird verlassen, entlarvt mehr als zurück in den Modus gehen, wo es Ihnen erlaubt, Code frei zu schreiben. Also, das ist es für die Tour aus der vollen strukturellen für dotnet core 3.1 Anwendung. Im nächsten Video werden
wir mit der Einrichtung des Löwen beginnen. Also sahen Sie, dass der Leo nur wusste, dass er dieses Bootstrap-Gefühl hatte. Aber wir werden einfach voran gehen und einige Änderungen vornehmen, zumindest um loszulegen
7. Projekt überflügeln NET 5: Hey Jungs, in diesem Video werden wir diskutieren, wie 2.In um fünf zu aktualisieren oder sogar installieren, wenn Sie noch nie jeden.net-Framework installiert haben. So dominante fünf ist alles umfassend und es ist tatsächlich abwärtskompatibel mit vielen Dingen, die Sie in Ihrer ASP.Net oder Ihrer dominierten Core 3.1-Anwendung haben würden. Allerdings, wenn Sie wünschen, meine vereinbarte zu.net fünf, dann ist dieses Video für Sie. So beginnt unsere Reise mit einer einfachen Google-Suche für.net five, wir können dem ersten Link folgen und dann wird das uns in eine Ära führen, in wir entweder das SDK oder die Laufzeit oder Kugel herunterladen würden. Es gibt wirklich keine Beschränkung, auf welche man sollte. Sie würden also das SDK installieren, so dass Visual Studio Ihnen alle Tools zur Verfügung stellt, die Sie benötigen, um eine dominante fünf Anwendung erstellen zu können, während die Laufzeit mehr Bibliotheken aussetzt
, so dass Sie die Anwendung wie auf iOS hosten können. So können Sie auf meinem anderen Video auf Hosting dominieren Kernanwendungen überprüfen. Und die Schritte, die Sie durchlaufen müssen, um die Laufzeitumgebung zu installieren, vorzubereiten und Ihre Anwendung zu veröffentlichen. Also für das SDK möchten
wir die entsprechende Version auf herunterladen, sagen wir, wenn Sie auf Mac, Linux, Windows sind, haben
sie ein Installationspaket für Sie. So können Sie voran gehen und auf die entsprechende klicken. Ich gehe mit dem x 64. Und sobald dieser Download abgeschlossen ist, erhalten
Sie dieses Installationsprogramm, dem Sie einfach voran gehen und auf Installieren klicken können. Sie durchlaufen alle Sicherheitskontrollen F2. Und es ist ein ziemlich schneller und unkomplizierter Prozess, also wird es Sie wissen lassen und es war erfolgreich. Wenn es nicht erfolgreich war, möchten
Sie wahrscheinlich überprüfen, ob Sie die richtige Version erhalten haben. Ich bin noch Rachel, um Microsoft-Support. So oder so, wenn Sie den Siebdruck haben, dann sind Sie einen Schritt näher. Gehen Sie also nochmals voran und klicken Sie auf Schließen. Und wenn Sie dann unser brandneues Projekt erstellen möchten, können Sie Visual Studio starten. Klicken Sie auf Projekt 2-0-Vorlagen erstellen. Und lassen Sie uns mit einer Kern-Web-Anwendung gehen. Klicken Sie auf „Weiter“ und geben Sie ihm einen Namen. Dies ist also nur ein Beispiel, also werde ich nicht zu formell mit etwas Nassem sein und klicken Sie auf Erstellen. Und dann auf diesem Bildschirm können Sie Dot NYC core 5 aus der Liste auswählen. Und dann wählen Sie die entsprechende Vorlage aus, mit der Sie arbeiten möchten. Ändern Sie alles andere, und klicken Sie dann auf Erstellen. So können Sie Ihr ersten.net erstellen. Also für den Fall, dass Sie bereits Kern,
vielleicht 3.1 Anwendung haben , dann, was wir tun würden, ist immer noch das Projekt zu bringen. Klicken Sie auf Ihre, was ist die Projektdatei, und dann wird dies nur die XML-,
XML-Konfiguration dahinter angezeigt . Und dann werden Sie ein paar Änderungen vornehmen. Also, wo Sie sehen detonate core up 3.1, Sie wollen das nicht in.net core oder.net ändern, sorry, 5. Also genau wie das.net Fünf-Punkt oder lassen Sie mich es einfach in größer machen, so dass es offensichtlicher ist. Also möchten Sie einfach Punkt ersetzen. Ich sehe weiterhin Dot.NET Core nach oben 3.1 mit Netz 5. Das ist Schritt Nummer eins. In den nächsten Schritten müssten Sie Ihr Paket oder Ihre Referenzen aktualisieren. Also Randall, alle meine Pakete, die 3.1 sehen würden, würde
ich sie tatsächlich auf vielleicht fünf ändern wollen, oder? Oder ich könnte einen Build machen. Nun, mein Build fühlt sich tatsächlich
daran, weil es, da meine Abhängigkeiten nicht mit dem übereinstimmen,
was diese erwartet haben, was wir gerade beheben werden. Lassen Sie mich also diesen anderen Ansatz nehmen, anstatt etwas anderes zu bauen oder zu tun, wir können mit der rechten Maustaste auf unser Projekt
klicken, um neue Get-Pakete zu verwalten, und dann auf installiert schauen. Und dann sehen Sie alle verfügbaren Updates von vielleicht 3.1 bis fünf oder von welcher Version es war weil ich einige andere habe, die keine Microsoft-Abhängigkeiten direkt sind und die Upgrade-Optionen anbieten. Also werde ich voran gehen und gehen und alle diese Objekte machen. Also klicke ich auf Updates, wähle alle Pakete aus und lade das Update. Und dann nach dem Training, wenn ich einen anderen Build mache, dann sehe ich, dass alles erfolgreich aktualisiert wurde. Kurz gesagt, vielleicht unterscheidet sich Ihr Projekt von meinem in Bezug auf die Abhängigkeiten und die Bibliotheken, die Sie verwenden. Aber die Schritte sind ich und Sie installieren das SDK, Sie kommen und ändern Ihr Ziel-Framework, aktualisieren Sie alle Ihre neuen Get-Pakete. Und dann solltest du gut sein, mit.net fünf zu gehen. Wenn Sie zu Ihrer Projektdatei zurückkehren, würden
Sie sehen, dass alle auf 5 geändert wurden. In Ordnung, das sind also die Schritte, die Sie ergreifen können, um Ihre Reihe von Seiten zu aktualisieren. Mvc-Anwendung zu.net fünf.
8. UPDATE - Projekt auf. NET 6: Hey Leute, willkommen zurück. In dieser Lektion werde ich Sie also nur durch das Upgrade Ihres Projekts von dotnet 52, dotnet sechs führen. Dies ist völlig optional,
und ich schlage nur vor, wenn Sie
den Sprung gewagt haben und Ihr Projekt bereits von dotnet,
Drei-Punkt-Eins und ich schlage nur vor, wenn Sie
den Sprung gewagt haben , Dotnet Core 3.12 Punkt Net Five aktualisiert haben, wie es in der vorherigen Lektion vorgeschlagen hätte. Wenn Sie dieses Versprechen nicht eingehalten haben, können
Sie über diese Vorlesung hinaus fortfahren und einfach mit dem Rest
des Kurses fortfahren , indem Sie dotnet Core 3 Punkt 1 verwenden, 0.net Core 5 ist
abwärtskompatibel mit allem von dotnet Core 3.1. Also würde ich vorschlagen, dass Sie das Upgrade trotzdem vorgenommen haben. Für diese spezielle Lektion sind
Dotnet Sikhs jedoch dotnet Core sechs wird nur mit Visual Studio 2022 ausgeliefert. Wenn Sie also Visual Studio 2020 verwenden und das Projekt
bereits mit dotnet Core
3.1 oder dotnet Core 5 erstellt haben. Dann soll diese Lektion Sie dazu führen,
wie Sie dieses Projekt auf dotnet 6 aktualisieren können. Sie haben also bereits Visual Studio 2022 und Sie haben das Projekt in dotnet five oder dotnet Core 3.1, dann hilft Ihnen diese Lektion beim Upgrade auf dotnet sechs. Andernfalls können Sie mit dem Rest dieses Kurses fortfahren. Alles, was wir in diesem Kurs machen ist mit Forward-Versionen kompatibel. Während Sie weitermachen, sehen
Sie jedoch , dass Visual Studio 2022
einige Funktionen bietet , die Sie 2019 nicht sehen werden. In Bezug auf die Erfahrung Sie möglicherweise verschiedene Dinge auf Ihrem Bildschirm auf. Dann siehst du auf meinem Bildschirm, die allgemeinen Konzepte bleiben
jedoch gleich. Also genug von meinem Monolog, lasst uns anfangen. Der erste Schritt besteht also darin, zu unserer CSS-Datei überzugehen. Ich bin mir bewusst, dass Sie wahrscheinlich mit Dotnet Core
nicht sehr vertraut sind und das ist in Ordnung. Ich fahre sehr langsam. Nun, du würdest sehen, dass ich schon in Dotnet bin, im Netz oder auf 3.1
, da fange ich an. Das heißt, wenn Sie immer noch nicht in Core 3.1 sind, funktioniert das, was ich gerade mache. Also werden wir das zuerst datieren oder upgraden, um net 6 zu sehen. Dann nehmen wir zwei neue Pakete und platzieren sie hier unter die Artikelgruppe für Paketreferenzen. Seien Sie also vorsichtig, wenn Sie
diese Paketreferenz eingeben , gehören Microsoft Dot ,
ASP NET Core, JSON Patch und die Version ist 6. Dasselbe gilt für Microsoft Dots Extensions
Punkt-Caching-Abstraktionen Version auf 6. Sie können also Pause drücken und diese abtippen. Eine weitere Änderung, die wir vornehmen werden
, ist die Datei App settings.js ON. Also werden wir diese beiden Zeilen,
Zeilen 89, oder zumindest für mich dort, 89,
aber Microsoft-Doppelpunktwarnung und Microsoft Dot Hosting
Dot Lifetime Information ersetzen Zeilen 89, oder zumindest für mich dort, 89, aber Microsoft-Doppelpunktwarnung und Microsoft Dot Hosting
Dot . Und wir werden das durch Microsoft
Dot ASP NET Core Doppelpunktwarnung ersetzen . Stellen Sie sicher, dass Sie
die richtigen Anführungszeichen eingeben , und die Gerichte sehen, wie Sie es hier sehen
, auf Pause und replizieren sie entsprechend. Nachdem Sie diese Änderungen vorgenommen haben, können
Sie die Lösung so erstellen, dass Sie Umschalttaste gedrückt halten und B drücken können.
Oder Sie können einfach zu Build gehen
und diese Option drücken. Und das deutet darauf hin, dass Sie bestimmte Assets
haben, die nicht synchron sind. Der Grund dafür ist nirgends die Verwendung von dotnet sechs und unsere Versionen sind noch nicht fertig. Wenn Sie also bereits auf Dotnet Five sind, werden
Sie Versionen mit fünf sehen. Du hättest sie bereits auf fünf aktualisiert. Sie würden die gleiche Art von Fehler sehen. Was wir also tun müssen, ist mit der rechten Maustaste auf unser Projekt zu klicken und dann gehen wir zu NuGet-Pakete verwalten. Und Sie sind damit vielleicht nicht vertraut, aber während wir in diesem Kurs weitermachen, werden
Sie mehr mit dem Paketmanager interagieren. Dies ist also ein
Tool, mit dem Sie sicherstellen können, dass Sie die richtige Version von Bibliotheken für die Version von Dotnet verwenden, die Sie gerade verwenden. Wenn Sie also unter Updates schauen, werden
Sie feststellen, dass es mit bestimmten Bibliotheken, bestimmten
Paketen, vorverpackt ist. Und viele der Versionen sind ausgeschaltet. Ihre Versionen unterscheiden sich vielleicht von meinen, aber zu diesem Zeitpunkt müssen sie alle sechs sehen. Was Sie also tun können, ist
alle Pakete auszuwählen und dann auf Aktualisieren zu klicken. Und dann können Sie zustimmen
und auf OK klicken, um alle Eingabeaufforderungen zu erhalten. Und sobald dieser Update-Schmerz beseitigt ist, können
Sie erneut auf Build klicken und dieses Mal einen Neuaufbau durchführen. Dadurch wird die Lösung gereinigt, alle Pakete
wiederhergestellt
und sichergestellt, dass
alles nach dem, was es erwartet, sieht . Und sobald das nicht erfolgreich ist, können
Sie fortfahren. So aktualisieren Sie also auf dotnet 6. Sie sehen also, selbst wenn Sie dotnet five nicht aktualisiert
haben, können Sie trotzdem den Sprung wagen und dotnet 6 von dotnet Core 3.1
aktualisieren. Diese genießen also den Kurs. Wie gesagt, unterscheidet sich Visual Studio 2022
in Bezug auf einige der Funktionen von 2019 . Sie werden also bestimmte Dinge erleben, wie erweiterte IntelliSense, mehr KI-Vorschläge. Und das siehst du vielleicht nicht auf meinem Bildschirm, weil ich 2019 verwende, was eine ältere Version ist. Alles, was gelehrt wird,
ist jedoch ziemlich gleich und abwärtskompatibel. Du solltest also absolut kein Problem haben. Ich stelle mich entsprechend neu aus. Also mach weiter und hab Spaß.
9. Website-Layout einrichten: Hey, Jungs in diesem Video werden anfangen, einige der Ästhetik rund um unsere Anwendung zu modifizieren. Also habe ich es in Menschen mehr als das ist unsere Anwendung auf. Sie können sehen, es ist sehr schlicht, aber niemand ist einfach mehr oder weniger ist so. Machen Sie es sich nicht um die Leerräume, aber einige Änderungen, die wir vornehmen werden, umfassen das Ändern des Namens, der hier
angezeigt wird . CC verlassen auf die Partitur Management. Das ist der eigentliche Name unseres Projekts. Aber das ist vielleicht nicht der Name der Anwendung selbst. So lernen wir, wie man das ändert. Wir werden verstehen, dass wir die Änderungen einmal erfüllen können. Sind bestimmte Änderungen einmalig ideal. Rep. Ricky werfen die Anwendung, weil oder Punkt Net Core-Anwendung gibt oder so etwas wie ein Lay niedrigen pH-Wert, wo wir die Dinge einmal ändern und es global geändert wird. So bemerken Sie, dass die Knave-Leiste auf der Fußzeile statisch sind, unabhängig von der Seite oder auf, wenn ich zur Privatsphäre gehe, ist der gleiche Nerv Bar Onda Fußzeile. Wenn ich mich registrieren gehe, ist
es die gleiche Nervenleiste auf der Fußzeile. In Ordnung, also weißt du, was das ist? Es gibt gewisse Dinge, die konsequent sind. Und das liegt daran, dass es eine Basisdatei gibt, die toe modifiziert werden kann. Sie kennen mich, diese Dinge irgendwie statisch auf global in unserer Anwendung. Also zurück in Visual Studio, und ich werde das einfach schließen, um den Debug-Modus zu verlassen, und dann gehen wir zurück zu Visual Studio. Wir werden in die Aussicht gehen. Fuller. Wir werden expandieren, geteilt auf. Wir gehen Zehe Layout Punkt CSS html. So öffnet sich eine große HTML-Pizza. Wenn Sie irgendwelche Arbeit mit HTML und durch die Erweiterung Bootstrap gemacht haben, dann sollten Sie es sein. Wissen Sie, Sie sollten in der Lage sein, Ihren Wo in dieser Rede zu navigieren. Hier gibt es einige Dinge, die sich irgendwie von der Standardfrage des Friedens unterscheiden. Aber wenn wir mitmachen, werde
ich sie erklären. Kein Problem. Also haben wir den Standard Isham von Formaten, oder was ich nenne das Skelett, wo wir haben oder nicht geben oder erklären ihre Erklärungen an der Spitze oder Kopf Schlepper und oder Körper all das innerhalb von wo html Wanne Tyrann auf der Innenseite aus Kopf. Wir haben bestimmte Meta-Tags, die erforderlich sind, damit wir sowohl global akzeptabel in unseren Chancen auf auch tohave reagieren. Website auf diesen Dies wird von Bootstrap für verbringt responsive Website-Design erforderlich. Dann haben wir unseren Titel, also das erste, was ich ändern möchte, ist der Titel. So sehen Sie hier hat es verlassen auf die Partitur Management, das ist die OG Liteks, die wir gesagt haben, wir wollen Zehe loswerden auf. Dann werden Sie auch bemerken, dass es ist Es hat dies am Zeichen und etwas, das irgendwie
hervorgehoben,
wütend ist hervorgehoben, und nicht ganz wie HTML oder statischer Text aussieht. Wenn Sie also das Äußere auf diesem großen Highlight über Text sehen, bedeutet
das, dass es Rasier-Syntax oder C scharf in HTML ist. So ziemlich. View-Daten sind eine Art Variable, die uns innerhalb unserer
Punktnetzkernanwendungen zur Verfügung steht , und wir können die Ansichtsdaten irgendwie so setzen, dass wir vom Controller aus sein wollten. Dann ist das, was in diesem Abschnitt aus dem Titel auf dann den Bindestrich gedruckt wird und lassen Management ekstatisch. Also werde ich das eigentlich nur ändern. Ich ging, um unsere Anwendung Kern nennen, verlassen Management so für mehr Kontext, so
ziemlich, wenn Sie auf amazon dot com gehen und auf die Kreditrede klicken. Wenn Sie in Ihrem Tubb schauen, Sie erkennen, dass Sie Produkte Bindestrich sehen, amazon dot com. Oder vielleicht sehen Sie amazon dot com Bindestrich. Einige zeigen, was Pager auf diesem ist so ziemlich alles, was sie tun. Amazon dot com wäre statisch. Das ändert sich nie. Aber dann sagen sie Ihnen dynamisch, auf welcher Pager basiert, wenn Sie wachsen. Also, wenn ich zurück zu den Controllern gehe eher, wenn ich zu den Ansichten von zu Hause auf I Click
Index zurückgehe , als du hier siehst, dass wir tatsächlich den View-Daten-Titel Toby Homepage einstellen, dann wird es im Layout drucken, was ich in diesem Titel eingefügt habe und dann Bindestrich , was auch immer statisch fixiert ich dort. Also für jedes Stück, das wir kreieren werden, können
wir, wenn Sie wollen. Wenn du so akribisch sein willst, kein Problem. Sie stellen nur sicher, dass Sie sehr besonders darüber sind, was Sie dort setzen. So Homepage Bindestrich Kern verlassen Anwendung ist, was geladen wird, wenn wir Breaux so unsere Homepage auf für den Datenschutz, wird
es Datenschutzrichtlinie sein, Bindestrich Kern verlassen Management in Ordnung, so dass so dass Daten Abschnitt arbeitet an. Dann sehen Sie, dass wir unsere Bootstraps Bootstraps Stylesheet referenzieren, sowie die Website, die CSS und Links die CSS-Schrägstrich Website. Das CSS und das geht von unseren www-Wurzeln verwendet Fuller. Seite auf dieser Seite geht aus dem lib Bootstrap-Ordner Beast CSS auf, dass wir
die Bootstraps-Dateien haben . Alles klar, so funktionieren diese Links und durch Erweiterung ist es ähnlich für die Skriptdatei. Also werden die Skripte normalerweise am unteren Rand der Seite referenziert, so dass die P sich ergibt,
bevor die Skriptdateien rendern ,
weil wir nicht wollen, dass er unsere Leute auf DSO warten lassen würde Moderne Technik würde uns die Skriptdateien am unteren Rand der Pizza, die ein Inhalt herrschen kann, bis der Streifen Feuer lädt . Also haben wir das an. Wir haben auch einen Abschnitt, den ich in den Abschnitt Genug bekomme, wissen
Sie, lasst uns beginnen, indem wir über genug Balken ändern. Genug sind auch. Bar ist ein Bootstrap genug Bar auf def. Sie sind nicht so vertraut mit Bootstrap Party will mehr Verstärkung mit dem, was Sie
mit Bootstrap tun können , dann können Sie auf ihre Website gehen, erhalten Bootstrap dot com, wo Sie Zugriff auf alle haben ihre Dokumentation, Beispiele und so weiter. Also Bush, nach oben 4.4, ist die neueste. Das ist und das ist, was Nun, ich bin mir nicht sicher, ob es vier Punkte dafür ist, dass das Projekt kommt mit, aber es ist definitiv vier. Also Ihre, wenn Sie nicht die neueste und Sie sind ziemlich nah an der neuesten auf noch einmal deckt Gebäude, so dass wir nicht darauf achten müssen, viel Aufmerksamkeit auf die Installationsanweisungen. Aber wenn Sie verstehen wollen, halten Sie genug an Werken und halten Sie die Klassen arbeiten. Dann können wir Fuß gehen. Ich glaube, es ist Dokumentation über. Dann können wir für Sie suchen zu necken, wenn Dienstprogramme als seine Komponenten starten. Andi, Wie Sie sehen können, ist
es ein ziemlich großes Dokument, aber in Komponenten und wir haben Nuff Käufer. Also, wenn wir genug Balken klicken, dann bringt es uns zu dem Abschnitt, wo wir tatsächlich auf den Kern schauen können, der
für genug Käufer benötigt wird . Und das ist das Beispiel, was das Gericht unten für Sie machen wird, damit Sie Kerl sein können, dass Sie diesen,
ähm,
Führer verwenden können , um das Gericht besser zu verstehen, aber ich werde durch einige der Änderungen gehen, die werden wir für unsere Anwendung machen. Also erstens, ich will keine Licht genug Bars. Wir haben eine Option aus Licht an. Dunkel auf. Lass mich einfach zurückgehen. Onda zeigt Ihnen die verschiedenen Optionen. Sie haben Sibirien. Sie haben dunkle Haare blau, Wir haben hellblau. Ich wollte genug Bar dunkel auf BG Dash dunkel sein. Also gehe ich zurück zu meinem Hof und ich sehe hier, ich habe keine Bar Dash Licht. Das ist fast die Standardeinstellung. Also werde ich sehen, wie dash dark geht, um dies zu B G dash dark ändern. Aber wenn ich auslösche, dass ich Kulturraum mache, dann siehst du,
dass mir das Visual Studio Court
etwas gibt , was , waswir Intelligenz nennen. So hilft es Ihnen, wie Sie mit Ihrem Hof gehen. Selbst mit Bootstrap-Klassen habe ich so RBG dunkel gemacht. Also wähle ich BG dunkel auf. Das ist eine Änderung, die ich vornehme, dass ich einige Änderungen an meinen
Navigationseigenschaften vornehmen werde . Für jeden Link, der in genügend Balken angezeigt wird, benötigen
Sie einen Verbündeten mit der Klasse jetzt Element. Dann haben Sie einen Onkel Schlepper mit Charles. Werden die Klassen für den ANC-Angriff bereits wollen, dass sie aussehen, also möchte ich, dass es einen
Textstrich braucht . Ich wollte weiß sein. Ich glaube, ich sehe das Recht einer Frau. Also brauche ich den Text weiß, weil der Nackenkäufer dunkel sein wird. In Ordnung, also bin ich nett dran, es hier umzukehren. In Ordnung, also mein Roman auf, dann wird der Text Strich weiß es machen weißen Text auf spe Bereich ist Controller, Augen gleich zu Hause. Und die Aktion ist Index. Das bedeutet, dass, wenn ich dieses Haus klicke, Ling in Ordnung, wie wir es getan haben, als wir in das Buch gingen. Mehr entscheiden, wo zu Hause und Privatsphäre Links kommen. Das ist also der Home-Link auf. Dies ist der Privatsphäre-Link. Wenn Sie auf klicken, wird
der Homelink nach dem Controller namens home suchen. Richtig. Und wir haben festgestellt, dass wir einen Controller namens Zuhause haben. Dann wird es nach der Action suchen. Ist eine Aktion ist so ziemlich diese Funktion, die ich das Innere vom Controller gezeigt habe, so Sie sehen, dass es Aktionsergebnis genannt wird. Die Aktion ist also, dass die Funktion auf getan hat. Es muss den Namensindex haben. Es sucht also nach einer Aktion namens Index. Und wenn ich auf Home klicke, ist
das meine Benutzeranforderung, die Indexaktion oder die Ansicht im Home-Controller zu sehen. Wenn ich also nach Hause klicke, wird zuerst danach suchen, dass Steuerelemente dieses Controllers nicht existieren und Sie erhalten einen Fehler. In Ordnung, dann, wenn es es es findet, dann wird es nach der Handlung in ihm suchen. Und wenn es nicht existiert, bekommt
man auch einen frühen. Wenn es existiert, dann wird es tun, was in diesem Raum ist. Die Funktion in diesem Fall gibt nur die Ansicht zurück, also ist es niemand, der im Ordner Views nach der entsprechenden Home-Views Sammlung auf sucht. Dann geht es auf die Zehe. Rendern Sie unseren Indexinhalt. Nein, der Indexinhalt ist über jeden Vortrag, der heißt Willkommen und unser Peter, der einen Link
und eine Erzählung über das Nachtgericht hat . Was passiert, ist, dass, wenn wir klicken, dass dies die Löwe Tonhöhe ist, unabhängig von der Ansicht, die von über Aktion zurückgegeben wird, innerhalb von Orender Körper gerendert wird. In Ordnung, das ist
also unser Hitter. Sechs auf mit genug Balken und dann gehen wir auf den Inhalt Abschnitt. Also noch einmal mache
ich all dies,
vorausgesetzt, Sie haben etwas Exposition gegenüber HTML auf. So wissen Sie, dass Mishima PGE Nachdem Sie Ihre Hit und Body Wannen tun, die
absolut für die richtige Struktur erforderlich sind . Die neue Struktur Ihrer Seite des Hitter-Abschnitts, die in der Regel genug von auf Ihren
Banner und was auch immer sonst hat . Und dann haben Sie den Inhalt, der auf der Seite auf all dem ist, größten Teil der Fußzeile. Also, wenn Sie es genau betrachten, sehen
Sie, dass männliche Peach hat den Header-Abschnitt mit unserer genug Bar rechts, die alle
unsere Links auf hat . Es hat auch,
ah, was wir einen Teil für die Luggging-Funktionen nennen. In Ordnung, aber dann haben wir auch ein Geben, das eine Klasse namens Container hat, ist dies die Hauptabschnitte , die der Inhaltsabschnitt ist alles verärgert auf. Jede Ansicht wird innerhalb dieses Abschnitts gerendert, weshalb oder Ansicht so leicht sein kann weil wir nicht durchgehen müssen und alle HTML-Syntax und alles klar sein müssen. Jedes Mal, wenn wir von Ihnen haben, müssen
wir uns nur auf das HTML konzentrieren, das dafür benötigt wird. Partikelabbissanteil, der auf dem pH-Wert gerendert werden soll. In Ordnung, auf. So wird es wie in diesem Abschnitt
innerhalb des Containers auf Contin Aires gerendert , eine Bootstrap-Klasse, die uns gibt, wie eine nette 80% Füllung auf jedem Bildschirm, der auf angezeigt wird. Alles klar, also gehe ich einfach durch das wird zurückkommen und unsere genug Bar ein bisschen modifizieren weil sie etwas Sonny für unsere Hintern sind, fügen
wir hinzu, wir haben unseren Container
, der macht unseren View-Inhalt jedes Mal. Und dann haben wir unsere Fußzeile. Also in unserem Fußzeilenabschnitt werde ich nicht die Ästhetik ändern, aber ich möchte den Inhalt ändern. Also haben wir die Kopie, ähm, Prozent-Kopie, Chemikalie. Und das gibt uns, dass Copyright-Zeichen Recht auf. Dann möchte ich das ändern, und ich werde Ihnen ein paar Stücke zeigen. Ähm, Rasiermesser-Syntax. Also denken Sie daran, dass Rasierer schließen uns Zehe setzen c scharf anstelle von vier HTML-Syntax. So ziemlich. Ich werde in diesem Jahr ändern, Toby dynamischer, weil im Moment ist es 2019 und ich bin tatsächlich Aufnahme dieses Video an
Silvester so buchstäblich morgen wird 2020 sein. Also mache ich das nur bekannt, so dass in Zukunft, wenn Sie sehen 2020 in meiner Fußzeile, obwohl wir begonnen 2019 Jahr, wenn zu sitzen 2020 das ist der Grund, warum. So ist es System auf 19 und es ist statisch als 2019. Also bin ich, was auf den Fuß geht. Verwenden Sie etwas c scharf, um es mehr Dynamik zu machen. Ich werde sagen, zum Zeitpunkt des Zeichendatums, Ordnung, und dann sehe ich Nein. Also, wenn ich jemals die Zeit wissen wollte Nein, Wie ich rede, würde
ich das Timed up verwenden. Nein, aber dann will ich nur das Jahr, damit ich Punkt auf sehen kann. Dann bekommst du nur das Jahr. Also, was tun wird, ist das Copyright-Zeichen zu haben, dann erhalten Sie das Jahr als wirkt die Zeit, die die Web-Anwendung geladen wird, oder das Jahr entsprechend der Zeit auf dem Server, von dem er plündert, also ist mein Computer korrekt, ziemlich genau. Also morgen alle Änderungen 2020 dann mein Tag wird 2020 sein, wenn die Serverzeit falsch ist. Herr Applikator sind die Computer-Zeit falsch ist, dann Offensichtlich wird dieser Wert falsch sein. Aber Tatsache ist, es dynamisch ist. Es wird nicht 2019 sein, selbst wenn es 2020 und 2021 ist. Also mache ich das nur ein bisschen mehr als und werde nur demonstrieren. Ganze c scharf kann in unseren HTML ganz einfach durch die Rasiermaschine Kunst auf eingefügt werden. Dann ändere ich diesen Text auf DSO. Sie sollten auch sagen, Kernurlaubsmanagement. Und ich werde das kopieren, damit ich nicht wieder auf mich getreten bin. Ich lasse den Privatsphäre-Link und dann haben wir oder Skripte, ähm, Dateien geladen werden. So wird das BRG-Abfrageskript ausgelöst, das das Bootstrap-JavaScript-Feuer geladen wird, das auf unserer benutzerdefinierten Website geladen wird,
die JS-Datei, die auch aus unserem Doublet Ihrer Route kommt. Gs Fuller Nein,
bitte beachten Sie, dass bei Skripten und mit CSS die Reihenfolge wichtig ist. Das bedeutet, dass man manchmal versucht, einen Steinbruch zu installieren, weißt
du, wie einen J-Steinbruch. Wir gitarren etwas, und dann setzen Sie die Script-Referenzen über die Jake Worry-Referenz. Das ist ein Nein, denn dann bekommst du einfach eine Rosige wird nicht funktionieren und dann siehst du Oh, mein Gott, was mache ich falsch? Ich kann das nicht tun. Also ist der Befehl wichtig. Also empfehle ich nur, dass zusätzliche Skriptdateien, die Sie hinzufügen
werden, die nicht Jake oder,
äh, äh, Bootstrap sind. Du legst sie einfach unter. Sie fügen einfach weiter hinzu, fügte hinzu, ich denke, ich denke, ich habe nie über Alles klar gestellt, das ist eine gute Faustregel von Kurs, Fall für Fall. Wenn du verstehst, was du tust, dann ist das in Ordnung. Aber nur um aus Ärger zu bleiben, wenn Sie nicht so sicher sind, fügen Sie sie
einfach immer unten auf. Dann haben wir unsere Kreuzung hier. Also denken Sie daran, lassen Sie Orender Körper, die unsere Ansichten rendert. In diesem Abschnitt haben
wir Abschnitt gut rendern, was Skripte verursacht wird, die ich verlieren uns die Insert-Skripte in der Ansicht von Fall zu Fall, weil wir möglicherweise nicht jedes Skript fünf für jede einzelne Ansicht benötigen. In Ordnung, also wollen Sie unsere Brände reduzieren, der Herr auf welchen Seiten. Also, wenn wir weitergehen, werden
wir den Zweck davon absehen, aber ich lasse Sie nur wissen, wofür es ist. Sie müssen nicht entfernen. Du kannst, wenn du willst. Das musst du nicht. Ich würde sagen, dass es nicht so ist, dann was? Werden wir das tun? Nein, es macht nur den letzten Schliff. Bewahren Sie genug Bar auf. Ich möchte nur an der Spitze hier ändern, wo wir den ersten Abschnitt über Schulden sagen Urlaub Management und wollen in der
Anwendung, in der Score Urlaub Management setzen . Dies ist also der Text, der in der Navigationsleiste selbst gedruckt wird. Wir müssen nicht viel mehr Ärger machen, aber ich werde hier nur noch ein paar andere Links hinzufügen. Also haben wir zu Hause. Wir haben Privatsphäre. Ich habe noch ein paar andere Links. Das ist unsere Schlüsselspitze, unsere ausstehenden Aktivitäten. Also schrieb ich 1/4 und ich werde nur den bestehenden Akkord durch das neue Gericht ersetzen und
dir einfach einen schnellen Durchlauf von dem geben, was ich tue. Einige ersetzen den Privacy Link durch mein zusätzliches Kabel auf DSO. einmal bauen
wir ein Urlaubs-Management-System auf. Also das erste, was ich in die Privatsphäre der Polizei setzen, ist eine, die für Urlaub auf gelten. Ich werde nur sicherstellen, dass mein Text auch weiß ist. Alles klar, also bewerben Sie sich für Urlaub. Das wird der Arbeitgeber tun. Und dann habe ich noch einen, und dieser ist in Form eines Drop-Down. Also, so lässt man Don auf. Eigentlich habe ich gerade das Beispielkabel von Bootstrap dot com genommen, weil sie ein
Dropdown-Beispiel hatten . Und in ihrem Drop-Down-Beispiel sagten
sie, dass, um einen Drop-Down-Link zu bekommen, richtig, das ist ein Drop-Down-Link, den wir brauchen, um zu l I Wir brauchen Zehe haben Kern, der so aussieht . Also habe ich das einfach kopiert und dann die Teile modifiziert, die ich einen Schlüssel wollte. Der Tropfen. Verknüpfen Sie keinen Text über die eigentliche Aktion oder Ankerschlepper. Vielmehr. Also könnte ich mir diese Modifikation auf. Also habe ich die Dropdown-Elemente und ich habe alle von ihnen. Aber während wir weitergehen, füllen
wir sie aus, wie wir in die Funktionen setzen. Dann treffen wir die Links arbeiten. Das ist jetzt nicht mein Ziel. Ich möchte nur, dass meine Nussstange etwas so aussieht, wie ich es erwarten würde. Andi,
ich werde nur
Zeh, äh, Teak diesen Text Bindestrich weiß und stellen Sie sicher, dass es innen von jedem Drop-Down-Element ist, um
sicherzustellen, dass diese weißen nehmen . Aber ich bin es. Dann werde ich einfach gehen und debuggen und sehen, wie es aussieht. Alles klar, so sieht es aus, richtig? Nein. Auf dso sehen Sie, dass die Zahl hat sich zu dunkel auf geändert hat so viele Dinge sind immer noch nicht nimmt Strich weiß. Du siehst also, dass sie hier versteckt sind. Aber dann sind die anderen also, das sind kleine Dinge, die ihr wisst, während ihr euch testen wollt und dann eure Verbündeten, Oh, ich habe es momentan nicht an einer anderen Sache ändern lassen. Du weißt, dass ich meine Drop-Gebäude in Text geändert habe Das ist weiß, während die Drop-Down-Liste
weiß ist ,
also ist alles hier weiß, also werde ich einfach über mich gehen. Diese Änderungen an der guten Sache sind, dass Sie das Gericht tatsächlich ändern können, während Sie im Debug-Modus. Also lassen Sie mich mit dem Teil beginnen. Also werde ich meinen Lösungs-Explorer finden, möglicherweise
die entgegengesetzte Position geändert hat. Ich gehe zur Protokollierung Scheiterhaufen Show. So loggen Sie sich in Teilschläuche, die Links für die Protokollierung und registrieren einige Änderung dieser Zehe weiß. Und ich werde das ändern, um weiß auch auf, dann sparen. Dann kann ich einfach die Änderung treffen und sehen sogar zurück zu meinem Debug-Modus Refresh on down Sobald die Änderungen reflektiert werden, dann wissen Sie, dass Sie etwas richtig gemacht haben? Also ging ich einfach weiter und machte alle Änderungen an mir. Diese Text-Strich dunkel auf dso wissen, dass Sie alles sehen. In Ordnung, also haben wir unseren Bewerbungsnamen. Es könnte ein Logo sein. Wissen Sie, ich mache es nur uns Bewerbungsnamen gerade jetzt. Andi. Also, was auch immer wir machen, sie würden über jede Ansicht wellig, die innerhalb dieses Abschnitts gerendert wird
, der zwischen unserer Navigationsleiste in unserer Fußzeile auf ist. Das ist also eine schnelle Einführung Zehe, die ästhetische Änderungen an Ihrer Anwendung vornimmt, wie Sie es für richtig halten. Wenn du das Gefühl hast, dass du vielleicht den Admin hast. Was auch immer es ist, egal was Thema es ist, Sie haben oder was auch immer Look and Feel Sie gehen für Sie können nur mich die Änderungen einmal in den Layout-Aktien CSH in einer Datei am Tag global sein. Zehe Ihre Anwendung, wenn Sie mehr als eine Ladung möchten und Sie können tatsächlich eine andere
Layered Datei auf einer Einzelfallbasis erstellen . Sie verweisen auf diese Leo-Datei in der Ansicht. Wir haben noch keine Ansichten erstellt. Wenn wir diesen Punkt erreicht haben, dann sehen Sie, was ich meine, indem Sie referenzieren. Es ist in der Ansicht, so können Sie voran gehen und mir diese Änderungen und alle anderen, die Sie für richtig halten. Andi. Im nächsten Video werden
wir anfangen, unsere Datenbank zu erstellen.
10. Datenbank, Modelle und Migrationen einrichten: Hey, Leute, Willkommen zurück in diesem Video, wir werden mit der Modellierung über Datenbank beginnen, und auf meinem Bildschirm ist ein tatsächliches Datenmodell aus dem, was wir mit unserem
Entitätsframework namens First Technique erstellen werden . Nun, dies ist ein Datenmodelldiagramm auf. Mal sehen, ob ich für dich etwas größer werden kann. In Ordnung, also habe ich, es wird größer auf dem Bildschirm sein. Andi essen rechteckig, oder jede Box repräsentiert Ah, Tisch. So sehen Sie hier, dass einige die benannten sind die Wörter ISS netto am Anfang. Also haben s Erdnuss-Benutzer behauptet, dass Erdnuss-Benutzer usw. sind? Diese sind alle Art von automatisch generiert durch unsere Identität. Um, eingebaute Identitätsfunktionalität, die uns von s p dot net Core gegeben wird, wissen wir einige andere
Tabellen haben , die wir dort manuell erstellen werden. Hier unten. Verlassen Sie die Geschichte. Lassen Sie Typ Steve Allocations. Wir wollen vielleicht mehr eins. Wir wollen weniger, wie wir gehen zusammen mit verfeinert das Design auf. Das ist es, was Gericht zuerst zu tun, indem ich alles für das Datenbank-Design vor Gericht fernhalte. Art off in einer Art von Struktur, so dass wir können, wie wir gehen, Also gebe ich Ihnen nur einen Überblick darüber, was wir im Begriff sind zu schaffen und zu bemerken, dass Beziehungen erstellt werden wird durch, wie jedes dieser Dinge erleichtert in unserem tatsächlichen die Erwachsenen. Jetzt gehen wir also zum Visual Studio und beginnen zu entwerfen oder zu unterrichten. Also, erstens haben
wir hier einen Ordner namens Data on. Was auch immer in Daten geht, ist , wissen
Sie, es wird empfohlen, dass es mit der Datenbank zu tun hat. Also mit Gericht zuerst, was wir tun werden, ist, einige Gerichtsklassen zu erstellen, die in den Takt
der Ställe umgewandelt werden , die wir gerade gesehen haben. Aber um zu beginnen, wir wollen unsere Datenbank generieren werden von Beat fettleibig auf eingerichtet, so dass wir weiterhin mit dieser Datenbank arbeiten können. Also das erste, was wir tun wollen, ist auf unsere oben Einstellungen gehen, dass Jason auf wir haben die Standard-Verbindung mit der Verbindung String toe. Unsere Datenbank dieser gesamten Zeichenfolge stellt eine Verbindung dar. Zeichenketten der verschiedenen Datenbank-Engines. Die Zeichenfolge kann anders aussehen. Ähm, wir benutzen ah, eingebaute Datenbank-Engine namens lokale BB. Es Zaveri Avery Light Version von SQL. Und es ist nett von der Einheimischen. Nun, es kommt mit Visual Studio. Indem Sie Ergebnisse für Sie installieren, hätten
Sie dieses Datenbankmodul auf DSO erhalten. Das ist diejenige, die wir benutzen. Also, um sich mit dieser Engine zu verbinden, müssen
wir sagen, Server gleich auf. Dann sollte es schon da sein. Lokale db Schrägstrich m. S s que eine lokale db, so dass wir diesen Teil nicht ändern müssen. Aber dann für Datenbank begrüßt in diesem Abschnitt sollte der Name aus der Datenbank, die wir erstellen
wollten. Also gab er uns Ah, gut auf unseren degenerierten Namen mit einem guten, aber das ist nicht unbedingt das, was ich will. Das ist ein Hauch voll. Also werde ich das nur ein bisschen vereinfachen. Ich werde es verlassen Management nennen. Also werde ich alles abnehmen, dass auf Datenbanken gleich Management verlassen. Also, wenn wir gut ausführen, müssen
wir ausführen, um die Datenbank in unserer Datenbank zu generieren, sollte auf dem
Score-Management verlassen werden . Das ist es, wonach wir suchen. Dann können wir alles andere auf die Standardwerte für Nein lassen. Wenigstens musst du die dann nicht stören, wenn du dich daran erinnerst, als wir Toe Register ausprobiert haben . Es sagte uns, dass wir die Datenbank einrichten mussten, und wir mussten eine Migration und
allerlei ausgefallene Worte durchführen. Das ist also alles, was wir tun werden? Nein. Also, von hinten, was passieren wird, ist, dass es Migrationen hat. Also, wenn wir in den Datenordner und die Migrationen für ihre gehen und wir sehen, dass wir
hier eine Datei mit einer Reihe von Nullen haben und es ist Identitätsschema erstellen Also, wenn wir einen kurzen
Blick in dieser Migrationsdatei nehmen wird sehen, dass wir eine offene meine dritte auf. Wenn ich zusammenbreche, dass wir sehen, dass wir auch ah langweilige Methode haben. Also die Don't Methode basierten Schwielen. Okay, lass mich die dann entfernen. Die Up-Methoden lassen Sie mich diese erstellen und das sind die Einschränkungen für die Kreationen. So wird es ein SP-Netz Rolls s Erdnuss-Benutzer erstellen. All diese Dinge sind standardmäßig. Und wenn Sie in SP-Benutzer schauen, sehen
Sie alle Spalten und die Einschränkungen, dass sie all diese wunderbaren
Dinge haben . Ich sage Ihnen nicht, diese Datei zu studieren und ein Experte in diesem Feuer notwendigerweise
wurde dies noch einmal generiert, weil wir einzelne Benutzer konsular Erstellung unseres
Projekts auf ausgewählt Wie wir gehen, werden
wir sehen, dass diese Art der Datei wird mit den verschiedenen Änderungen generiert, die wir richtig
machen, Also toe Effekt eine Migration. Was wir tun möchten, ist nach der Paketmanager-Konsole zu suchen, also sollte sie unten im Visual Studio-Fenster sein. Wenn es nicht da ist, dann können Sie Disco Onda zu sehen. Es tut mir leid. Nicht sehen, aber Narren tatsächlich Werkzeuge. Dann erhalten Sie den Paketmanager auf den Paketmanager-Konsolen. Wenn Sie darauf klicken, dann sollte dieses Fenster, das ich hier hervorgehoben habe, Ihnen auf zur Verfügung gestellt werden. Dann werden wir sehen, Kassendatenbanken zu aktualisieren. Es gibt also zwei Schritte, um dies zu erreichen. Aber dann ist der erste Schritt schon irgendwie zu kümmern, weil wir die
Migrationsdatei bereits haben . Ich werde nicht viel darauf hineinkommen, wenn wir anfangen, unsere Datenbank aufzubauen, sehen
Sie die Relevanz davon. Aber wir haben zuerst die Migration. Was wir tun müssen, ist die Datenbank zu aktualisieren, so spielen Datenbank im Grunde sagt, wenn es eine Datenbank gibt, die ich werde die Änderungen erfüllen wie ich mir mag. Basierend auf der Migrationsdatei, die zuletzt auf diff ist, gibt es keine Datenbank als diese. Befehl geht tatsächlich voran und erstellt die Datenbank basierend auf den Migrationsdateien , die verfügbar sind. Wenn ich also sage, dass die Datenbank und die Eingabetaste in unsere eigene Verarbeitung geht, wird
es ein Projekt aufbauen. Dann, wenn das erfolgreich ist, dann werden wir eine Nachricht sehen getan. Wenn Sie also keine Fehlermeldungen bekommen haben, haben
Sie keine rote Schrift oder jede gelbe Schrift bekommen,
und es ist etwas, das sich das ansieht, was bedeutet, dass etwas sehr richtig gelaufen ist. Also, sobald Sie das getan haben, dann können wir überprüfen, dass eine Datenbank erstellt wurde basierend auf dem Namen, den Sie setzen Ihre. Also habe ich Urlaub auf die Partitur Management. Also erwarte ich, eine Datenbank namens Leave on the Score Management zu sehen. Also, um zu den Datenbanken zu gelangen, was wir tun werden, ist zu gehen, um zu sehen. Dann werden wir für das SQL Server-Objekt suchen zu erkunden. Dies ist also wie ein integriertes SQL-Server-Management um, Dashboard, das Visa-Student uns standardmäßig zur Verfügung stellt, sucht die lokale DB-Instanz , die in Visual Studio integriert ist. Also habe ich es schon hier. Ich kann diesen erweitern SQL-Server dann innerhalb von SQL Server erweitern, würden
Sie zu lokalen db Räucherstäbchen sehen. Also gehen wir mit dem m s que eine lokale db, wie in unserem Kliniker-String skizziert, und ich werde das auf dann in der Liste von Datenbanken
erweitern, die ich sehe verlassen Management. Also, wenn ich expandieren, Strafe
lassen und die Tabellen erweitern, dann werden wir sehen, dass einige Tabellen basierend
auf dieser letzten Migration erstellt wurden , auf denen wir wie eine Migrationsgeschichte bekommen, die nur ein Trucking-Tisch auf all diesen ist Net-Tabellen , die wir in unserem vorherigen Montel-Diagramm gesehen haben. So einfach war es also, alle Tabellen auszurollen, die für unsere Authentifizierung erforderlich sind undsind Benutzer auf Regelverwaltung, es steht, wenn ich versuche, mich erneut zu registrieren, ich sollte keinen Fehler bekommen über, wissen
Sie, fehlende Datenbank Operation Block rechts. Es sollte funktionieren. Nein. jedoch nicht getan, Unsere Arbeit istjedoch nicht getan,weil wir noch einige andere Tabellen haben, die erforderlich sind, die nicht unbedingt nur über die Benutzer sind und so unsere Tabellen das erste, was ich
tun werde, zu erstellen und zu verstehen, um zu kollabieren, was nicht absolut notwendig, um die Aufgabe zur Hand. Jemand, um die Migration zu schließen, finden Kleidung oder g Sohn Datei auf. Das erste, was wir tun möchten, ist wie eine Mitarbeiterprofiltabelle zu erstellen. Also werde ich Clickbait er goto Anzeigenklasse schreiben auf. Dann werde ich eine neue Datei auf Ball eine neue Klasse erstellen und ich nenne es Mitarbeiter. Es ist eine Klasse auf dem Namen aus. Die Besetzung ist Angestellter. Jemand zu klicken, hinzufügen und dann gibt es mir auf Mitarbeiterklasse Nein auf Mitarbeiter hat in der Regel Vorname, Nachname Steuer I D. Datum aus Geburtstag Joint. Sie können andere Dinge hinzufügen. Wissen Sie, was auch immer macht auf Mitarbeiter in der Organisation, die Sie mit was arbeiten Dies sind die Eigenschaften, mit denen ich arbeite auf Soto in unserem Eigentum Sie können, während Sie den langen
Weg gehen und rechts öffentlichen String den Namen aus der -Eigenschaft, die in diesem Fall der Vorname auf sein wird. Dann können wir einfach imaginäre Einsätze haben. Ah kürzer. Wir sind schneller Weg, dies zu tun, ist das Wort Requisite zu schreiben, die P R O P. gedrückt zweimal auf. Dann. Visual Studio generiert diese Zeile für Sie,
so dass der Datentyp wieder eine Zeichenfolge sein würde. Er drückte nach oben, um vom Datentyp den Eigenschaftsnamen zu bewegen, und der Name ist Nachname auf. Dann zerstreuen Sie, geben Sie ein und bewegen Sie sich dann zur nächsten Zeile. Wie auch immer Sie es leichter finden, können
Sie es so tun. Aber noch einmal, wir machen
Vorname, Nachname Steuer I d. Am Geburtsdatum. Und so wird erwartet, dass unsere Klasse aussehen wird. Vorname, Nachname Steuer I D Datum außerhalb der Geburt. Der Joint off Kurs zwei Tage sind off Typ Beat Zeit sind auf. Dann können wir noch eins haben, damit ich dieses Land einfach duplizieren kann, indem ich die Kontrolle halte und b Notiz
drücke. Ich musste die Löwen nicht hervorheben. Sie können kopieren und einfügen, aber nur durch Klicken in der Zeile auf Kontrolle halten und Präsident de es wird
so oft duplizieren , wie Sie tun Diese Tastenkombination auf Ich werde dies setzen, wie erstellt Bedeutung Bit. Der Mitarbeiterdatensatz wurde unserer Datenbank hinzugefügt, sodass Sie beliebig viele hinzufügen können. Das war also nur ein Beispiel. Ich werde nicht vorwärts mit dem es erstellt. So wird mein Mitarbeiterprofil aussehen. Sie wissen es? Eine andere Sache zu beachten ist, dass der Mitarbeiter so ziemlich der Benutzer ist, also möchte ich keine Benutzertabelle undeine Mitarbeitertabelle getrennt haben. Ich möchte, dass die Benutzertabelle, die im Passwort auf Kennen Sie andere kleine Details über den Benutzer verwendet, die bei der Authentifizierung helfen, auch die Details haben können, was ein Mitarbeiter so haben sollte um diese Tabelle zu erweitern. Also denken Sie daran, dass die Benutzertabelle tatsächlich für uns generiert wird, und ich kann einfach zurückgehen, um den Objekt-Explorer zu eskalieren, wenn Sie diesen Benutzer stabil auf Schauen Sie sich
die Spalten auf Dann hätten die Spalten, wissen
Sie, ein I D, , der ein Primärschlüssel ist. Der Benutzername ein normalisiert mit ihm die E-Mail-Adresse. Also alle diese Dinge sind bereits in der SB Net User stable enthalten, aber dann möchte ich diese Eigenschaften Vorname,
Nachname Steuer I D Daten Geburtsdatum Joint Toe Auch ah Teil von dieser Benutzertabelle sein. Also, was ich tun werde, ist diese Tabelle toe erweitern auch diese Eigenschaften auf, um das zu tun. Was ich tun werde, ist Vererbung zu benutzen. Also benutze unseren Dickdarm darauf. Ich werde einen Klassennamen angeben, der in diesem Fall Identität Benutzer
ist. Also Identitätsbenutzer ist, ah,
Klasse, die die Stable darstellt. Dies ist Spin es Benutzer stabil wird durch die Tabelle Identitätsbenutzer dargestellt. Du hast diese rote Linie bemerkt. Wir können einfach dort klicken, dann, wenn wir über, bekommen
wir den kleinen weißen Ball, der vorschlägt, wie wir es auf dem Fix beheben könnten, weil es eine fehlende Bibliothek enthält, die SB-Netzkernidentität ist. Also, indem wir diese Bibliothek in unsere Bibliotheksliste oben aufgenommen
haben, sahen wir das Problem. Und dann haben wir keine Fehler mehr für unsere Angestellten, Gus. Jetzt können wir diese Änderungen direkt in die Datenbank rollen, scheinen zur gleichen Zeit, indem man eine Migration erstellt und dann in der Datenbank zu aktualisieren. Also gehe ich zuerst zurück zu unserer Paket-Manager-Konsole. Das ist also die erste Klasse, die ich auf Nun hinzugefügt habe, bevor ich dorthin komme, gibt es tatsächlich einen weiteren Schritt, den ich abschließen muss, nämlich die Anzeige. Also unsere DB Context-Dateien. Also muss ich auf Anwendung db klicken. Kontext sind so dass wir hier sehen, dass die Klasse ist und es heißt Application Devi Kontext. Aber ihre wahre Macht kommt von seiner Vererbung aus dem anderen Klassenidentitäts-DB-Kontext Direkt an Dann haben wir hier einen Konstruktor. Unter dem Konstruktor muss
ich ihm sagen, dass beim Erstellen der Datenbank beim Erstellen, was immer Sie
standardmäßig tun , dies auch diese Ställe sind, als zuletzt erstellte Tabelle Mitarbeiter ist, , die vom Identitätsbenutzer erbt wird. Also muss ich öffentlich sehen und sagen, dass db unter Klammer offen gesetzt wird. Ich habe bemerkt, dass Intelligenz mich leitet, während ich mitmache, also brauche ich Mitarbeiter. Dies ist eine Klasse, die ich erwarte, eine Tabelle zu werden, aber dass ich ihr einen tatsächlichen Namen geben muss. Ich werde es Angestellte nennen, dann habe ich mein Generikum Andi sitzen lassen. Also nein, ich habe gerade eine Eigenschaft innerhalb des Anwendungs-DB-Kontexts erstellt und Ihnen gesagt, dass es ein Teil des DB-Sets
sein sollte . Also, wenn es die Datenbank mit Daten in die Datenbank generiert, was auch immer
es tun muss, muss es sicherstellen, dass die Mitarbeiterklasse berücksichtigt wird. Darauf ist Rollout in eine Tabelle oder durch die Art und Weise, wie wir es definiert. Es erweitert die Identitätsbenutzerklasse, sind SP-Benutzer. Es ist, dass Benutzer auch beinhaltet, was Mitarbeiter zu bieten haben. Wenn wir das tun, dann können wir eine Migration durchführen. Dann gehen wir zurück zu unserer Paket-Manager-Konsole und dann sagen wir, fügen Sie Bindestrich Migration ein, dann geben wir ihm einen Namen. Also natürlich möchten Sie Indianer einmalig scannen lassen, damit wir Änderungen an
der Datenbank verfolgen können . Es ist leicht zu sagen, Oh, das habe ich damals getan. Also werde ich sehen, dass hinzugefügte Mitarbeiter Punkte aufessen, denn das haben wir getan. Wir haben Mitarbeiter Datenpunkte hinzugefügt, die Identitätsbenutzerklasse auf. Dann, wenn wir Migration hinzufügen und wir drücken die Eingabetaste geht Zehe zu bauen, dann generieren Sie diese Migrationsdatei auf dieser generierten Migration. Fett geht eigentlich Zehe haben das gleiche nach oben und nicht Funktionen, die wir gerade in der
anderen gesehen haben. Also in der Up-Funktion, die Sie hier sehen, macht
es tatsächlich einige in Spalten, und es sieht ad ah Spalte aus Typen, String TSP-Benutzer. Hier ist einer von der Zeit verbunden werden. Es fügt es dem SP Net-Benutzer Geburtsdatum hinzu, alle Datenpunkte, die ich sagte, ich wollte ein Teil der S-Erdnuss-Benutzer sein. Es wird sie zu seinem Herzen hinzufügen. Das ist also, was diese Migration fünf weiß. Nachdem ich das alles getan habe. Das nächste, was ich tun möchte, ist die es die Datenbank drücken Sie eingeben, und dann bekommen wir zu bemerken, dass dies getan wurde. Wenn wir also zu unserem Objekt-Explorer zurückkehren,
habe ich die Tabelle bereits geöffnet,
also wenn ich einfach darauf klicke und auf habe ich die Tabelle bereits geöffnet, „Aktualisieren“ klicke, was ich denke, sowieso die gesamte Ansicht aktualisieren wird, alles klar, und dann bohren wir zurück, nicht in unseren Tisch. Dann sehen Sie, dass die neuen Säulen Luft dort, die wir mit ein bisschen Geburt verbunden haben, waren Vorname, Nachname Steuer I D. Also, das ist eigentlich, wie einfach es immer noch sein. Diese Datenbank Und wenn wir keine Spalte wollen. Wir können zurückgehen und die Säule daraus
entfernen. Aber natürlich müssen
wir eine Migration durchführen und dann die Datenbank noch einmal aktualisieren. Also im Wesentlichen, wenn du diese Kälte mit jemandem teilen würdest, oder ich weiß, dass dieses Projekt über du ihnen gesagt hast, okay, hier ist ein Projekt. Sie benötigen eine Datenbank. Wir können einfach die Update-Datenbank ausführen. Und was die Engine tatsächlich tun wird, ist, von der ersten Datei zur neuesten Datei zu gehen, und es wird tatsächlich alle diese Änderungen mit den geöffneten on-Methoden ausführen, um genau zu wissen, welche Änderungen er an erstellen Sie die neueste Version aus der Datenbank basierend auf dem Ort, an dem sich das Projekt befand, wie zu diesem Zeitpunkt. In Ordnung. Deshalb ist die erste Technik des Gerichts leicht zu verfolgen. Welche Änderungen werden an Ihrer Datenbank vorgenommen? Overtime Onda hilft den Leuten, genau zu wissen, was los ist, wenn alles in Ordnung, also haben wir eine Tabelle hinzugefügt oder wir haben eine Tabelle erweitert. Aber wir haben drei Tabellen, die wir handeln müssen. Also werde ich einfach weitermachen und eine andere Klasse erstellen. Ich klicke mit der rechten Maustaste, klicke auf
Daten, füge Kommissionierklasse hinzu. Dann ist die nächste Tabelle, die wir hinzufügen werden, die Geschichte verlassen. Also fügen wir Verlaufsverlauf auf. Ich werde nur voran gehen und bei allen Klassen, bevor ich anfange, irgendwelche Eigenschaften in
sie zu setzen . Also haben wir die Geschichte verlassen. Wir haben verlassen Typ, weil, na ja, sie geht. Die Geschichte wird glauben, Rekord. Der Blatttyp ist eine Art von Urlaub, die die Person mit ihrem mütterlichen väterlichen oder,
Sie wissen,
Urlaub auf genommen hat Sie wissen, . Dann werden wir die Urlaubstabelle haben, die auch was speichert? Wie viele Tage jeder Mitarbeiter hat für jede Art von Urlaub Recht, so dass Sie haben 10 Urlaub diese aber fünf sechziger Jahre cetera. Das sind also die drei Tabellen, die eingerichtet wurden, um mit Onda zu beginnen, wie wir den
ersten Andi am einfachsten zu tun gehen , werden Typen glauben, weil die anderen Tabellen
Abhängigkeit vom Urlaubstyp haben , also werde ich erstellen oder gehen zurück zu unserem Urlaub Typklasse auf. Dann, was ich tun werde, ist in drei Eigenschaften setzen. Denken Sie daran, dass ich stattdessen Requisite von unserer Seite sagen kann. Also, das ist öffentlich. Ich habe es nicht getan, es tut mir leid. Die Idee wäre also der Primärschlüssel aus der Tabelle. Also ist es immer gut. Datenbankabstieg hat immer einen Primärschlüssel. Eine andere Eigenschaft wäre der Name, der der Typ aus ist. Lassen Sie Ihren Namen von der Art aus Urlaub. Also String-Name auf unten. Eine weitere, die Zeit auf diese getan werden würde Tat erstellt werden. In Ordnung, ich mische hier irgendwie meine Linien. Also noch einmal, Sie können diese Art von kürzeren Weg aus Schreiben in den Eigenschaften t. Oder Sie können sie auf dem langen Weg schreiben. So oder so funktioniert. Aber dann brauchen wir, was wir Attribute nennen. Immer noch eine Art von in der Datenbank angegeben, dass, wenn Sie diese Tabelle generieren, dies ist, was für diese erforderlich ist, richtig? Also, zum Beispiel werde
ich eine Schlüsselattribute über die I.
D-Eigenschaft setzen . Alles klar, also wird angegeben, dass dies die Schlüsseleigenschaft ist und eine rote Linie hat. Ich werde danach wieder darauf zurückkommen, um den Namen zu holen. Ich werde angeben, dass diese so in Datenbanken erforderlich ist, und Sie können viel sind nicht allein weiß, so ohne die erforderliche t Vogel t Wort. Dann hätte dies Bean als Spalte generiert, die alos weiß, was dann Es macht keinen Sinn, einen Blatttyp ohne Namen zu erstellen. Wenn es keinen Namen gibt, dann kann es keinen Blatttyp geben, oder? Ich werde nicht so hart und schnell auf das erstellte Datum sein, weil ich diesen Wert
später erzwingen kann . Aber zumindest möchte ich Ihnen zeigen, dass wir, dass Tribute haben, um die eckige Klammer, das Wort oder den Namen aus dem Attribut und schließen quadratische Klammer. So zeigen die roten Linien wieder an, dass etwas fehlt, damit wir den Mauszeiger darüber bewegen können, auf unsere Glühbirne klicken und die Lösung dorthin bringen können. Oder wir können es. Wenn wir nur austippen, können
wir uns nicht mit den meisten beschäftigen. Sie treffen nur die Strömungen gehen direkt in der Mitte der Welt und halten Sie dann Kontrolle und drücken Sie Punkt auf. Dann wird es uns einen Vorschlag auf die weniger geben, so dass ist eine weitere kurze Tastatur Hai-Karte , die Sie verwenden können. Also werde ich nur mit dem Vorschlag fortfahren, der die Komponentenmodelldaten zu
Notationen im Urlaubstyp enthält . Also haben wir Schlüssel. Also die Datenbank, Sie wissen, dass dies der Primärschlüssel für die Stable ist und es wird auf die erforderliche
Bedeutung generiert , dass dies als nicht Schnee generiert werden sollte. Und dann kann ich sehen, ob diese Datei als nächstes geändert werden soll, Zuweisungen verlassen, um einen
Speicherort zu verlassen . Es wird die Eigenschaft i d haben, die auch diese Schlüsselattribute haben wird. Also werde ich das nur kontrollieren, den Vorschlag
bekommen und es tun lassen. Wir gehen auch Toe haben Eigenschaften für die Zahl aus diesen, die in Form von Ganzzahl auf für die Daten, die der Datensatz erstellt wird. Also haben wir die Öffentlichkeit in die Zahl von diesen auf wir haben die Tageszeit auf erstellt werden. Dann werden wir auf die Angestellten, für die diese Vorwürfe
gemacht werden , sowie auf die Art von Urlaub, dass die Vorwürfe wieder gemacht werden. Also lasst uns einfach darüber nachdenken. Ich bin ein Angestellter. Ich habe ein I d on. Mir werden fünf zugeteilt, was die Zahl von diesen kranken Tagen ist, richtig? Also bekomme ich 56 Tage, also musst du wissen, wer ich bin oder wer der Angestellte ist, sowie der Typ aus. Lassen Sie, dass diese Zahl aus diesem ist eine Auswahl, die Sie Zehe anwenden angewendet. Entschuldigung. Was wir also wissen müssen, ist öffentlich zu sehen, also beginnen wir mit der Mitarbeiterreferenz. Also sagen wir öffentliche Angestellte. Alles klar, dann können wir der Immobilie den gleichen Namen geben, den Angestellten gesetzt werden. Das heißt also gegenüber der Datenbank-Engine, dass wir irgendwie sicherstellen müssen, dass wir auf Mitarbeiter verweisen oder dass der Mitarbeiter toe, den dieser Urlaub Zuteilung Datensatz mit den Details verbunden sein wird , dass Mitarbeiter zur Auswahl zur Verfügung stehen. Wenn ich auf diese Zuteilung direkt auf, dann werde ich Mitarbeiter I d. Weil ich immer noch diese Eigenschaft für den Mitarbeiter i d. ist
, was tatsächlich oft so Mitarbeiter. Also eigentlich, der Angestellte i d wird eine Zeichenfolge sein und warum weiß ich, dass es eine Zeichenfolge ist? Denn wenn ich in meinen Objekt-Explorer gehe und diese Eigenschaft vier sehe, würde ich iate ist
auf Umgebung Shar Es ist nicht Zwiebel. Also traditionell lehre ich immer spätere Becken, die sie in ihrer Verwendung von Ah Geo I d verwenden. Alles klar, eine eindeutige Identifizierung, die normalerweise immer eine lange Zeichenfolge ist. Und das ist in Ordnung. Also werde ich nur sagen, Public String on, dann sehen Mitarbeiter, die ich d. auf der get and sit. In Ordnung, also nein, es schien, dass für welchen Angestellten ich D hier referenziert wird. Ich kann alle Details erhalten und stattdessen von Mitarbeitern speichern,
Objekte, die abgesehen sind, glauben Allokationsklasse oder Datensatz direkt auf. Dann machen wir ähnliche Dinge für unseren Blatttyp, weil wir immer noch wissen müssen, welche Urlaubssteuer da
ist. Wir können die Details wollen, also werde ich nur den Leave-Typ auf den Blatttyp i D setzen Nein zu anderen Attributen oder gut, ein anderes Attribut, das hinzugefügt werden muss, ist eines für den Fremdschlüssel, wo wir tatsächlich diktieren Sie den Namen, den der Fremdschlüssel in der Tabelle haben sollte während es hier nicht viel anders ist, also werde ich nur sagen, Fremdschlüssel auf dem Fremdschlüssel für die Mitarbeiter. Fremdschlüssel ist Mitarbeiter I d.
On. Wir werden es wieder für den Urlaubstyp auf seinem Urlaub Typ I D sehen also sieht es irgendwie überflüssig aus. Nein, da dies die tatsächlichen Namen des Fremdschlüssels sind
, aber , Eigenschaften. Aber dann sehen
Sie in der nächsten Tabelle, wo es tatsächlich nützlich ist. Aber dann sehen Sie, dass ich Zeilen gelesen habe, und das liegt daran, dass ich etwas anderes hinzufügen muss. Also benutze ich einfach meine Glühbirne. Befreien Sie sich von dieser Referenz zu dieser Zeit. Es ist Datenanarchie Annotationen Punktschema. Also wissen, ich kann diese Datei speichern und dann zum nächsten auf diesem nächsten gehen ist
Geschichte verlassen und Geschichten ziemlich Schnäbel verlassen. Ich werde mich nur beeilen, sie
schreiben
und dann werde ich Sie einfach wissen lassen, was getan wurde, sind so verlassen. Die Geschichte wird viel mehr Daten haben als die anderen beiden Tabellen, und wir werden sie erst durchlaufen. Dann beginnen wir mit dem Schlüssel, , wie ich bereits sagte, traditionell eine ganze Zahl
ist. Dann gehen wir zu unserer ersten Fremdschlüsselreferenz. , Denken Sie daran,dass ich früher gesagt habe, dass der Fremdschlüssel, äh Attribut uns nicht sagt, was wir genannt werden wollen. Also ich meine, ich versuche, es irgendwie den gleichen Text zu behalten, aber es könnte in Ihrem Fall anders sein, aber Tatsache ist, ein Fremdschlüssel einen Mitarbeiter anfordert, den ich auf. Dann wäre das der Angestellte, der die Blätter anfordert. Das ist also ein anderer Fremdschlüssel, der über Benutzertabelle oder Mitarbeitertabelle referenziert wird. Nein, Sie fragen sich wahrscheinlich,
OK, OK, aber die Mitarbeitertabelle hatte kein I D. Also, wenn Sie zurück in unsere Mitarbeiterklasse gehen, denken Sie
daran, dass wir fünf Eigenschaften gesetzt haben. Hier sind sechs Eigenschaften fünf, Aber dann erweitern wir Identitätsbenutzer. Was auch immer Identität Benutzer als seine eigenen Eigenschaften hat, die ich tatsächlich tun kann, es ist irgendwie schwer zu sehen, welcher Identitätsbenutzer das Angebot als eigene Eigenschaften hat. Aber dann, wenn wir in die Datenbank gehen, können
Sie die Spalten sehen, die dort sind, als Mitarbeiter tatsächlich diese
Identitätsbenutzerklasse verkörpert . Was auch immer es von der Identitätsbenutzerklasse oder von der ESPN-Benutzerstabilität ist, die wir wollen , wir können tatsächlich darauf zugreifen, indem wir oder Mitarbeitertabelle referenzieren, da unsere Mitarbeiterklasse die Eigenschaften von der Identität erbt -Benutzer. Sie wollen also die Idee der Mitarbeiter. Wir haben auch unsere Öffentlichkeit begonnen öffentlich beendet, so dass von wann bis wann sollte verlassen anwendbar sein. Wir haben den Blatttyp. Also bitte ich, dass ich von diesem Datum bis zu diesem Datum einen Urlaub beantrage. Ich will diesen Typ ausschalten. Gehen Sie, rechts. Suchen Sie Urlaub
, etc. Auf. Dann wurde die Anfrage an den Tag gestellt, an dem es Aktion war und Aktion hier präsentiert, ob es
genehmigt wurde oder nicht. Siehst du hier also, dass der öffentliche Stier genehmigt hat und dieser Bulle Boonies ja oder nein? Aber es hat auch ein Fragezeichen. Das gibt mir also einen kleinen Betrüger. Wo kann der dritte Staat aus haben? Nein. Ordnung, das bedeutet
also, dass es bemerkenswert ist, damit es in einen keinen zugelassenen Staat versetzt werden kann oder ah, ja. Der Wert ist kein Wert. Nein, würde
offensichtlich bedeuten, dass es aussteht. Es bedeutet nicht, dass Aktion noch tut, so dass Aktion leer wäre. Das ist zwar nein. Sobald sich der Zustand aus diesem ändert, dann ist die Erwartung, dass wir sicherstellen, dass sich die Datumsaktion auch ändert. Dann haben wir noch einen Fremdschlüssel, der mit unserem Mitarbeitertisch verknüpft ist, zu diesem Zeitpunkt, als er
von I.genehmigt wurde von I. also meine ich, du bist ein Angestellter, du stellst die Anfrage. Wer es genehmigt, ist wahrscheinlich auch auf Mitarbeiter außerhalb des Unternehmens. Also wollen wir wissen, wer genehmigt hat. Ähm, dein Urlaub ist für immer. Action, du bist weg. Was? Sie haben es genehmigt werden es verweigert. Andi. So können wir verfolgen, wer es angefordert hat, Wer es auf Einige hat manchmal und Details rund um das, was angefordert wurde. Das ist also, was die Urlaubshistorie-Tabelle für uns bereithält. Wissen Sie, sobald wir diese drei Datenklassen erstellt haben, müssen
wir sicherstellen, dass wir sie in den Anwendungs-DB-Kontext einbinden. Also haben wir das mit dem Mitarbeitertisch auf gemacht. Wir müssen also sicherstellen, dass wir das mit den anderen drei Tabellen tun. In diesem folgenden Muster, in dem es sich um eine öffentliche DB handelt, setzen Sie den Namen von der Klasse ab, auf erstellt
wurde, dann den Namen aus der Tabelle, also werden Sie feststellen, dass ich Dies ist meine Namenskonvention habe, wo ich die Klasse durch ihre singuläre Bundesstaaten. Aber dann nenne ich die Kasse nach seinem Pluralzustand, weil das Band normalerweise eine Sammlung von
den Eigenschaften ist , die einen singulären Zuständen bilden. Richtig. Das ist also eine Instanz aus, und das sind viele Instanzen, richtig? Ich meine, Sie können Ihren eigenen Namen und Ihre Konvention eintragen. Es gibt nichts Schwieriges und Mögliches,
aber das ist meins. Also habe ich Geschichte verlassen, Geschichte verlassen, lassen Typ verlassen Typen verlassen Zuteilung zu verlassen. Allokationen sind so weiß, dass ich all diese Dinge mit den Tabellen gemacht habe, die aus meinen
Datenklassen bestehen . Andi,
ich habe den DB-Kontext geklärt. Das nächste, was ich tun werde, ist zu starten oder bei einer anderen Migration,
einige, die eine Add-Dash-Migration ist. Und dann möchte ich sagen, dass ich Detailtabellen in gelassen habe, drücken, eingeben und dann wird dies über neue Migrationsdatei auf def generieren. Sie haben gerade Migrationen gelöscht und jede Datei wird angezeigt. So waren die 1. 1 die, die ich getan habe. Mitarbeiter, die ich kenne, sind die neuesten auf seinem kann sehen, dass es Zeit stumpft ist. Unterstreichen Sie den Namen, den wir ihm im Befehl direkt auf gegeben haben. Sie können sich Zeit nehmen und analysieren, was getan wird. Wenn Sie es wünschen. Ich werde keine Zeit damit verbringen. Ich werde nur weitermachen und die Migration ausführen, indem ich die Datenbank aufführe. Also mit dem Befehl nach oben geöffnet auf Tastaturpfeilen. Sie können alle Befehle durchlaufen, die Sie jemals in dieser Konsole haben. Also die Datenbank und drücken Sie die Eingabetaste auf, ich werde warten, bis das fertig ist. In Ordnung, also habe ich eine Don't Nachricht ohne Fehler bekommen. Und wenn ich zu meinem SQL Server Object Explorer zurückgehe und aktualisiere, dann gehe ich zurück in meine Datenbank auf Tabellen, dann sollte ich alle vorhandenen S Bean sehen, es Tabellen sowie meine Urlaub Allokationen, mein Urlaub Geschichten auf Urlaubstypen. Und wenn ich mir die Spalten als die Spalten und das Datum anschaue, da die Namen und die
Datentypen alle mit dem übereinstimmen sollten, was ich entworfen habe und Sie sehen, wo die Fremdschlüssel sind, sieht
alles ganz in Ordnung aus. Das ist also meine Datenbankerstellung. Also noch einmal, jede Tabelle, die Sie die bevorzugte erstellen möchten, werden empfohlen, Bitte, für Sie die Template-Klasse setzen. Ich nenne es eine Vorlagenklasse oder die Datenklasse, die ich sage, ist im Datenordner. Denken Sie
daran, dass Sie es dem Anwendungs-BB-Kontext als DB-Set-Klasse oder -Eigenschaft auf hinzufügen möchten, müssen
Sie eine Migration mit der Paketmanager-Konsole erstellen. So sehen Sie, fügen Sie Bindestrich Migration den Namen aus der Migration auf. Dann, wenn das getan ist, dann sehen Sie optimierte Datenbank. Wenn Sie keine Fehler haben, dann sollten Sie so weit wie ich landen. Wenn Sie einige Fehler haben, zögern Sie nicht, mich zu kontaktieren und ich kann Ihnen helfen, mit ihnen zu arbeiten.
11. Repository und Repository einrichten: Hey, Leute, willkommen zurück. In diesem Video werden wir mit der Implementierung oder Repository-Muster beginnen, um unser Projekt mit Abhängigkeitsinjektion zu starten. Nun, bevor wir darauf eingehen, was diese schicken Worte Repository-Unabhängigkeits-Injektion bedeuten. Schauen wir uns eine Anwendung auf der grundlegendsten Ebene an. Wir richten nur die Datenklassen oder Datenbankobjekte, die uns laden, um eine
Datenbank zu generieren . Keine Anwendung, die ihre mit seiner A-Website geschuldet wird oder es ist an dieser Stopp-Anwendung, auch ein Handy bis die meisten dieser Anwendungen,
vor allem, wenn sie mit einer Datenbank oder einer Form von schlagen einen Laden interagieren. Sie erlauben uns als Benutzer, vier Dinge mit diesen Daten zu tun. Es ermöglicht uns entweder, die Daten zu erstellen, die Daten lesen oder,
Sie wissen, dass Sitze sie überprüfen. Daten aktualisieren bedeutet Änderungen vornehmen. Die vorhandenen Daten oder Entfernen von Daten werden für Shorts gelöscht. Die Abkürzung für diese vier Operationen ist crowd crud. Siehe für erstellt R für lesen Sie für Aktualisierungen vor dem Löschen. Also noch einmal, egal wie schick die Anwendung aussieht, egal hacke auffällig. Es ist, wenn Sie das Löschen drücken, um eine Animation und all diese Dinge zu sehen, egal ganze auffällige Blicke am Ende des Tages. Die grundlegendste Operation besteht darin, dass Daten aus der Datenbank entfernt werden oder Beat und
eine Datenbank erstellt werden, die Ihnen entweder präsentiert wird. Siehe klicken Sie auf Ihr Profil auf vielleicht Facebook und Sie sehen alle Informationen, die Sie zuvor eingegeben. Dann sehen Sie sich an. Die Daten lesen die Daten. Wenn Sie Ihre Daten,
Ihr Profil auf Facebook ändern , aktualisieren
Sie die Daten. Das ist es am Ende des B. Also unser Repository-Muster ist ziemlich ein sehr beliebtes Muster. Es ist ein Weg, dein Gericht zu schreiben und zu strukturieren. Das ist, was wir meinen, wenn wir sagen, Muster auf DIT sind
sehr, sehr beliebt auf der Unternehmensebene Anwendungsentwicklung. Es hilft uns, das Loch zu beschränken. Wir interagieren mit den Daten und erstellen Schichten sind im Besitz der Datenbankoperationen, die Geschäftslogik auf den
USA USA Also verbringen wir einige Zeit. Wir können dich nicht machen. Ich, die wäre mehr verteidigen das Aussehen und Gefühl auf. Das ist die Präsentation für den Benutzer. Und dann wird die Geschäftslogik wahrscheinlich mehr in den Controllern kommen, wenn wir anfangen , unsere Kontrollen für verschiedene Modelle zu
bauen. Aber im Moment konzentrieren wir uns auf die Datenbankoperationen, und das ist wirklich, wo dieses Repository-Muster ins Spiel kommen wird. Also werde ich einen neuen Ordner in dieser Projektstruktur erstellen. Also verstehen, Zehenkollaps,
alles, was nicht unbedingt notwendig ist, jetzt werde ich zwei neue
Fuller's die 1. 1 erstellen und einfach durch Klicken auf das Projekt, werde
ich mit der rechten Maustaste darauf klicken. Ich werde sehen Add on, dann Ordner und dann die 1. 1 Ich werde es Verträge nennen. Dann wollte der zweite Ordner Son diese Schritte wiederholen. Ich werde Repository anrufen. Ich weiß, wenn du es notierst, aber während ich das ausgewählt hatte, wurde
dieses Gericht tatsächlich geändert,
als ich weitere
Ordner hinzufügte aber während ich das ausgewählt hatte,wurde
dieses Gericht tatsächlich geändert,
als ich weitere
Ordner hinzufügte. So sehen Sie,
erstellt, um Interesse für die Kontakte unter Repository-Ordner. Also brauchen wir diese Datei nicht zu sehen. Wirklich. Wir können das schließen. Also das erste, was ich tun möchte, ist, äh hinzuzufügen, Vertrag über die Verträge sind so ziemlich die Störungen sind, so dass sie positiv sind, dass sie Repository-Muster uns Schnittstellen erstellen, Repository-Muster uns Schnittstellen erstellen,
Onda-Klassen, die die Schnittstelle implementieren. Also unsere Einmischung ist wie eine Vorlage für das, was Klasse haben sollte, und ich werde das erklären. Also der erste Vertrag, den ich erstellen werde, Ich klicke einfach mit der rechten Maustaste auf goto Anzeige auf. Dann ging ich zum Unterricht, aber ich erstelle nicht wirklich eine Klasse. Ich erschaffe eine Störung. Also mit dieser gleichen Poppel Box auf würde Interferes statt auf auswählen Dann werde
ich diese ein ich Repository Bestien nennen. In Ordnung, also, wie ich bereits sagte, daher
große Operationen, die jede Datenbank, meisten Datenbanken oder Anwendungen uns eher erlauben, gegen die Datenbank zu tun, die
Daten erstellt , Daten anzeigen oder die Daten manipuliert, ob wir sie löschen, machen eine Änderung. Das erste, was ich damit tun werde, ist, dass ich es sehr
generisch machen werde , weil jeder Typ von Datenbanktabelle oder in unserer Situation, Datenklassen- oder Domain-Klassen-Mitarbeiter leben. Ich schaue, dein Sohn verlässt die Geschichte. Sie alle gehen Toe einen Verlust oder eine vier Behinderungen, um Crowd gegen die Aufzeichnungen
, die in diesen Tabellen sind, durchzuführen . Also werde ich diese Basis erstellen,
stört auf gehen, um es öffentlich zu machen auf dieser basierten Schnittstelle geht Toe, haben einige generische identifizieren Luft namens T auf, dass ich gerade ein t Doppelpunkt Klasse sehen werde . Also, was das sagt, ist, dass ich diese Schnittstelle generisch genug mache, dass ich jede
Klasse hier in dieser Klasse übergeben kann , sollte in der Lage sein, alle Operationen auszuführen, die ich
online gehe . Alles klar, das macht dieses Basis-Repository generisch genug für die generischen oder globalen Operationen , dass jede Klasse jede Tabelle ausführen kann, wäre es, auf View-Teil zu erstellen, zu
aktualisieren, zu
löschen. Also, nachdem
ich das getan habe, werde ich tatsächlich gleich die Operationen, die implementiert werden sollten, sobald wir Datenbankoperationen um jede Klasse
implementieren, die übergeben wird. Also die 1. 1, die ich tun werde, ist zu finden, auch ich verwende ich Sammlung. Das ist also legendäre Comic-Sammlungsklasse. Also, wenn Sie mit C scharf vertraut sind, wissen
Sie, dass Siehe Sherpas Eine Reihe von Sammlungen haben Sie Liste haben Sie unzählige, wie tragbar. Ich Sammlung ist generisch genug, dass man fast jeder von denen sein kann. Aber wenn Sie nicht mit C scharf vertraut sind, als es nur als ar e zu denken. Alles klar, also sagt das nur, dass ich jede Art von ari-off Objekte akzeptiere, die
übergeben werden könnten . Also jeder Typ außerhalb des Bereichs, der eine Sammlung vom Typ T T ist, wäre Ihre Klasse. Aber dann, weil ich Tee mache und Generika oder Tee, hier ist nur eine generische identifizieren Selten zu sagen, dass jede Klasse, wo sie glauben, Typ Urlaub Geschichte dort auf der Operation gehen kann, wäre alles zu finden, was bedeutet, dass ich bin , die alle aus der Datenbank zurückgeben. Und wenn Sie mit Datenbanken und SQL vertraut sind, das wie ein ausgewählter Stern aus dem Tabellennamen schwierig. Also, das ist der Fund alles auf. Dann wäre der nächste, der angezeigt werden sollte, wenn ich nur einen Datensatz sehen wollte, und ich würde wahrscheinlich diesen einen Datensatz von I D finden wollen Also erstelle ich eine andere Funktion. Die Erstellung war wie ein Funktionshitter, um eine Klasse zu sehen. Ich möchte diesen Datensatz von I D finden und ich akzeptiere einen Integer-Parameter namens idee, aber wir wissen, dass wir keine ganzzahligen Parameter haben. Wir haben vielleicht noch einen, aber das ist in Ordnung. Wir können es als Ganzzahl belassen, für keinen anderen Satz Befehle wäre zu aktualisieren und löschen. Also werde ich diejenigen in setzen, die ich sehe Stier, weil ich angeben will, wie die ganze erfolgreiche diese Operation war, Sobule wird ja oder nein auf basierend auf DS Arnott zurückgeben, ich kann meine Geschäftslogik Zehengriff verwenden Halten Sie die u, die ich präsentiert die Ära unseren Erfolg für den Benutzer, oder? Also will ich nicht zu viel darauf hineinkommen. Ich möchte nur sagen, dass ich weiß, was passiert, wenn wir auf dieser Klasse aufbauen. Also haben diese basierten Repository-Klassen, die toe gehen, eine ah-Funktion, um alle Datensätze zu entfernen. Unabhängig von dem Klassentyp, den ich nach einer Tabelle suche, möchte ich einen bestimmten Datensatz
basierend auf dem i d finden .
Das wird vorausgesetzt, Andi möchte eine Entität vom Typ T erstellen. Der Variablenname ist also eine Entität , die generisch genug für den Typ Eesti, die auch generisch und das gleiche für Update und Löschen auf unserer endgültigen Operation ist, wäre jetzt noch einmal zu speichern, das ist alles generisch und das ist eine Basis. Dies ist eine Basisschnittstelle, so dass jede andere Störung für jede andere spezifische Tabelle von dieser
Basis erben sollte , weil diese vier Operationen hier für jeden definiert sind, dann in dieser bestimmten Schnittstelle, Wenn es andere Operationen gibt, die ich für diese bestimmte Tabelle benötigte, können wir sie dort implementieren. Als erster Akt werde
ich ein Repository für unseren Urlaubstyp implementieren. Da das keine Abhängigkeiten hat, sollte
das der einfachste Wunsch sein. Implementieren Sie jemanden mit der rechten Maustaste oder Verträge Ordner Gehe zu Anzeige hinzufügen auf C-Klasse. Aber noch einmal fügen wir eine inter fees auf Ankündigung hinzu, dass die Namenskonvention für die Schnittstellen wäre ich auf was immer es ist. In diesem Fall nenne ich es. Ich verlasse das Typ-Repository, richtig? Das ist das. Das ist meine Namenskonvention. Also klicke ich einfach auf Hinzufügen, dann wenn das seine erstellt, möchte
ich es öffentlich machen, um Fehler zu vermeiden. Dann kann ich viel wissen, dass ich das Projektarchiv verlasse. Sorry Teoh erbt von meinem Basis-Repository. Also habe ich gerade Repository-Basis direkt auf dann. Denken Sie daran, dass Repository-basiert einen Typ haben sollte, der mit
ihm deklariert wird , ein Klassentyp Bruder, der damit deklariert wird, und Entscheidung Eric So, da ich es
mit dem Blatttyp-Repository zu tun habe. Dann werde ich den Urlaubstyp wie auf meinem Auto übergeben. Komplett ist, dass es informell ist, aber das ist nicht, was ich will. Ich will verlassen Typ und ich ging zu drücken entkommen dieses Mal statt eingeben. So Blatttyp ist eine Klasse, mit der ich erwartet habe, mit der ich zu unterbrechen. Alles klar, dann natürlich wird mir einen Fehler geben, weil sie sich in verschiedenen Ordnern, verschiedenen Namensräumen befinden. muss ich nur einschließen. Also habe ich gerade über ihre Kontrolle auf Full Stop und drücke dann die Eingabetaste, und dann wird es diesen Verweis auf den Ordner hinzufügen, in dem der Leaf-Typ eingeschaltet ist. Dann haben wir es. Es ist nicht hinzugefügt. So gehen Sie also dazu, dass diese Schnittstelle vom Typ oder von einem Repository Bees erbt
oder verlassen wird. Also wissen Sie, dass ich Template-ID habe, was passieren sollte. Und noch einmal, ich versuche, es einfach zu halten, weil wir am Anfang eso das ich verlasse. Repository ist niemand, um die Datenbankoperationen zu definieren, die tatsächlich in unserem
Repository implementiert sind . Also werde ich weiter Klasse erstellen und dieses Mal wird eine Klasse in einem
Repository-Ordner Jemand, der direkt auf Hinzufügen klicken, gehen Sie zur Klasse in der Leavitt US-Klasse auf. Dann rufe ich dieses Leave Type Repository auf. In Ordnung auf. Dann klicke ich auf. Also nein, ich habe eine neue Klasse, die Leaf Type Repository genannt wird. Es ist leer. Die Erwartung ist, dass alles, was innerhalb dieses Projektarchivs definiert wurde,
innerhalb der Diskussionsmitteilung definiert werden sollte . Nichts wurde in diesem Repository in Dies stört eher definiert,
aber es erbt von I Repository-Basis, die fünf Funktionen definiert hat,
was bedeutet, dass wir für fünf Funktionen erwarten, die eher auf deklariert sind. Wir erwarten also, das Verhalten von diesen fünf Funktionen innerhalb des
Off-Blatt-Typ-Repositorys zu definieren . Der schnellste Weg, sie zu bekommen, ist, von unserem ich lasse Type-Repository auf. Ich werde erklären, warum wir hier nicht nur von dem Repository-Biest erben. Ich erkläre das, aber nein, lasst uns einfach damit arbeiten. Also lasse ich Typ-Repository auf. Ich kopiere das nur darauf, dass ich es davon erbe und dann, wenn ich
das mache , wirst
du die Zeile trennen. Nein. Erstens muss
ich den Namensraum einschließen, in dem die Verträge eingeschaltet sind, dann beachten Sie, dass die rote Linie immer noch da ist. Wenn ich dieses Mal schwebe, ist das ein anderer Pfeil. Es ist nicht zu sagen, dass es das Interferes-Mitglied nicht implementiert und bemerkt, dass
alle Funktionen von der Repository-Basis stammen. In Ordnung, also erwartet es, dass, wenn ich davon erbe, stört, dass alle Funktionen, die wieder bekannt deklariert
werden , hier deklariert werden. Aber sie werden alle hier deklariert und ihre Posterbasis wird geerbt, indem ich das
Typ-Repository auf DSO verlasse , indem ich das Typ-Repository verlasse. Es erbt im Grunde die Tatsache, dass diese Funktionen definiert werden müssen, so dass ich
einfach meine Glühbirne wieder verwenden kann NC-Implementierungsschnittstelle und es wird einfach alle unsere Funktionen durchlaufen und implementieren. ID mit unserem Repository übergewichtig assoziieren? Nein. Nun sagen wir, es gibt bestimmte Funktionen und das ist nicht zu erklären, warum wir nicht nur von den Repository-Bienen
erben? Nein, sind nur die grundlegenden Kroaten. einmal, das sind die Basis. Das sind die vier Millionen Funktionen, die Sie immer für jede Funktion auf jedem Tisch ausführen. Richtig? Aber dann gibt es vielleicht Ah Funktion, die nur ich den Typ verlassen muss Repository wissen muss. Die Basis ärgert sich also nicht, denn wenn die Basis weiß, dass jeder andere, der
von Bienen erbt , es auch wissen wird. So kann ich voran gehen und eine andere Funktion direkt hier auf DSO definieren Innerhalb verlasse ich
Typ-Repository auf DSO Wenn verlassen Typ Depositor davon erbt, wird
es alles wissen, was die Basis weiß, sowie alles, was seine entsprechende -Projektarchiv stört weiß. Also lassen Sie uns sagen, ich wollte eine, die einige ich Sammlung zurückgab, weil diese spezifisch ist. Nein, es muss aus dem Urlaub sein. Ordnung
, diesmal ist es nicht t Es gibt kein T in diesem Zusammenhang. Also möchte ich eine Sammlung von Blatt-Typ auf. Dann soll diese Funktion Mitarbeiter nach Urlaubstyp bekommen. In Ordnung, sagen
wir, ich wollte alle Angestellten, die einen Partikeltyp vom Urlaub genommen haben dann wird dies in den ICTY-Angeklagten nehmen, der i d für den
Partikelausscheidungstyp ist. Jetzt, da ich das inside off definiert habe, verlasse
ich das Typ-Repository. Wenn ich zur erbenden Klasse zurückgehe, dann sehen Sie, dass die rote Linie auf dem Pfeil ist, weiß, dass ich nicht alle Funktionen implementiert habe , weil es nicht zu sehen ist, dass eine Funktion ein Teil aus ist. Ich verlasse das Typ-Repository, damit ich die Schnittstelle darauf implementieren kann, wird diese
Funktion nur zur Liste der zu definierenden Funktionen hinzufügen . Damit werde
ich auf Dime pausieren, können Sie voran gehen und die anderen Repositories,
die anderen Schnittstellen und korrespondenten Repository-Klassen erstellen , um einen Ort auf Urlaub
Geschichte zu verlassen . Ich werde dich dafür überlassen. Ich werde es tun. Ich werde es vervollständigen, damit Sie darauf verweisen können. Aber ich möchte, dass du weitermachst und versuchst, dich selbst zu fühlen. In Ordnung. Also hoffe ich, dass Sie das Video pausieren und es selbst ausprobiert haben. Was? Ich werde das durchmachen, was ich erwartet habe, dass Sie abgeschlossen haben. Und wenn du es nicht tust, ist
das Fund. Dann gehen wir durch zusammen und Sie werden feststellen, dass die Ressource für diese erstellten Dateien in der Ressource ist für dieses Video. Wie auch immer, was wir tun sollten, war das Ich verlasse ein Standort-Repository zu erstellen. Ich verlasse Geschichte Repository Onda. Dasselbe für die tatsächlichen Repository-Klassen. Also, wenn wir seine erfolgreiche als verlassen Zuteilung abgeschlossen sollte so aussehen. Denken Sie daran, Ihre Öffentlichkeit anzulegen, wenn sie nicht bereits damit generiert wird. Öffentliche Schnittstelle. Ich lasse Allokation-Repository auf. Wir erben von Repository-Bestie mit der entsprechenden Klasse, die einen Speicherort
auf dem gleichen für die Geschichte verlassen wird . Wir haben das gleiche Format scheinen Butter und nur den anderen Namen auf wir sind sicher,
für den richtigen Klassentyp Teil dann für die jeweiligen tatsächlichen Klassen zu erben . Dann erben wir. Ich verlasse Allokation-Repository, das wir gerade Hafer gerollt haben Die Implementierung für die Inter Gebührenfunktionen innerhalb der Klassendatei auf. Wir haben das Gleiche für das Repository für den Urlaub gemacht. Nein, es gibt noch eine Sache. Und das wäre wie der Beginn unserer Abhängigkeitsinjektion. Unser Blick darauf, was Unabhängigkeit Injektion wirklich ist. Aber wir müssen diese Repository-Klassen tatsächlich über die Datenbank wissen lassen, also ja, sie wissen über die Klassen und all diese Dinge, aber sie verkörpern nicht die eigentliche Verbindung zur Datenbank. Andi, wenn Sie sich an diese Anwendung erinnern, verkörpert
DB-Kontext diese Verbindung wirklich. Das ist also wie unser Gateway und unsere Brücke zur Datenbank selbst. Also schlaucht es tatsächlich alle oder Entitätsframework-Funktionen direkt hier auf der tatsächlichen Verbindung zur Datenbank. Also brauchen wir ein Objekt vom Typ Anwendung BB-Kontext auf dann, das uns viel gibt, um tatsächlich mit der Datenbank zu
interagieren. Also, wenn wir auf die 1. 1 zurückgehen, haben wir, was das Typ-Repository in der Klasse vor unserem Schöpfer und die Implementierung von
allen anderen Funktionen belassen , werde
ich privat erklären, auf Lee oder Eigentum
lesen auf. Ich werde es vom Typ Anwendung BB-Kontext machen. Dann werde ich es gut nennen, unterstreichen db Alles klar, Also das Muster für private Immobilien werden Sie einen Unterstrich verwenden, wenn Ihr Name e Drohungen
, so dass das wie ein nettes sagen, dass, wenn jemand vorbei kommt, Caesar aufgerufen. Sie wissen, dass alles unterstrichen ist. Das bedeutet, dass es eine private Variable ist, die auf Ihrer Klassenseite steht. Also, das ist Schritt eins. Schritt zwei besteht darin, einen Konstruktor für unser Repository zu erstellen. Also haben wir öffentliche Andi, oder wird die Abkürzung für Konstruktoren ihre C T
O. R. und zuerst zweimal auf sie erzeugt tatsächlich diesen Konstruktor Block vor Gericht für Sie. Sie sollten also vertraut sein oder PR Constructor ist jede Funktion, die den gleichen Namen wie
die Klasse hat , und es tut eine Initialisierung ist, wenn diese Klasse Orenstein genannt wird. Sie hasste also in dieser Situation, was wir erwarten, ist das Abschleppen zu initialisieren. Ah, frische Kopie von unserer Anwendung db Kontextvariable. Sie haben also bemerkt, dass es sagt, dass es definiert ist, aber es wird nie verwendet. Es ist nur da. Also das erste, was ich tun möchte, ist, diesem einen Parameter auf dem Test eines
Umfangs vom gleichen Typ zu geben , den ich über initialisiert bin, verstehen? Um das auf Aufruf zu kopieren, verwenden Sie den Datenbankkontext, aber nicht unterstreichen db. Also dieser ist privat und dieser kommt durch den Konstruktor auf. Dann werden wir nur den privaten initialisieren, um den Wert zu sein,
der durch die Anweisung des Konstruktors hereinkommt . Entschuldigung. Also dann ist unser Konstruktor kein initialisierter Zehe haben dies. So sieht die Abhängigkeitsinjektion in diesem Schritt aus. Das ist nicht alles. Es gibt die Abhängigkeitsinjektion. Es ist ziemlich aus ein paar Schritten, aber das ist die 1. 1 Also muss dieser Block off Court in jeder
Repository-Klassendatei vorhanden sein . Also werden wir das einfach kopieren? Wir haben es einmal geschrieben, in ich verlasse das Repository, also bin ich einfach gegangen, um es zu kopieren, und ich werde gehen, um einen Standort zu verlassen, und ich werde es dort auf das, was ich ändern werde, ist nur der Name von der Konstruktorsache offensichtlich für das Konstrukt. Der Name kann Typ-Repository nicht glauben. Also bin ich nur dabei, um sicherzustellen, dass das Auto seinen Namen hat. Dann werde ich etwas Ähnliches in der Urlaubshistorie machen. Andi, ändern Sie
einfach den Namen auf dann unsere Datenklassen oder sind positive Klassen fast bereit zum Handeln. Also haben wir ziemlich viel Arbeit geleistet, um dieses Framework wieder auf dem Repository Potter und seinem Militär, dass es ein Muster ist. Es ist eine Struktur. Also, wenn Sie es mit diesen drei tun und Sie herausfinden, Sie fünf weitere Tabellen in Utah ad, dann erwarte ich, dass Sie Zehe folgen dem Muster und tun dies noch fünf Mal. Für jede dieser Tabellen, mag
es mühsam erscheinen, aber am Ende der Daten zurück Struktur, die Ihnen erlaubt, Ihr Gericht noch
besser zu halten , weil es eine Menge von Wiederholungen ausschneidet, hilft Ihnen zentralisieren Sie Ihr Gericht und erleichtert die Wartung im Laufe der Zeit. In Ordnung, also jetzt oder Funktionen sind definiert, aber sie haben wirklich keine Funktionalität. Sie werden nur Ausnahmen werfen, und wir lassen sie so auf das nächste Video, wo wir tatsächlich durchlaufen und
die Datenbankoperationen in diesem Video definiert haben, wir setzen nur in den Boden, den wir in die Fundament auf Das letzte, was ich tun
möchte, ist seltsam das Wissen aus diesen Repository-Dateien zu schleppen und ihr Zweck ist es, dass wir dieses CS Feuer
starten. Also gingen wir kurz in diese Datei,
und wir sahen, dass wir eine CONFICKER-Service-Funktion hatten, die, wissen
Sie, es ist ein paar Dinge zu initialisieren. Also werde ich einige weitere Initialisierung hinzufügen, ist hier, und ich werde das nach der Datenbank-Initialisierung auf dieser Initialisierung zar toe tun, fügen Sie unser Repository oder Vertrag auf Repository-Klassenbeziehung zu dem Punkt Net Core Anwendung. Richtig. Also, was ich tun werde, ist sagen, Dienste nicht auf. Dann ging ich zur Ad School auf dann haben wir unsere erste Klasse, und ich werde sehen, ich lasse Typ Repository auf, dann setzen Sie ein Komma auf. Dann wische ich, dass ich das Typ-Repository seiner viel Luftkörper-Klasse überlasse, die Typ-Repository eingeschaltet ist. Dann schließe ich die Zahnspangen und den Semikolon. Kein natürlich gibt es in Zeilen, weil wir die Namensräume einschließen müssen. Also benutze ich einfach meine Steuerung angedockt. Andi, fügen Sie diesen Namensraum für das Ich verlasse Typ-Repository, das die Verträge auf ist. Dann werde ich das gleiche hier tun, um den nächsten Namensraum für unser Repository einzuschließen. Alles klar, in Ordnung. Also, sobald wir geschult hinzufügen, setzen
wir in unser Repository oder stören über die Repository-Klasse,
Dann, wenn Sie rote Linien erhalten und Sie wahrscheinlich nur Ihre Referenzen oben überprüfen möchten , stellen Sie sicher, dass Sie die richtige Namensart für die jeweiligen Dateien auf. Dann machen wir das für jeden von unserem Pierce. Also haben wir ich Typ Repository verlassen. Wir haben auch ich verlasse er Geschichte Repository er und wir haben auch ich einen Standort Repository verlassen . Und so sehen Sie, die roten Linien erscheinen? Nein, weil es erkennt, dass es eine gewisse Diskrepanz zwischen den Interferen gibt, die in der Repository-Klasse referenziert
werden . Um das aufzuräumen, können
wir einfach sicherstellen, dass wir sie nur richtig hören. Also werde ich nur den Namen von den Störern kopieren und ihn rüber bewegen und dann das
I. entfernen . Und so ist alles, weißt
du, unser Anfang dieser CS-Aktensicherungsuhr. Schrecklich das. Also werde ich nur ein paar Commons hier sehen, um zu sehen. Also dieser Abschnitt befasst sich mit dem Hinzufügen von Referenzen für Repository auf Verträge zum Starten der Datei. In Ordnung, also das ist der Kommentar, den ich für diesen Abschnitt hinzugefügt habe. Also noch einmal, für so viele andere Datentabellen, die wir möglicherweise einen Vertrag für diese Tabelle erstellen
möchten, wollen Sie den Schöpfer positive Klasse dieser Tabelle? Also und dann fügen Sie sie einfach in diesem Abschnitt innerhalb des Anfangs über CS-Klasse hinzu. Das sind also ein paar Schritte zur Implementierung oder Repository-Muster. Bitte beachten Sie, dass
alle Funktionen, die implementiert worden wären, ziemlich leer sind. Sie werden nur Ausnahmen werfen. Also in unserem nächsten Video wird tatsächlich anfangen, in die Datenoperationen pro Klasse oder pro
Funktion zu setzen , so dass wir einige Datenbank-Operation schlagen in unsere Anwendung.
12. Datenbank- und Entity Rahmenfunktionalität: Hey, Leute, willkommen in diesem Video werden wir unsere Datenbank-Funktionalität einrichten. Nein. In unserem vorherigen Video gingen
wir durch und wir begannen, über Repository zu implementieren, Muster oder Interferes ist auf den Repository-Klassen von den Schnittstellen zu erben. jedoch Als wirjedochdie Funktionen implementiert haben, die in den Schnittstellen gewesen wären oder ausgekleidet wären, haben
wir nicht die eigentliche Funktionalität in diesen Funktionen eingestellt. Also haben wir die Bull Create-Funktion hier, aber es ist nur wirft und nicht implementierte Ausnahme. Und das ist im Grunde der Fall für jeden einzelnen von ihnen. Also gehen wir durch die Einrichtung eines aus den Repositories und wir beginnen mit dem Leaf Type Repository. Dies ist die 1. 1, die wir auf der Höhle eingerichtet haben. Ich werde innehalten und Ihnen erlauben, die anderen einzurichten. Und dann können wir es gemeinsam durchmachen. Nein. Ah Relief Typ Repository-Klasse. Es erbt von Ich verlasse das Typ-Repository, das, wenn wir uns das ansehen, auch von der Repository-Basis auf erbt. Es hat seine eigene Funktion in dieser Implementierung, die stört. Also dann haben wir etwa sechs Funktionen von ihren Posterbienen und dann haben wir eine zusätzliche Funktion aus dem Ich lasse Type-Repository auf DSO über das Erben von Klasse oder Repository-Klasse würde insgesamt sieben Funktionen haben, die implementiert werden müssen. Jetzt werde ich anfangen, Funktionen in der gleichen Reihenfolge zu schreiben, in der sie in der
Interferes-Klasse erscheinen würden . Das ist ohne besonderen Grund. Es ist nur, weißt
du, beim Aufbau. Wenn Sie mit dem Entitätsframework nicht so vertraut sind, werde
ich Sie Schritt für Schritt durchlaufen und Ihnen
zeigen, wie Sie Entitätsframework verwenden können, um die Datenbank abzufragen. Also werden wir mit der I Sammlung finden beginnen. auch Die Idee hinter dieser Funktion bestehtauchdarin, dass, sobald diese Funktion relativ zu welchem
Repository aufgerufen wird und mit welcher ihrer Klasse es sich handelt, davon, welche Tabelle mit ihr stehlen sollte alle Datensätze in dieser Tabelle zurückerhalten. Alles klar, also für den Kontext, wenn Sie alle Blatttypen ablegen wollten, die das System gegessen werden, dann müssen Sie alle Blattdatensätze aus der Datenbank abrufen. Und so müssen Sie alles in Ordnung finden. Also, wenn wir diese Formation implementieren, finden
wir alles auf seiner rechten Seite hier in Ordnung auf die Erwartungen, die eine
Form von Sammlung aus dem Takt zurückkehrten , ein Typ Blatt-Typ, der wieder einmal nur eine Klasse auf ist. Ich kann einfach die Kontrolle behalten und darauf klicken, wird zur tatsächlichen Implementierung aus der
Klasse gehen . Unsere Definition der Klasse eher darauf wird uns zeigen, was es ist. Es ist eine Datenbankklasse oder eine Datenklasse, sagte
Deby. Klasse vorbei, Sie wollen es ausdrücken. Aber Tatsache ist, es eine Tabelle in der Datenbank ist und in unserem Projekt als eine Klasse namens
Blatttyp dargestellt wird. Also möchte ich jede einzelne, die ich eine Sammlung von Datensätzen möchte, die wie diese Klasse so
ziemlich in dieser Funktion aussah , was alles ist, was ich gegangen bin, um diesen Thron zu löschen, Sie haben keine Ausnahme implementiert und dann werde ich meine Verbindung aufgerufen in die Datenbank . Also für mehr vorheriges Video, hatten
wir eine schlechte Verbindung durch diese Variable namens DB gesetzt, jemand auf der Punktzahl DB zu verwenden, und dann werde ich sagen, es Punkt und dann würden Sie erkennen , dass Sie ziemlich viele Form Shuns zur Verfügung haben, aber dann, noch wichtiger ist, beginnen
Sie zu sehen, dass Sie tatsächlich die Tabellen für CLC-Mitarbeiter benötigen, sehen
Sie, lassen Sie Typ Was auch immer es ist, dass wir in unserem DB-Kontext als Datenklasse einrichten, zugegriffen wird, ist
eine bemerkte Blatttypen da. Dann können wir tatsächlich über DD auf sie zugreifen. Also, um über diese Liste nach dem Punkt zu kommen, halte ich einfach an Kontrolle und drücken Sie die Leertaste, und das bringt die Intelligenz wieder auf. Dann kann ich mit der Eingabe von Urlaubstypen beginnen. Dann muss ich es in eine Sammlung schaffen. Also nur, indem Sie sagen, db die Blatttypen, die buchstäblich einen ausgewählten Stern aus Leaf Types-Anweisung ausführen. Wenn Sie mit SQL vertraut sind, wenn sie nicht sind, dann sagt das so ziemlich nur: Geben Sie mir alle Blatttypen zurück. Das ist es buchstäblich. Gut. Aber dann, weil ich es in irgendeiner Form der Sammlung brauche, werde
ich sehen, dass, um es aufzulisten Feuer. Also ah, Liste in C Sharp ist ein sehr,
sehr flexibler Weg, um eine Sammlung zu erhalten, die in mehreren Anwendungen verwendet werden kann. Danach müssen Sie nicht viel typecasting machen. Sie können einfach sagen, sie aufzulisten, aber dann bemerken Sie, dass es eine rote Linie hat, weil sie keinen Wert zurückgibt weil es erwartet, dass wir eine Sammlung vom Typ verlassen zurückgeben. Also alles, was ich wirklich tun muss, ist nur eine Rückkehr, er glaubt Typen, die auf einige Leute auflisten. Ich meine, jeder hat ein anderes Zitat Muster,
und einige Leute hätten wahrscheinlich das Abendessen Variable Onda Virus einen schönen, schnellen Weg von der Deklaration von Variablen, die sie unsere Urlaubstypen speichern können. Onda, das ist gleich toe dies, dass die Ergebnisse dieser Aussage. Also, was von dieser Anweisung zurückgegeben wird, wird innen aus gespeichert, lassen Sie Typen an. Dann können wir Urlaubstypen zurückgeben, damit jeder es anders macht. Sie können Ihren eigenen Stil entwickeln. Was auch immer schneller oder einfacher für Sie ist, das ist in Ordnung. Aber am Ende des Tages,
solange du verstehst, was passiert, ist
das in Ordnung. Aber am Ende des Tages, solange du verstehst, was passiert, ist Also bekommen wir alles auf ihre, die wir retten. Ich entlaste Typen. DB-Typen, die aufgelistet werden sollen. Also drehen wir alle Blattstufen, und sie haben ihren Zeh einen scharfen, ordentlich geworfen, den ich wenigstens angerufen habe, was wie ein verherrlichter Ari ist. In Ordnung, tut mir leid. Du musst eine Sitznummer frei haben. Objekte sind Werte sind realistisch und Flexi können wachsen. Es kann sich zusammenziehen. Es kann jederzeit eine beliebige Zahl sein. Es ist also eine sehr flexible Sammlung, die, wie ich schon sagte, also werfen wir es einfach mit dem Wurf, was hier auf unsere Liste von Urlaubstypen zurückgekehrt ist. Und dann haben wir das gerade zurückgegeben. Also alles, was diese Form Sohn nennt, sollte vorbereitet werden, um eine Liste
von Urlaubstypen,
Kunst zu erhalten von Urlaubstypen, , und das war's. Das ist alles, was wir brauchen, um alle Blatttypen aus unserer Datenbank zu bekommen. Nun, die nächste, die wir implementieren müssen, wird von I.
D.
bestraft D. Szenario dafür wäre, dass wir die Details von AARP
Gelenkblatttyp sehen wollen . Richtig? So sehen Sie, dass wir krank haben, wo Urlaub gehen. Auf diese Weise möchte
ich nur Urlaub sehen. Vielleicht sind das Rechtschreibfehler. Vielleicht wollte ich ein paar Details sehen, wer es erstellt hat. Was auch immer ich darauf klicke, nur um diesen einen Datensatz zu sehen. In diesem Szenario muss
ich diesen Blatttyp speziell finden, und ich verwende das I D, das der Schlüssel oder Primärschlüssel in der Datenbank ist. Ich benutze das, um dieses bestimmte,
äh,
Blatt das eindeutig zu identifizieren äh, . Also der nächste, den ich implementiere, ist in Ordnung von Lee. Nein. Find by i d kehrt am Blatttyp Objekt zurück. Keine Liste, keine Sammlung,
sondern nur ein Objekt,
denn, denn, denken Sie daran, wir finden ein bestimmtes Objekt. In Ordnung, also werde ich diese Linie vor Gericht entfernen. Dann werde ich Ire retten. Verlassen Sie den Typ. Alles klar ist gleich auf ihre noch einmal, ich werde meine D V nennen, was meine Verbindung zur Datenbank ist. Mein Datenbankobjekt, das auf der Tabelle, mit der ich mich befasse, bleibt erneut Typen aktiviert. Dann muss
ich in dieser Situation wirklich nur einen finden. Also habe ich hier zwei Möglichkeiten. Ich kann sagen, dass und c finden, so dass sie uns eine tatsächliche Funktion namens find geben, die als
Parameter jede eindeutige Identifizierung erhält , die gut sollte,
alles, was einen Datensatz in welcher Reihenfolge eindeutig identifizieren sollte, in welcher Tabelle wir uns ansehen auf, dass wir nur diese Genehmigungen übergeben, so dass wir wissen, dass wir, wenn wir es tun, müssen wir diese eindeutige Kennung übergeben dann in andere Arbeit. Wird den Rest tun, um es basierend auf dieser eindeutigen Kennung auf zu finden. Dann kehren wir einfach zurück. Verlassen Sie den Typ. Alles klar drauf. Das war's. Die andere Möglichkeit, das zu schreiben, und Sie sehen es wahrscheinlich auch auf diese Weise geschrieben. Und ich habe gerade kommentiert Gedanke ist, dass man sagen könnte, db Punkt die Tabelle Onda se lassen Typen. Und das ist, wo Sie bei einem Kommentar sind. Wenn Sie Kälte wollen, das ist nicht Fuß gehen oder Sie etwas schreiben wollen, das nicht das, was mit dem
Gericht stören . Sie setzen einfach Schrägstrich, Schrägstrich und das wird in die Zehe dieser Linie kommen. Also ist es ein db dot lassen Typen auf. Dann sagst du Punkt und dann hättest du etwas dran. Ich entferne das einfach schnell, damit ich es zuerst mit der Intelligenz oder dem Standard bekommen kann, also zuerst oder Standard, und dann gehst du in eine Lambda, ähm, Aussage. Aber dafür bin ich noch nicht bereit. werden wir später machen, also werde ich noch nicht darauf hineingehen. In Ordnung, das ist
also ein weiterer Weg, es zu tun. Noch eine Sache. Ein weiteres Beispiel. Wenn wir mehr mit der Entity Framework Syntax so finden von I d auf. Dann machen wir uns Sorgen, finden einen Blatttyp mit diesem artikulären i D. Was einzigartig ist, dass in Feuer es zurückgegeben und innerhalb von dieser Variablen gespeichert wird und wir diese Variable zurückgeben und bemerken, dass das Bedingung erfüllt ist, da Visual Studio weiß, dass Blatttyp beim Leave-Typ der erwartete Rückgabetyp zurückgegeben wird. Nein, wir werden ein bisschen mehr Spaß machen. Also gehen wir weiter zum Erstellen. Das ist also, wenn wir Urlaubstypen von jemandem erstellen fühlt sich aus der Farm, klicken Sie auf Speichern, und dann wird die nächste Geschwindigkeit mit der Suche nach allen Daten aktualisiert. Also wird die große erfrischt, was wir gerade hinzugefügt haben, dort angezeigt. Die Create-Funktion benötigt also nur die Daten, die sie tatsächlich in die Datenbank legen. Alles klar, also für oder erstellen Sie Funktion, was wir tun werden, ist, dass wir die verbundene Datenbank auf der Partitur DVR-Objekt
direkt auf sehen . Dann werden wir die Tabelle angeben, die verlassen Typen ist, so stellt fest, dass wir eine Variable oder ein Objekt aus Typ erhalten sollten verlassen Typ auf. Wir nennen es Entität. Sobald es diese Funktion trifft, nimmt
es an, Daten im Formular aus Entität zu empfangen. Also db, die Typen auf lassen. Dann werden wir sagen, dass die Anzeige, weil diese Typen ist wirklich wie eine Sammlung. Leave types ist buchstäblich eine Sammlung von Datensätzen aus den Tabellen verlassen Typen. Also sagen wir, dass ich nur diese Entität oder diesen neuen Blatttyp hinzufügen möchte. Also die Sammlung von vorhandenen Blatttypen So sehen wir verbunden die Datenbank, geben Sie mir die Tabellenblatt-Typen sind alle der Sammlung von Datensätzen von Urlaubstypen an diesem neuen. Also fügen Sie eine offene Brise hinzu und dann sehen Sie, sogar Intelligenz wird hier geführt und sagen, dass das, was erwartet, etwas vom Typ
Blatttyp ist Jetzt können Sie es Entität nennen, also nennen wir es Entität. Nun, dies hätte irgendetwas genannt werden können, und ich musste nicht Entitäten genannt werden, die nur Entität genannt werden, weil wir es hier als
Entität definiert haben . Ich hätte alles BJ nennen können. Ich hätte es nennen können. Pop ist, es spielt keine Rolle. Tatsache ist, dass wir in diesem speziellen Fall einen Datentyp Andi erhalten, und wir nennen ihn nur Entität. Alles klar, das ist nur ein wie ein sehr beschäftigter Mann Objektname auf. Dann sind wir im Grunde damit fertig. Also sagen wir, D d, das sind Urlaubstypen, die Werbung auf, wir übergeben in der Entität. Ordnung, also gibt es noch eine Sache, die getan werden muss, nachdem wir bestanden haben, dass es und das ist dasselbe. Aber ich bin noch nicht wirklich in der Speicherfunktion zu schreiben, also werde ich nur einen Kommentar dort machen, damit ich mich daran erinnern kann, dass ich meine
Notizen speichern muss . Dies erwartet einen booleschen Wert. Also bekommen wir hier eine rote Linie, weil eine, die nicht zurückkehrt, bis er den Wert
der Autodaten nicht zurückgibt . Also werde ich nur diesen Kommentar hinterlassen. Es würde wieder kommen, um es später zu beheben. Dann werde ich einfach weitermachen und eine weitere auf der nächsten implementieren. In der Zeile wäre es, also um ein Update zu machen, folgt
es im Grunde dem gleichen Muster. Wir verbinden oder Datenbank. Wir bekommen unseren Tisch, die Schritte, dann rufen wir die Funktion, und weil wir ein Schlagen sind, geben
sie uns ein Formular Sohn Update. Jetzt kann ich sagen, dass dies eine Erleichterung ist, denn damals,
in früheren Tagen,
außerhalb des in früheren Tagen, Entitätsrahmens war es nicht so einfach. Also nein, wir können das Update auf Vergangenheit in der Entität genau das gleiche auf dann sehen, mit mir diese Änderung, wir müssen es immer noch sehen. Das ist eine andere Sache, die wir speichern müssen. Wir haben eine Funktion sagen, haben sie noch nicht implementiert. Wenn wir also zur Implementierung kommen, werde ich den Rest durchmachen und aufräumen. In Ordnung, also haben wir das für das Update auf die nächste In Zeile wäre Löschen. Also haben wir unsere Lektüre, die wir haben oder erstellen. Wir haben unser Update auf keinen Wortlaut oder löschen gut zum Löschen. Es ist ziemlich das gleiche Muster wie wir zuvor gesehen haben, was wir tun werden, ist eine Verbindung oder Datenbank, erhalten Sie unsere Tabelle. Wenn Typen auf, Dann sagen wir Punkt Auf dieser Zeit wollen wir entfernen Alles in Ordnung, so ist es nicht glauben, dieses Mal, aber es ist entfernt auf. Wir entfernen diese Entität wieder aus der Sammlung. Wir brauchen Zehenrettung, also bitte, Sie können diese Zeile
nicht schreiben. Das ist in Ordnung. Etwas wird getan, aber es wird nicht an die Datenbanken gebunden. Wie ein Engagement für die Datenbank. Nicht dieses Rennen. eine Datenbank Eigentlicheine Datenbank. Führen Sie die Abfrage aus. Also, nein, nein, wir müssen herausfinden, was in unserem Safe passieren muss. Also, zum Speichern, werde
ich das entfernen. Andi,
alles, was wirklich passiert, ist, dass wir auf der Partitur sehen. Hat er die Datenbank bekommen? Und dann sehen wir Änderungen speichern, und das ist buchstäblich alles, was passieren muss. Um zu sehen, dass es sich ändert. Also hättest du diese Zeile buchstäblich hier setzen können. Alles klar, wenn Sie
also DBC von Änderungen sagen, könnten
Sie diese Zeile dort setzen. Aber dann, weil ich es schreibe, erwarte
ich einen Stier. Wenn es also vermeidbare Funktion wäre, wäre es in Ordnung, weil void-Funktionen keine Werte zurückgeben. Also, indem es Form vermeidet, mein Sohn, wäre
alles in Ordnung gewesen. Aber das ist nicht das, was wir haben. Wir haben einen Bullen, also lassen Sie uns mit dem arbeiten, was wir haben. So wird erwartet, dass der Anlagebarren ja sagt. Erzengel machte keine Änderung wurde nicht vorgenommen. In Ordnung? Wenn wir also Änderungen speichern, müssen
wir wissen, wo tatsächlich Änderungen vorgenommen werden. Denn wenn das getan wurde, dann wird erwartet, dass ich mich ändern würde, nur um ihn für jeden anderen zu sehen, wo ich
angegeben habe , dass wir es wirklich brauchen, Seve. Wenn wir also Änderungen speichern, wird
dies eine Form in GIA zurückgeben, die sagen,
ähm, wenn zu Hause irgendwelche Datensätze bearbeitet worden wären, so ziemlich alles in Ordnung, also das ist, wie viele Datensätze bearbeitet werden. Das bedeutet also, dass es in einer Situation wie dieser nie weniger als eins sein sollte, wenn Sie etwas löschen, das mindestens eine Sache geändert werden sollte. Wenn Sie hinzufügen, sollte sich mindestens eine Sache ändern. Ihre Operation bei dieser einen Sache sollte geändert werden. Das bedeutet, dass sie immer etwas größer als Null zurückgeben sollten. Also werde ich es in eine boolesche Rückkehr schaffen, indem ich Rückkehr sehe. Und dann ging ich zu mir das in eine logische Aussage. Alles klar, wo ich sehen werde,
geben Sie den Wert zurück, wenn die Ergebnisse Schublade fällt. Wenn der von dieser Funktion zurückgegebene Wert ist, speichern Änderungen größer als Null. Also dann ist dieser Anlagebarren nicht zufrieden, weil er dies bewerten wird. Es speichert keine Änderungen, aber ich denke, eine bessere Infrastruktur Es ist weniger verwirrend, , und wahrscheinlich wird besser funktionieren, wenn ich es nur in eine verbale Antwort lege. Vier Änderungen sind gleich Zehe auf der Punktzahl. Db Punkt speichern Änderungen. Alles klar, dann ist das niemand, der eine ganze Zahl für die Anzahl der Änderungen speichert, die darauf benötigt werden. Ich werde danach zurückkehren, wenn Änderungen größer als Null sind. Also, wenn es toll ist, dass hier endet, dann ist das gut. Wenn es nicht ist, dann haben wir
natürlich ein Problem, oder? Also speichern wir die Änderungen und dann kehren wir zurück. Wenn dies der Fall ist, wenn die Änderung größer als Null ist, bedeutet, sollte sie in einer Situation wie
dieser nie Null sein , damit wir alles zurückgeben können, was unsere Speicherfunktion uns gibt. In unserer Update-Funktion werden
wir nicht zurückkehren. Siehst
du, wenn ja, hier ist ein Fluss. Wir aktualisieren die Entität in der Datenbank, Dann treffen wir die Rückkehr auf. Wir rufen die sichere Funktion für die gleiche Funktion, die zurückkehrt. Ein Boolean geht mir die Veränderung an. Dann sag uns ja oder nein. Wenn die Änderungen tatsächlich gesehen wurden, was Sorry die Änderung gespeichert hat. Andan sagt uns, ob diese Änderungen tatsächlich gespeichert wurden oder nicht. Und dann fällt der Retourladen. Also dann wird diese Update-Funktion für jede andere Funktion nicht wahr oder falsch, wenn sie sicher war. Also werde ich nur diese Rückgabe-Speicherfunktion von hier an nehmen sie in die Löschung auf Benachrichtigung
setzen. All die rote Linie geht weg auf auch in der erstellen auf dieser roten Linie auch weg. In Ordnung, das sind
also die Änderungen, die erforderlich sind, die Zehe haben oder Crowd-Operationen offen laufen wo immer die Elite schafft. Wir wollen noch keine Mitarbeiter nach Leaf Time umsetzen oder bekommen. Ich werde das leer lassen. Wenn du es versuchen willst, dann ist das gut. Aber ich lasse das eine leer, bis wir mehr in unsere Bewerbungen bekommen. Aber jetzt fordere ich dich heraus. Zehe, fahren Sie fort und wiederholen Sie diese Schritte in den anderen Repository-Klassen. Beginnen wir also mit der Geschichte des Urlaubs. Ähm, ich wollte durchgehen und die Elite erstellen, all diese Funktionen für diese verlassen Geschichte finden und vier
Allokations-Repository verlassen . Nein, ich unterbreche die Aufnahme und ich hoffe, du hast das Video angehalten und
hast es tatsächlich durchgemacht . Aber ich werde es tun. Nein. Oh, und ich hoffe, dass du klug gearbeitet hast, oder? So können Sie kopieren und einfügen und ändern Sie das Wesentliche, weil das Gericht
ziemlich gleich aussehen sollte . Es ist das gleiche Muster direkt auf dem Brett. Das ist also mein Blatttyp-Repository. Die, die wir zusammen gemacht haben. Ich werde eigentlich nur diese Funktionen kopieren, und dann werde ich zu meinem Urlaub Allokation Repository gehen auf Ich bin nach Osten gegangen auf dieser eine Straße ist. Das brauche ich nicht. Also, wenn du das getan hast, hoffe
ich, du bist achtsam, dass du es nicht brauchst. Aber dann habe ich eine Reihe von Fehlern, weil nein, es schien, dass ich nicht implementiere und das ist, weil meine Datentypen viel vermissen, so dass ich
tatsächlich eine Suche machen und ersetzen kann , wo ich Fuß gehe, einfach geben Zuweisung. Alles, was ist verlassen Typ. Ich werde nur durch die Worte ersetzen. Verlassen Sie einen Ort, rechts, jemand Zehenschleife, Kontrolle f auf. Dann benutze diese Karotte hier, die die auf dem Fund und Ripley Abschnitt jemand finden lassen lässt, tippe in diese Datei ein. Ich werde es ersetzen durch. Lassen Sie einen Ort an, dann kann ich eins nach dem anderen beim Ersetzen gehen. In Ordnung. In Ordnung. Kendall, Sir, bitte. Alles auf, dann nachdem ich alle ersetzt habe. Dann sehen Sie, wie meine Fehler langweilig sind und ich bin fertig. Ordnung. Das ist also eine nette, schnelle und einfache Möglichkeit, das Gericht tatsächlich zu replizieren. Denn wieder einmal, es ist das gleiche Muster, oder? Es gibt eine andere Ebene der Behinderung, die wir im Projektarchiv Procter tun könnten. Und wo wir eigentlich nur diese gekühlten schreiben und wir nur auferlegen, für welche Klasse es gilt. Was? Ich lasse das Level hier raus. Tun Sie Toro, um es einfach zu halten. Also werde ich das wieder tun, um die Geschichte zu verlassen, um einfach Ah zu tun, kopieren und einfügen. Dann ein schöner, schneller Weg, um den Ersatz zu tun. Ich kann einfach das Wort markieren und dann Control f tun und es wird automatisch ausfüllen was hervorgehoben wurde. Also suche ich oder lasse es durcheinander. Also suche ich einen Ort verlassen, Andi,
ich ersetze ihn durch Urlaub Geschichte. Und dann kann ich einfach unseren Platz machen. Alle 14 Vorkommnisse wurden
dann angerufen und ersetzt . Nun, ich habe hier ein kleines Problem, denn dann ist das Urlaub Geschichten ist es mir leid. Deshalb, ja. Also muss ich nur manuell kapitulieren. Legen Sie die dann auf. Da bin ich. Ich bin fertig. Um sicherzustellen, dass ich keine Fehler habe, was wir tun können, ist eine schnelle Builds zu machen. Sie können dies verwenden, aber manchmal möchten Sie nicht unbedingt starten. So aufgeregt. Und so möchten Sie nur auf Fehler überprüfen. Er kann einfach an der Kontrollverschiebung auf Dboey festhalten. Und dann werden die Initiate dort gebaut, wo es gerade durchgeht, überprüft ihren Code und stellen Sie sicher, dass alles in Ordnung ist und dass Sie fehlerfrei sind . Und ich sehe hier, dass ich einen Fehler habe,
was darauf hinweist, dass ich eine Liste habe, so dass Sie auf eine Version klicken können, um zu sehen, was die Fehler sind . Ich gehe einfach hierher. Okay. Entschuldigung. Das war ein referenzierendes Mädchen von einer früheren Videokunst. Also habe ich das schnell behoben. Es hatte nicht die Warenkorb-Bibliothek für den Insel-Repository-Blatttyp. Jedenfalls, wenn ich wieder einen Build mache, dann werden wir sehen, dass ein Build, Erfolgreich,
bekannt, bekannt, fehlgeschlagen ist. Und wenn ich frühestens klicke, habe ich keine Fehler. Das ist gut. Also, nein, dass wir ein Repository abgeschlossen haben, obwohl für Urlaub Allokation und Verlassen Geschichte ich keine Notwendigkeit, zurück zu meinem Start auf Lassen Sie meine von meiner Middleware
gestartet. Dieses Startup-Feuer stellt das dar, was Sie Mitte nennen. Wo sind die Mitte, wo Konfigurationen. Ich muss es wissen lassen, dass ihre anderen Repositories bereits entfielen. Ich verlasse das Typ-Repository. In Ordnung, also muss ich einfach durchgehen. Und ich war nur dazu bestimmt, de Onda zu kontrollieren. Duplizieren Sie die auf dann bin ich nur Austausch diese Auto, Ich lasse Geschichte Geschichte über sterben Urlaub Zuteilung. In Ordnung, das weiß
ich. Haben Sie mir diese Änderungen. Ich muss sicherstellen, dass die Störung und die Klasse viel Also werde ich nur sicherstellen dass der Augenversion auf der einen Seite auf der linken Seite am Tag, Ich habe die entsprechende Klasse auf der rechten Seite, Also habe ich das einfach schnell gemacht. Ich habe nur eine Kopie in Ruhe gemacht und die und all diese Dinge entfernt. Also, wenn Sie es schreiben wollen Oh, das ist in Ordnung. Wenn du es so machen willst. Das ist gut. Auch, was auch immer man einfacher für Sie arbeitet, niemand aus. Die Prinzipien dieser Art von Muster sind, dass Sie nicht wollen, dass Sie an vielen Stellen in Ihrer Anwendung zu viel
Geschäftslogik setzen . Jede Schicht sollte spezifisch und verantwortlich für eine Sache sein. Also früher in meinen frühen Tagen habe ich hier im Repository-Bereich meiner Anwendung eine Menge Schecks abgelegt. Wo ist der Scheck? Nein. Wissen Sie das? Ist das leer? Soll ich es zurückgeben oder nicht? Ich habe aufgehört, das zu tun, weil ich nur möchte, dass diese Datei zu Recht TBIs verwandte Operationen ist. Direkt an dann im Controller. Da machen wir all die ausgefallenen Sachen. Also machen wir unsere Validierungen, die ziemlich Schecks sind, um unsere Polizeikontrollen im Controller
zu tun , wo die eigentliche Logik sitzen kann. Also, das ist es für dieses Video haben wir erfolgreich eingerichtet oder Datenzugriffsebene auf
es mit der Datenbank verbunden . Natürlich haben
Sie noch nicht viel Action gesehen, aber wir machen die Bodenarbeit, wenn die Anwendung wächst, dann haben wir eine Grundlage und eine Vorlage, aus der wir replizieren können, was getan werden muss
13. Setup von ViewModels und AutoMapper: Hey, Jungs, willkommen zurück In dieser Lektion werden wir einrichten oder sehen Modelle Onda Konfiguration Auto Mopp er, bevor ich in etwas Toe schwere bekommen. Ähm, was passiert und erklärt, wenn ich euch Modelle rette, was genau das bedeutet. Und dann schauen wir uns die Autumn Oper an. Dann kommen wir ins Gericht. Nein, zunächst ist
ein Modell ein Hindernis aus der Datenbanktabelle auf der Basisebene. Das war's. In unserem Fall ist
es tatsächlich die Vorlage für die Datenbanktabelle, weil wir ein Gericht erstes Muster verwenden . Also Entität für trübe starten Sie niedrig, um die Datenbank zu erstellen. tun sie immer noch. Aber traditionell erstellen Sie die Detailbienen auf. Dann würden Sie ein Modelldiagramm aus dieser Datenbank innerhalb Ihres Visual
Studio-Projekts auf erstellen. Dann wäre das das Modell Ihrer Datenbienen, und es wäre ähnlich der Datenbank. Modernes Diagramm, richtig? Nein, in dieser Situation hätten
wir tatsächlich C-scharfe Klassen geschrieben. Lassen Sie mich zum Beispiel einfach
Blatttyp verwenden . Also schrieben wir C scharfe Klasse namens Blatttyp. Wir gaben ihm einen Schlüssel namens I D uh erforderlich Eigenschaft namens Name Onda. Wir geben ihm eine Beat-Time-Eigenschaft auf. Dann haben wir diese C-scharfe Klasse entwickelt. Alles klar, wir haben es in eine tatsächliche Tabelle weiterentwickelt und die Tabelle wurde in unseren Daten generiert Bees und ich finde diese Tabelle einfach schnell, und sie ist in unserer Datenbank für die Verwaltung von Urlaub. Los geht's. Also haben wir i d, was ein Primärschlüssel ist, der identisch mit dem i d ist. Hier haben wir Namen auf, Wir haben d erstellt, so dass alles, was wir in dieser Klasse definiert haben, als
Tabelle erstellt wurde . So ist dies ein Modell für unseren Tisch mit einer abschließbaren Ansicht Modelle bekannt. Es ist eine zusätzliche Abstraktion vom eigentlichen Käfermodell. Sie wollen also nicht unbedingt direkt mit diesem interagieren, wenn Sie nicht hart sind. Möchten Sie dies für Datenbankzwecke verwenden? Aber dann, um unsere Ansichten zu generieren und bestimmte Operationen im Controller durchzuführen? Dann gehen wir zu Fuß,
haben, was wir View-Modelle nennen, die weitere Hindernisse sind. Dann müssen wir die Daten aus dem Ansichtsmodell in das tatsächliche Modell konvertieren, bevor wir
sie an unseren Bericht weitergeben , den wir
eigentlich eingerichtet hätten . Terrio die Datenbankoperation? Nein, ich habe noch etwas im Titel erwähnt. Dies sind neue Modelle auf Herbst-obere Konfiguration. Also Autumn Upper ist eine Bibliothek, die es uns erlaubt, diese Konvertierung leicht zu machen. Also werden wir durch das Einrichten von Ansichtsmodellen für einen Blatttyp auf gehen. Wir werden Herbst-Upper No. Erste Dinge zuerst. Ich werde alle meine Ansichtsmodelle in meinem Modellordner in Ihrem Projekt einfügen. Also von meinen Verträgen Controller, Peter hat alle tatsächlichen Daten Bienenklassendateien. Ich werde die schließen. Aber dann werden Modelle nicht unser Ansichtsmodell haben. Also werde ich nur mit der rechten Maustaste auf unsere Models Ordner schleicht. Fügen Sie über eine Klasse auf. Dann rufen wir das hier an. Lassen Sie den Typ eingeschaltet. Dann können Sie die Wörter Ansicht Modell rasseln, wenn Sie möchten. Ich möchte es nur VM nennen, also ist das meine Namenskonvention. Wenn Sie besser tippen Übersichtsmodell, das ist in Ordnung. Aber das sind nur meine Namenskonventionen. Anstatt das Ansichtsmodell asi vm dann zu sagen Nun, ziemlich das ist ein Hindernis von der ursprünglichen Datenbankklasse, also werde ich wirklich nur diese Eigenschaften von hier an kopieren. Also fragst du dich wahrscheinlich. OK, warum
also kopieren und einfügen? Warum? Warum sollten Sie sich mit dem View-Modell beschäftigen, wenn es wirklich nur eine Kopie des Friedens ist? Es gibt also Situationen, in denen Sie mehr haben können. Sind weniger Eigenschaften innerhalb des Ansichtsmodells als die tatsächliche Beat Abi Klasse haben wird . Das ist also der Sinn dieses Hindernisses, denn vielleicht auf der Bearbeitungsseite gibt es bestimmte Dinge, die Sie nicht auf und auf
dem Index anzeigen möchten . Peter. Bestimmte Dinge, die Sie mir zeigen möchten. Möchten Sie eine zusätzliche Eigenschaft auf Berechnungen im laufenden Betrieb einfügen, so dass das Ansichtsmodell Ihnen diese Art von Flexibilität Zehe gibt. Passen Sie das gewünschte Erlebnis an. Benutzer zu haben. Also die Ansicht Denken Sie daran, wir besprochen, dass Ansichten sind, was der Benutzer sehen, so dass die Ansicht, die generiert wird, würde auf einer Klasse basieren die Felder, die verfügbar sind, die Daten, die Zugriff Toe sagt. Also, indem Sie ein Ansichtsmodell verwenden, können Sie mit einer Rampe nach oben oder getönt auf die Menge der Daten, die eine Person Zugriff auf Zehe in unserer speziellen Ansicht hat, eine andere Sache, die es uns erlaubt, zu tun, ist die Durchsetzung bestimmter Vorprüfungen auf unseren Ansichten. Also, wenn ich sage predigen außer mir, wie in einer Form, geben Sie mir will erforderlich fühlt geben Sie mir wollen einige Bestimmungen, unsere eigene Datenvalidierung. So zum Beispiel kann
ich
zum Beispieldie erforderliche Eigenschaft in das Ansichtsmodell auf DSO abschalten, nachdem ich diese
Bibliothek eingeschlossen habe. Alles klar auf, dann, Sobald das enthalten ist, Was dies tun wird, ist jede Ansicht, die ist,
generieren, dass erben. Es sind Daten und sein Verhalten von diesem Ansichtsmodell wird erzwingen, dass dieser Name erforderlich ist . Wenn ich also ein Formular habe, wenn ich ein Formular habe, um einen Blatttyp zu erstellen, und Sie den
Namen von diesem Blatttyp eingeben müssen , können
sie es nicht leer senden, weil dies unser erworbenes Feld ist. Ich jedoch möchte mich
jedoch
nicht treffen, sei es erforderlich, denn das ist etwas, das ich in der Box angebaut sitzen werde. Also bin ich nicht einer für mich, und das erforderte. Dann würden Sie sich wahrscheinlich fragen. Okay, wenn ich
also im Hintergrund sitze,
störe mich für einen Augenblick, und das ist ein gültiger Punkt. Also dann lebte eine Mutter aus Behinderung ist, dass manchmal kann man eine andere Ansicht
Modelle für verschiedene Zwecke haben . Beispiel ZumBeispielkönnte
dies das Detailansichtsmodell sein, bei dem ich jedes einzelne Detail von Booten kürzen werde. Dieser Artikel Andi,
ich kann noch einen haben. Einige Leute teilen diese in verschiedene Dateien auf einige Leute. Verwenden Sie eine globale Datei auf nur die verschiedenen Klassen innerhalb dieser Datei. Also, das sind die Details Sport Details um. Dies ist das Detailansichtsmodell auf dann kann vor dem Erstellen Ansichtsmodell. Ich brauche das
Richtige nicht. Und für Details wäre dies nicht erforderlich, weil diese Anzeige so gibt es keine Notwendigkeit, Daten zu benötigen, da die Details, die Sie wirklich nur NATO zeigen. Dies ist eine kreative Sie Modellseite, nur die I D. Weil, naja, es gibt keine Ahnung zum Zeitpunkt der Erstellung, aber der Name ist für die Erstellung auf dann erforderlich. Vielleicht esse
ich zum Zeitpunkt der Schöpfung wirklich nicht das Date. Dies sind also kleine Dinge, die Sie mit Ihren Ansichtsmodellen tun können. Wie ich sagte, entweder auf ihrem Boot getönt, Menge von Daten, die der Ansicht ausgesetzt wird, die es erben wird, oder Zehe erhöhen die Menge von Daten. Nein, wenn wir tatsächlich die Ansichten und die Controller generieren, dann werden Sie voll und ganz zu schätzen wissen, warum wir diese harte Arbeit machen würden, denn Visual Studio erzeugt tatsächlich ziemlich viel off-court für Sie, wenn Sie die Gerüst. Und so, wenn Sie abgekratzt, sechs fühlt sich und Sie müssen nur, dann müssen Sie keine Zeit damit verbringen, sie aufzuräumen. Wenn Sie Gerüst oben auf Ihnen sind,
Modell, das Sie bereits entworfen Zehe haben nur die Felder, die Sie für diese bestimmte
Ansicht benötigen , dann müssen Sie nicht so viel Zeit damit verbringen, es zu reinigen, weil sie bereits Zeit verbracht haben sitzt auf dem View-Modell. Also ist es ein Huhn und Ei Art von Situationen, ein Cashflow in eine. Es ist egal, was Sie bevorzugen, wenn wir auf den Punkt aus Gerüst kommen, dann werden wir die wahre Macht aus den Ansichtsmodellen sehen. Ordnung, also für die anderen beiden Datenklassen, die sich auf das konzentrieren würden, was Sie glauben, Zuteilung und Geschichte verlassen, werde
ich View-Modelle erstellen, und ich bin buchstäblich nur gegangen, um eine direkte Abstraktion von der Datenklasse, und ich werde ihnen nur ein paar violette de son Attribute hinzufügen. Ich bin nicht ein Zeh verbringen Zeit aufzuräumen und Stadt oder BTS versus schafft. Ich lasse den Lead-Typ VM so, wie er ist, aber dann werde ich voran gehen und die Blattgeschichte machen und die Zuweisung anders belassen. Also gehe ich einfach voran und erstelle eine neue Klasse noch einmal auf dieser wird für den Urlaub Geschichte sein und ich rief VM an. Ich denke, füge hinzu. Dann werde ich nur noch einen für Urlaub Zuteilung tun. In Ordnung, also haben wir oder verlassen eine Standort-VM oder verlassen Geschichte und Zeit. GM-Dateien sind so für Urlaub Zuteilung. Wie gesagt, ich verstehe, eine direkte Kopie zu machen, dann werde ich nur die Datenanmerkungen ändern. Diese Attribute, die wir an der Spitze setzen, werden als Datenanmerkungen bezeichnet. Also für verlassen al Wertschätzung entfernt. Schlüssel sind mehr Fremdschlüssel, da diese in einer VM nicht unbedingt notwendig sind, daher sind sie in der Datenklasse absolut notwendig. Nun, sie sind dann im Ansichtsmodell nicht nötig. Sie sehen hier, dass die Ansicht Monat auf eine Datenklasse verweist, also versucht sie, auf die Datenklasse des Mitarbeiters zu verweisen und versucht, auf die Datenklasse des Blatttyps
zu verweisen . Aber im Idealfall möchten
wir nicht, dass Toby von einigen Modellen auf die Datenklasse verweist. Also haben Sie Model sollte mit unserem Ansichtsmodell sprechen auf braucht eine Klasse. Du fängst an, Klassen abzuschrecken, also haben wir diese Behinderung. Das bedeutet, dass ich ein Ansichtsmodell für Mitarbeiter einrichten muss, die ebenfalls so interessant sind, um
das schnell zu erstellen . Na gut, dann
weiter. Hier ist eine andere Situation, in der das Ansichtsmodell nützlich sein könnte, denn wenn wir einen Mitarbeiter
betrachten wollen , wo eigentlich, kann ich nicht einen Datensatz verwenden? Und wenn Sie sich an die Tabelle Benutzer erinnern, die eine schnelle Netzbenutzer ist, was unsere Mitarbeiter-Datenklasse erbt, so dass Mitarbeiter wirklich gibt uns alle diese Daten. Wir müssen wirklich nicht alle diese Daten anzeigen. Wir schauen uns einen Angestellten an. Wir brauchen wirklich nur vielleicht das I d. Der Benutzername die E-Mail-Adresse auf bestimmten Schlüssel. Ähm, es sind keine Daten, also hilft uns ein Ansichtsmodell wieder die Zusammenfassung. Bestimmte Dinge aus der Datenbankebene konzentrieren sich auf das, was wir wirklich sehen müssen, also
werde ich nur auf bestimmte wichtige Kraftstoffe beziehen. Ich d verwenden einen Namen e Mahlzeit auf diejenigen, die wir hinzugefügt, die es von Geburt verbunden werden. Vorname, Nachname auf Steuer I d. Also habe ich die Tageseigenschaften aus der Mitarbeiterklasse genommen, die wir angelegt haben. Nein, ich werde nur die anderen vom Tisch hinzufügen. Also möchte ich, dass dies auf der Seite sein, während ich tippe, so dass ich es für die Dauer aus meinem
a Durch meine Übung hier am Tag drehen kann , ich nur Zeit diese Quickie Nein. Eine Sache zu beachten ist, dass, während wir tippen oder wenn wir diese über tippen, müssen
wir sicherstellen, dass die Rechtschreibung, die die Datentypen gewonnen hat, viel Was sind in
der gut, die Datentabelle oder die Datenklasse. Also kann ich keine Zeichenfolge haben, die ihn hier benutzt, aber verweise auf char, der ihn hier benutzt, was scheitert. Das Mapping wird sich anfühlen, weil sie dann zwei verschiedene Eigenschaften auf sind. Dann wird es nicht wissen, dass das damit übereinstimmt. Also Abend Eingabe hält die i
D. D. Der Benutzername auf E-Mail. Ich am meisten der Fall und ich am meisten Daten Kapsel Environ Stern ist ich brauche eine B C Art String
zu sehen. Also muss ich sagen, String auf Hat den Namen verwendet Kamel gehüllt gehalten einen Fall Sie und Ende nach mir. Sicher, ich Großbuchstaben jeden und scheine für die E-Mail mit einem Großbuchstaben e auf. Dann werde ich vier Nummer hinzufügen, die das Ende dieser Übung sein wird,
so dass prob auf die volle Nummer als Umgebung char gespeichert wird Also für Nummer muss eine Zeichenfolge hier auf
Telefonnummer sein . Dies wird also tatsächlich helfen, die zugrunde liegende Klasse für Mitarbeiter zurückzumarschieren, die
Identitätsbenutzer ist . Also alles, was ich am meisten mit der Datenbank fertig bin, so dass ich einfach kriechen kann und ich bekomme, dass mein wirklich Zustand. Es ist immer gut, dass Sie beim Schreiben von Code nur Builds sprechen. Ich kann darauf hinweisen, wo du vermisst. So erkenne ich,
wissen, dass ich nicht zurück und korrigieren Sie die Epochen in der Urlaub Zuteilung VM so nein, Ich kann dieses Geschäft Mitarbeiter VM ändern und ich kann diese eine Zehe verlassen Das wird eine
Details Haus ändern. Entschuldigung. Das sollte einfach zurückgehen und überprüfen und sicherstellen, dass ich schreibe. Also war es Leave das über meine Daten. Lassen Sie Typ B. M. Also habe ich nur die Details verwendet. Da Details alles haben würden, was ich brauche, das in diesem Objekt Herz zurückkommen sollte und es keine Fehler gibt, dann weiß es nur, dass Leave Allokation. Veum sollte erwarten, dass einige Immobilien von Mitarbeitern vom Typ Mitarbeiter VM auf Urlaub Typ mit Details. Lassen Sie diese GM so noch einmal, dass wir durchgehen und verschiedene Ansichtsmodelle für
Mitarbeiter erstellen können. Wissen Sie, eine für die Betrachtung, eine für die Schöpfung, eine für diese. Dafür liegt
es an dir. Ich werde es in beide Richtungen krank machen und zumindest eine Vorlage haben und sehen, wie es
auf DSO funktionieren kann . Wir werden mit den leichtesten vorwärts gehen, also werde ich voran gehen und die Geschichte verlassen. Ich werde es schnell hier machen, damit Sie Positivität hier und versuchen, über
die Immobilie zu bringen ist selbst auf. Dann können wir gemeinsam weitermachen. Alles klar, also habe ich alle Eigenschaften überholt und das hat alle fehlerhaften Wünsche an das
entsprechende View-Modell oder die VM-Klasse geändert , dann natürlich all diese Attribute nehmen, müssen
wir
natürlich all diese Attribute nehmen,weil sie nicht am Kabel in ein paar Modell. Nein, wir können beginnen, einige Validierung hinzuzufügen. Jemand, der zurückgeht, um die Zuteilung zuerst auf zu lassen. Setzen Sie eine Validierung ein. Also ist die Anzahl von Tagen erforderlich, denn wenn sie das Formular ausfüllen und auf
der Zuteilung sitzen , müssen
sie die Zahl von diesen sehen, die wer auch immer es ist. In Ordnung, ähm, eine andere Sache, die die Urlaubsanweisung Tohave braucht, ist Zugriff auf die Liste Mitarbeiter und die Liste der Urlaubstypen. Wenn Sie bemerken, dass dies wirklich eins ist, ist
dies keine Liste. Dies ist eine Entität namens Mitarbeiter. Auf Dies ist eine Entität namens Leaf Type und mit dem entsprechenden I DS, rechts. Also, während es speichert, während die Datentabelle eine Mitarbeiteridee und einen
Urlaubstyp speichert , I D.
It . Wirklich. Wenn es dem Benutzer erlaubt, philo zu machen, muss er ihn in
der Liste aus einer Dropdown-Liste auf auswählen. Also müssen wir einen Mechanismus einschließen, der die Liste von den Elementen darstellt, die die Mitarbeiter
haben, und die Liste von Elementen, die die Blatttypobjekte haben, sind so zu tun . Dies wird, unserer Sicht, Modell auf Ich werde auf unzählige dieses Mal verwenden. Also und ich unzählige auf da waren mit einem Datentyp namens Select Mindest All right, Tim Onda. Wir werden das hier Angestellte nennen. Dies stellt also eine Dropdown-Liste von den Mitarbeitern in der Datenbank dar, und dann werde ich diese Bibliothek einfach einschließen. In Ordnung, weiter, dann machen wir das gleiche für den Überblättern-Typ. So auch die Angestellten. Und sagen wir einfach, wir haben Urlaubstypen. Also wieder, die Armen aus dem Ansichtsmodell, das wird die Ansicht gießen. Dies ist, was der Benutzer sieht, und was sie sehen müssen, ist eine Dropdown-Liste oder ein Formular aus der Liste, aus der sie eine
Auswahl verschlingen können . Also setzen wir in die Auswahl dies in unserer Ansichtsmodellklasse ein, weil sie bei den Datentypen, die hier unterstützt werden, viel
flexibler sind, als wir in der tatsächlichen verlassen Allokationsklasse, die verwendet wurde, um die Datenbank zu modellieren. Also haben wir das für die Urlaubszuweisung getan, und ich bin gut gekleidet, um die Geschichte zu verlassen. Wir werden nur überprüfen, dass auf wir hier sehen, dass alles in Ordnung aussieht, alle Mitarbeiter und die Details
geändert. Referenzen. Nun, dieser Schritt wird tatsächlich verwendet werden, um den Urlaub zu speichern. Referenzen sind Anfragen, eher Andi, ob sie genehmigt wurden oder nicht. Also dachte ich nur, wenn jemand eine Urlaubsanfrage ausfüllt, dann werden sie das Startdatum eintragen. Das Ende. Es, ähm auf Ben. Sie müssen den Typ „Off-Urlaub“ auswählen, den sie anfordern. Das bedeutet, dass ich eine Dropdown-Liste für den Typ brauche. Also werde ich nur das gleiche unzählige von der Urlaubszuweisung verwenden und es direkt unter
hier setzen , denn dann sind dies die Urlaubstypen darauf. Ich füge nur die fehlende Referenz ein. Und dann werde ich einige Attribute zu dem hinzufügen, was ich als erforderlich erachte, also Startdatum, das definitiv benötigt wird, wenn die Person Leave on anfordert. Das schließt diese Referenz schnell ein. Ähm, der Indy, es wird definitiv erforderlich sein. Der Brunnen, das ist alles, was nötig ist. Wirklich? Also kann ich die anfragenden Mitarbeiter bestimmen, oder wir werden feststellen, dass der Benutzer diese Informationen bereitstellen müsste, damit nicht die erforderlichen Andi erfüllen muss. Die beantragte acht Aktion. All diese werden in genehmigt gesetzt werden. Muss es nicht sein. Alsowissen
Sie, wissen
Sie, bei Fall für Fall wissen Sie, was erforderlich ist und was nicht, wenn Sie vorausdenken. Aber am Ende des Deals, können
wir immer zurückkommen und wir können Subtrahieren auf modifizieren hinzufügen, wie wir es für unsere Anwendung halten , fällt
er. Also, das ist es für die Einstellung der Ansichtsmodelle, zumindest für nein, das ist es. Ähm, nein, was wir tun müssen, Er ließ sich für Herbst oben. Also, wie ich schon sagte, wir brauchen einen Weg, um zu konvertieren. Die Daten, die in dieser Klasse bereitgestellt werden, geben in ein Objekt aus diesem Glas Schritte ein. Also, wenn es ein Urlaub Anfrage geht in. Vielleicht hätte ich einen besseren Job machen können, der in dieser Tabelle genannt wird, Geschichte
verlassen. Ich könnte sprunghafte Anfragen haben, aber lassen Sie uns einfach damit arbeiten. Also verlassen Geschichte, wenn ah Anfrage geht in diese Tabelle auf die Mitarbeiter. Alle diese Datenpunkte sind ausgefüllt. Sie sind keine Datenpunkte. , die die Datenbank erkennt, weil dies VM ist und die Datenbank nur
Glaubensverlaufstabelle erkennt , die von oder Datenklassen kommt. Richtig. Das ist es also, was es erkennt. Die Geschichte, nicht die Geschichte verlassen. VM. Das bedeutet, dass wir uns manuell hinsetzen und rekonstruieren, Geschichte, Objekt und Putting
verlassen und alle Werte, die von der VM im Schlepptau kommen, zuweisen können. Die entsprechende Datenklasse. Andi, das wird eine sehr mühsame Methode sein. Es funktioniert, aber es ist mühsam. Und so werden wir intelligenter arbeiten,
nicht härter . Also haben wir ein Werkzeug namens Autumn Upper, das tatsächlich die beiden Klassen betrachten wird, die wir
gesagt haben, dass diese beiden kartieren müssen. Diese beiden brauchen zu viel. Dann wird es viel die Eigenschaften miteinander. Das habe ich also gesagt. Sie müssen sehr vorsichtig sein und sicher sein, dass Sie viel im Fall und viel in den
Datentypen sind. Es wird nach Kapital suchen, unser Kapital e anfordernden Mitarbeiter. Ich bin drauf. Es wird sehen, okay, ich sollte Geschichte verlassen und ich mappe zu gehen. History V hat nicht dieselbe Eigenschaft. Okay, ich werde den Wert nehmen und ihn zuweisen, und das macht es automatisch. Also gehen wir einfach durch die Schritte aus und konfigurieren es auf. DWI kann danach vorwärts gehen. Nein, um den Herbst oben zu bekommen, werden
wir unseren neuen Get-Paketmanager verwenden, damit wir einfach zu unserer Lösung übergehen können . Entdecker, richtig? Klicken Sie auf Abhängigkeiten klicken Sie auf Neue Pakete verwalten und dann, wenn es fürchtet, landet auf der Installation Just Goto bro auf. Stellen Sie sicher, dass Sie Pre-Release aktiviert haben und wir werden nach Auto
Mahbubur suchen . Also werden wir aussteigen. Diese Bibliotheken würden Autumn Oper bekommen und wir werden Autumn
Oper Erweiterungen für Abhängigkeit bekommen . Injektion sind nicht so Wir werden darauf klicken. Wir können den Abwärtspfeil nur einmal anschieben. Lassen Sie das einfach herunterladen auf. Dann wird Newgate sein Ding machen, das Paket
holen und es in den Warenkorb legen. Platzieren Sie innerhalb des Projekts und dann, wenn das getan ist,
dann, wenn Sie zu installieren gehen, werden
Sie dort aufgeführt sehen So grenzenlose Antic sind die Suche klar. Aber nein. Sie sehen, dass automobile unter Ihren installierten Paketen aufgeführt ist. Wenn Sie auf Abhängigkeiten und Goto-Pakete gelöscht haben. Und du wirst auch die Autumn Oper sehen, die dort nicht aufgeführt sind. Also gehen wir zurück zu Breaux und ich suche noch einmal nach Autumn Upper, weil ich noch nicht
fertig bin . Also alle Term oben auf dann. Wir suchen das hier. Also suchen wir nach Erweiterungen. Microsoft-Abhängigkeitsinjektion auf. Was dann? Du kennst die Version für John Sieben nicht. erneut
sicher, dass die Vorfreigabe einschließen aufgeklebt ist. Ich weiß, dass das heruntergeladen wird. Ich habe beide in meinem Projekt, also kann ich einfach schwache Build aussehen. Es wird immer empfohlen, dass, sobald Sie ein neues Paket installieren oder so erstellen, dass Sie wissen, alle Referenzen sind irgendwie eingebacken. Also nur die Kontrolle verschieben und ein schnelles Bauen und unsere Gebäude komplett mit
Nullpfeilen und so können wir vorwärts gehen. Also, nein, wo wir die Referenzen haben, dass die Pakete Zehe Herbst oben, Aber nein, wir müssen unser Gericht wissen lassen, was mit Herbst oben zu tun. Das erste, was wir tun werden, ist, einen kleinen Ordner zu erstellen. Also, weißt
du, wir wollen unseren Kern ordentlich halten. Also jedes Mal, wenn Sie ein wenig Schnüre haben, sind kleine Klassen. Ich brauche Ketzer und diskret. Ein Ordner. Geben Sie ihm einen schönen Namen. Also nenne ich es so. Karten sind gut Wischen Zia auf. Dann möchte ich eine Klassendatei dort erstellen. Jemand, der diese Akte Auto my burn nennt. Alles klar, damit dieser Name nicht kollidiert. Das ist mein Name für meine Klasse. Also würde der Name dieses Wort wirklich abstürzen? Nein, innerhalb dieser Klasse, das erste, was ich tun werde, ist, von,
ah,
Datei oder einer anderen Klasse namens Profil zu erben ah, . Also werde ich das einfach tun. Und dann ein Lader Referenz dieses Knies immer noch setzen unsere Verwendung Herbst meine persönliche. Es bezieht sich auf unsere Bibliothek. Also, Herbst, eine Gefängnisbibliothek oder die Abhängigkeit, die gerade durch Sie hinzugefügt wurde, werden irgendwo darauf
verweisen. Dann werden wir einen Konstruktor für unsere könnte uns einrichten. Also vielleicht wäre das ein bisschen verwirrend, wenn ich da gab es den gleichen Namen. Also werde ich nur diesen Namen auf meinem Oberteil ändern. Also, anstatt unsere Abgüsse Herbst eine Primzahl zu nennen, wollen Sie es mein Oberteil nennen? Justo, entferne jede Verwirrung, richtig? Es ist also immer eine gute Praxis, dass
er, was auch immer der Klassendateiname ist, auch die Klasse im Inneren benennt. In Ordnung, also habe ich die Datei gerade in Mapper-Punkt CS in der Klasse umbenannt. Name ist muh für Andi weiß, dass ich über Konstruktor auf erstelle. Dann werde
ich in diesem Konstruktor die Mops erstellen, die in unserer Anwendung existieren sollten. Also lassen Sie mich einfach eine auf erklären, wie ich mitmache, jemand zu sagen, erstellen Sie alle richtigen, offenen Winkel Klammern. Und dann werde ich sehen, was zwei Klassen abbilden sollen. Siehst du, es ist irgendwie zu sagen, Willst du eine Quelle wollen? Ich will ein Ziel, richtig? Also, was ist die Quelle? Ich kann sehen, dass eine Quelle eine Datenklasse wäre. Also mal sehen. Urlaub Typ ist Anita Klasse. Also will ich das verwischt. So weiter. Dann hatte ich zwei Klassen, um Modelle für lyft-Typen von Details anzuzeigen, lassen Sie den Typ und die Schritte erstellen, die ich eins machen werde. Also möchte ich, dass die Blatttyp-Datenklasse, die meine Quelle
ist, meinen Details zugeordnet ist. Lassen Sie Typ Vertrauen tut mir leid und es ist Veum. Details lassen den Typ VM so, dass die Datenklasse, die unsere Quelle ist, zu meinem Ziel,
das mein Ansichtsmodell ist, abgewischt wird
und dann verstehen, alle diese Referenzen einzubeziehen, so dass
jeder über jeden Bescheid weiß . In Ordnung, also, nein, der Mopp weiß, dass er erstellen sollte,
ähm, oder wir schaffen einen Mopp zwischen der Quelle, die unsere Datenklasse ist undsind Zielklasse auf. Dann schließe ich die Zahnspangen an, dann Semikolon. Nein, die Sache mit Herbstoperen, die es buchstäblich tun wird Quelle das Ziel, was bedeutet, dass, wenn ich versuche, Daten von hier zu speichern, dann werden Sie wissen, dass es auf der Richtung basiert. Also hat es, ah, Funktion. Also nach dem Öffnen und Schließen, sagte
sehr Site Express, dass Und dann möchte ich eine andere Funktion namens Reverse Map aufrufen, die dann sehen wird, dass es in beide Richtungen abgebildet werden kann. Auf diese Weise muss ich nicht eine Nacht machen und dies zu dem und dem zu diesem Recht sehen,
das sollte sagen, Datenklasse, Datenklasse, der U-Motor auf View-Modell zur Datenklasse, Reverse-Mop mit automatisch wissen, dass das gut ist, Jede Richtung ist in Ordnung von mir. In Ordnung, also kann ich das mit den Details machen und dann, ERM bewusst für GM. Also, wo Details, wo. Erstellen Sie Urlaubszeit. Also müssten wir es definitiv tun, weil wir erwarten, dass Herbst-Obermaterial eine Karte von
dieser späteren Klasse zu diesem Ansichtsmodell bemerken wird . Also müssen wir hier Modelle sehen, und für jedes View-Modell, das wir haben, müssten
wir es diese Woche tun. Das habe ich also gesagt. Sie können Ihre Ansicht ausbrechen,
Mütter, Mütter, sehr spezifisch für den Typ von Ihnen
zu sein, oder Sie können einfach eine globale eine tun, so würde dies einmal getan werden. Was ich jetzt tun kann, ist, diese Zeilen dann zu duplizieren, richtig? Alle anderen Karten für die Geschichte, Zuweisung auf Mitarbeiter. Also mache ich nur eine Zehenpause und mache das. Und Sie können hier auch am Tag pausieren versuchen und es tun, bevor ich fortzusetzen. In Ordnung, also bin ich fertig. Ich habe gerade diese Zeilen dupliziert und alle Namen aus der Datenklasse im
Ansichtsmodell auf De geändert , wobei die umgekehrte Karte beibehalten wurde. Das ist also so ziemlich alles, was wir brauchen. Und für jede andere Datenklasse und jedes andere Ansichtsmodell, das jemals eingeführt wird. Wir müssen es nur zu dieser Liste von Mom Pings hinzufügen. Also der nächste Schritt ist Toe tatsächlich lassen oh, unsere Middleware oder Donna Core Anwendung initialisieren Herbst oben. Und diese Karten gingen in für die Anwendung läuft, so werden wir das tun, indem wir tor über CS-Datei
starten und dann müssen wir einen neuen Dienst hinzufügen. Also lassen Sie mich einfach etwas Platz hier setzen. Also haben sie diese drei Dienste für über unsere Gegenwart für Repository hinzugefügt. In Ordnung, also, nein, ich werde noch einen hinzufügen, und ich werde das hier für unser Herbst-Obermaterial treffen. Also werde ich sagen, Dienste Punkt auf dann werde ich sehen Odd Motto,
ma, ma, für keine Ankündigung die inter sin gestoppt. Und das liegt wahrscheinlich daran, dass Sie eine Bibliothek einschließen müssen, um diese Funktion zu erhalten. Aber lassen Sie mich einfach beenden, es alt zu tippen, bevor wir gehen und etwas hinzufügen. Also sehe ich im Herbst oben an. Dann werde ich sagen, tippen Sie auf, dann in Klammern. Ich werde den Namen aus der Klasse sehen,
den wir als Marker hatten. Also denken Sie daran, dass wir es Ma Per genannt haben, das vorbei ist und es ist in dem neuen Raum oder in
voller meiner Pings. Also Mopp er aan den, das wird hier sein. Also nein, wir müssen einige Referenzen hinzufügen, die ich sagen muss, mit Autumn Oper zuerst, damit dieses gezeigte
Telefon erkannt wird. In Ordnung, also haben wir ein bisschen ein Kinderspiel, weil wir anrufen oder Klasse Mop er, aber es sollte wirklich nicht diesen Namen haben, weil Mapper Noah Conflicting Klasse ist, also werde ich es stattdessen Karten nennen. Also gehe ich zurück zu meiner Datei, die meine obere ist, diese CS, und ich werde diese Datei tomaps umbenennen. Also die Beschichtung mit den Studios, dass, wenn Sie die Datei umbenennen, wird
es fragen, ob es durch und wirklich in den Klassen unter Referenzen drinnen
gehen sollte , so iranische entfernte Mops. Und so hat es automatisch die Klasse und den Konstruktor umbenannt. Zwei Karten für mich, also verstehe, um zu sehen, ob das zu meinem Startup zurückkommt und stattdessen werde ich sagen, tippen Sie Mops direkt auf . Dann, wenn ich die Referenz einfüge, wird
es mich fragen, ob ich die Referenz in diese Datei einfügen möchte, die diesmal meine Klassendatei ist. Also lassen Sie uns einfach überprüfen, was wir gerade getan haben. Wir fügen also einen neuen Dienst hinzu, und wir sehen, dass, wenn Sie wissen, dass unsere Kernanwendung gestartet wird. Wir wollen einen Dienst, der auf Herbst obere Konfigurationsdatei im Typ aus hinzufügt oder diese Mops-Datei auf dieser Maps-Datei oder Klasse aus unserer Konfiguration kommt, die wir
mit allen Mops gemacht haben . Also, nein, Am Ende dieser Übung, wenn wir tatsächlich unsere Operationen mit einer Ansicht Modelle ausführen, erhalten
wir Daten und wir müssen sie von der Ansichtsmodellversion in die Daten konvertieren Klassenräume auf, weil ehrenvolle Repository nicht nach Ansichtsmodellen sucht nach Datenklassen. Also müssen wir die Daten im Ansichtsmodellobjekt in Schleppdaten speichern, die
im Datenklassenobjekt gespeichert sind, das an das Repository und durch Erweiterung,
die Datenbank übergeben werden kann,konvertieren im Datenklassenobjekt gespeichert sind, das an das Repository und durch Erweiterung,
die Datenbank übergeben werden kann, . Und so Herbst-Obermaterial wird diesen Prozess einfach erfüllen. Also haben wir kein Automobil gesehen, und eigentlich saßen
wir einfach nur auf eine Wertschätzung ab, warum wir View-Modelle brauchen und warum wir Autumn Oper brauchen. Wenn wir dann unsere Controller einrichten, werden wir sehen, dass beide wirklich ausgeschaltet sind.
14. Übersicht und Änderungen in GitHub: Hey Leute, in diesem Video werden
wir über Veränderungen aufdecken oder bis zu diesem Punkt gearbeitet haben. Onda. Wir werden unser Projekt hochladen, um aufzustehen. Lassen Sie uns nun beginnen, indem Sie überprüfen, was wir bis zu diesem Punkt mit unserem Projekt getan haben, haben
wir über Repository-Klassen eingerichtet, die wir eingerichtet haben oder Datenbankverbindungen. Wir haben ein paar Ansichtsmodelle eingerichtet. Beginn der Autumn Oper. Wir haben unsere Controller nicht berührt und unsere Ansichten noch nicht berührt. Aber zumindest haben wir das Imperium getan, zu dem Modell ist, das ist eine datenbezogene Operationen? Nein, es ist immer gut, relativ kürzere Kegel vor dem zu halten, was du tust. Das bedeutet, dass Sie etwas implementieren, Sie checken es ein. , Quellcodeverwaltung soll Teams dabei unterstützen,
selbst als individueller Entwickler zusammenzuarbeiten um Ihnen dabei zu helfen, den Überblick zu behalten, was Sie gerade tun. also wichtige Änderungen vornehmen oder etwas Neues implementieren, Wenn Siealso wichtige Änderungen vornehmen oder etwas Neues implementieren,möchten
Sie es einchecken, weil irgendetwas auf Ihrem lokalen Computer passieren kann oder wo immer Sie
es sind, wenn Sie es in die zentrale -Repository. Zumindest haben Sie eine Sicherungskopie aus den letzten Änderungen, die vorgenommen wurden. Also unsere Source Control Engine off choice ist Ghetto Bob auf dit ist eine Cloud-Plattform und Sie würden oder hätten ein Konto bereits erstellt. Und wenn Sie es nicht haben, dann können Sie einfach und ich werde einfach abmelden mein Aufstehen schnell. Wenn Sie gehen, um Hoffnung dot com zu bekommen, dann werden Sie ein Anmeldeblatt direkt hier auf der Titelseite gegeben werden. Dies bieten eine einzigartige mit neuen Ihre E-Mail-Adresse und ein Passwort und Sie sind in. Wenn Sie bereits ein Konto haben, können
Sie fortfahren und sich anmelden, und dann erstellen wir ein Repository für unser Projekt. Nein. Sobald Sie sich bei unserer Anmeldung angemeldet haben, können
wir mit Visual Studio Onda fortfahren. Wir können voran gehen und fügen Sie diese Projektquellensteuerung, so dass Sie zwei Möglichkeiten haben, dies zu tun. Sie werden in der unteren rechten Ecke bei Projekt zu Quellensteuerung an der Quellcodeverwaltung sehen und Sie klicken, dass und Sie sehen Geschenk oder Sie können mit der rechten Maustaste auf die Lösung klicken und Sie werden eine
Option sehen . Das ist seine Anzeigenlösung für die Quellcodeverwaltung. Nun, wenn Sie keines sehen oder Sie nicht sehen wird, dann bedeutet das, dass Sie nicht laden müssen, bekommen es normalerweise mit Visual Studio kommt, aber vielleicht ist etwas schief gegangen und Sie haben es nicht verstanden, also können Sie immer gehen Sie einfach toe get dash s c m dot com oder Sie können Google es zumindest gut sind . Ich war nicht Fire bekommt auch dash SCM dot com, und Sie können einfach zu Dawn Lords auf gehen, dann einfach den Don't Lord ankreuzen. Wenn Sie Windows natürlich verwenden, dann ist das genau das Richtige für Sie. Aber Sie können nach Ihrem Betriebssystem auf wählen. Sobald Sie das installiert haben, können
Sie Ihrem Computer möglicherweise einen Neustart geben und dann Ihr Projekt erneut öffnen. Dann sollten Sie sehen, dass Icahn als Option erhalten, also werde ich voran gehen und klicken. Holen Sie sich das bei der Quellensteuerung und ich nehme es an. Und was es tut, ist ein lokales Repository zu erstellen, also erstellt get zwei Repositories, aber get erstellt ein Repository auf der Maschine, auf der es ist,
also, wenn es auf Ihrem Computer ist, dann haben Sie ich Repository auf Ihrem Computer. Aber dann ist Visual Studio auch sehr eng integriert, mit Remote Source Control Hosting Plattformen wie Gitarre, so wird es zwingen, Änderungen zu speichern, bevor es drei Paluch lokal erstellt. Aber dann fragen Sie auch, wo möchten Sie das Backup von Ihrem lokalen Get Cord Wörter erstellen? Es hat eine lokale Kopie von Ihrem Kabel erstellt, so dass Sie eine lokale Kopie aus haben. Ihre Änderungen verfolgen lokal Ihre Änderungen. Aber nein, es ist gefragt. OK, willst du es als deine div up Dienste schieben? Oder möchten Sie die Ghetto-Bar benutzen? Ein anderer Typ aus erhalten Remote-Repository. Also dann wird es Sie fragen, dass auf Cent mit Gitarre, weil das ist meine Waffe der Wahl für dieses Tutorial, jemand zu sagen veröffentlicht, um Hub zu bekommen. Zu diesem Zeitpunkt werden
Sie möglicherweise aufgefordert, sich anzumelden. Weißt du, ich benutze so ziemlich das gleiche Log in Schlepptau. Binde alles zusammen, damit es mich nicht wieder gefragt hat. Er weiß, wer ich bin, also werde ich nur den Namen Leave Dash Management verlassen. Sie können eine Beschreibung eintragen. Wenn Sie möchten, können
Sie auf Veröffentlichen klicken,
Also, wenn Sie ein privates Repository wählen, dann werden die Leute nicht in der Lage sein, es in Ihrem Profil zu sehen, so dass Sie Personen manuell hinzufügen müssen, dann könnte das entstehen Kosten, wenn Sie zu vielen Menschen hinzufügen müssen. Aber dann, wenn du es öffentlich lässt, dass jeder sehen kann. Also, natürlich, wissen
Sie, wenn Ihre sensiblen Informationen es wollte öffentlich für Aber für den Zweck dieses Tutorials möchte
ich es öffentlich lassen, damit Sie sich mein Profil ansehen können, gehen Sie zu meiner Gitarre -Profil und sehen Sie den Quellcode. Wenn Sie eine Verstärkung außerhalb benötigen, was in diesen Lektionen getan wird, also werde ich voran gehen und auf Veröffentlichen klicken, und dann wird es etwas Magie funktionieren. Dann am Ende wird das aktualisiert und zeigt mir, dass das Repository
erfolgreich erstellt wurde . Andi. Es gibt mir einen Link zu diesen Repositories. Wenn ich auf diesen Link klicke, dann wird es Bro das Repository unettable mit allen außerhalb des Gerichts, dass ich
bis heute geschrieben habe , Sisi wurde erstellt. Das letzte Commit war vor zwei Minuten. Wenn ich in den Ordner gehe, an dem ich alle meine Ordner und Dateien sehe, an denen ich
gearbeitet habe , und so dass dies ein nettes Reue Pferd ist, Version von meinen Gerichten Wenn mein Computer abstürzt, richtig? Nein. Dann kann ich wieder
kommen, aufstehen und die neueste geprüfte Inversion bekommen. Deshalb sage ich, dass es wichtig ist, es einzuchecken, wenn Sie wichtige Schritte in
Ihrem Zitat machen . Es ist auch eine gute Praxis. Das Huhn hat angerufen. Das funktioniert, denn wenn Sie in einem Team arbeiten, bei dem Sie keinen Fehler haben möchten, versuchen
Sie, diese Ära einzuchecken. Dann kommt jemand anderes mit und bekommt deine Schnur. Das nennt man „Check out“, wenn sie hier sind. Und dann haben sie Arisa-Anwärter, die deine Schuld waren, richtig? Also immer Hühnercode, dass Ihr Ufer arbeitet und dann bewegen Sie sich vorwärts. Also, das ist ein netter Weg, Snow von hier aus zusammenzuarbeiten, und ich kann einfach von hier aus entlassen. Ich kann weitere Informationen erstellen hinzufügen. Ich habe mich gelesen, damit Sie wissen, wenn die Leute auf diese Akte oder diese Geschichte stoßen, wissen
sie genau, was es ist ein Boot. Ich kann beschreibender sein,
indem ichoben auf der Seite
eine Beschreibung hinzufüge,
also ist dies keine Beschreibung. oben auf der Seite
eine Beschreibung hinzufüge, Er weiß nicht, was es ein Boot ist. Er kann ein Wiki hinzufügen So dass Personen, die mich, Sie wissen, das ist eine Open-Source-Plattform. Vielleicht kreieren Sie etwas, das Sie mit Menschen teilen möchten. Sie können eine böse erstellen, das ist wie ein Problem deaktiviert Protokollierung O r Problem, Andi Lösung Art von Dokumenten. Wenn es ist, dass Sie mehr Menschen hinzufügen möchten, Toby, Mitarbeiter sind Mitwirkende zu Ihrem Projekt, und Sie können zu Einstellungen gehen und Sie können zum Mitarbeiter gehen. Also das. Also richten Sie ein Teamprojekt ein. Er hat zu Kollaborateuren gehen, und dann können Sie sie einfach finden, indem Sie ihn und an ihnen benutzen. Und dann wären
Sie in einem Team, das an diesem zentralen Repository arbeitet. In Ordnung, so ist es so ziemlich, wie Sie Ihren Platz vom Visual Studio in die Wanne bringen. Dann, wenn wir weitergehen und wir jedes Mal mehr Modelle gebaut
haben, werden wir sicherstellen, dass diese Änderungen einchecken und dieses Repository acht
15. Richten du die Regler und Aktionen ein,: Hey, Leute. In diesem Video beginnen
wir mit dem Aufbau unseres Blatttyp-Management-Moduls, und wir werden mit den Controllern beginnen. In diesem Video werden
wir einen neuen Controller für unser Blatttyp-Management erstellen, bevor ein
Kontinuum ein wenig Zeit damit verbringen sollte, ganze Controller-Arbeit zu erklären, oder welche Regel? Die Plädoyer sind nicht so. Der Controller tut genau das, was sein Name andeutet, dass er kontrolliert. Es steuert den Fluss zwischen der Anforderung eines Benutzers auf den Inhalt an einem Servo. Infolgedessen ist
es an der Spitze jeder Web-Interaktion mit Ihrer Anwendung. Also die Projekte, als wir es erstellt haben, kamen mit Home Control sind bereits da und bereit für den Einsatz. Und Sie? Wir verbringen einige Zeit damit, zu erforschen, wie es funktioniert. Wir sehen, dass Zuhause wirklich der Name außerhalb der Gegend ist. Aber dann ist das Muster, dass wir ah Namen und dann den Wortcontroller haben. Es ist immer Kamelgehüllt Andi. Der Controller erbt von einer Basisklasse namens Controller, die vom Projekt bereitgestellt wird. Der Controller hat bestimmte Funktionen, die Aktionen auf aufgerufen werden. Diese Aktionen haben Namen auf der Rückkehr Jagd basierend auf der Notwendigkeit. Also, obwohl sowohl Index als auch Privatsphäre Rückgabeansicht sehen. Was wirklich passiert, ist, dass, wenn Sie Inhalte für die Indexsprache vom
Home-Controller anfordern , als diese Aktion getroffen wurde und die Ansicht zurückgeben sollte, was es
dann wirklich tut, wenn es zurückgegeben wird, Ansicht ist, dass es in die Ansichten Ordnerüberprüfungen. Wenn es einen Ordner mit dem gleichen Namen wie ein Controller gibt, so dass der Controller-Name ist zu Hause. Es muss einen Ordner namens Home On geben. Dann muss es von Ihnen mit dem gleichen Namen Index sehen, was es tut. Es muss eine Datei sehen, die ah Punkt CS Isham der Datei auf ist. Dann gibt es den Inhalt von dieser Datei auf, die der Benutzer sieht. Um damit zu beginnen, unser Modell zu erstellen , müssen
wir die Menge einrichten. Operationen sind auf der Blatttyp-Management-Klasse sind eher Tabellen, so dass der erste Schritt ist, einen Controller einzurichten. Und dann werden wir anfangen, die Ansichten einzurichten, ihre Aktion im Controller. Also fangen wir an. Um einen Controller zu erstellen, klicken
wir mit der rechten Maustaste auf den Controller-Ordner, wir gehen zu hinzufügen. Dann sehen wir oben auf der Liste. Wir haben Controller, so wählen wir, dass auf, dann wurden die Optionen oft leeren Controller gegeben. So sehen Sie, Home Home hat einige genannt Wir können es leer bekommen,
was bedeutet, dass es nur als ein grundlegendes Zeug der Namensraum, die Bibliotheken auf der Tatsache, dass es eine Klasse ist, die heißt, wie wir es von der
Kontrolle erben . Und dann machen wir den Rest, damit wir leer wählen können. Wir können eine mit Leser in Aktion wählen So kommt es gestoppt mit den grundlegenden Crowd-Aktionen wie ich sage, dass wir die Aktionen sind diese Funktionen auf jede Interaktion mit der Anwendung ist hier wirklich überfüllt, dass das Erstellen, Lesen, Aktualisieren unserer Löschdaten richtig, damit wir es mit dem grundlegenden, aber generischen bekommen können und natürlich müssen wir das Kabel
dafür schreiben . Oder wir können den NBC-Controller mit Ansichten mit Entity Framer weitermachen. Also was? Dieser macht es. Ich sinkt. Wir
auch . Erstellen Sie einen Controller zentriert um eine vier Datenklassen,
den Raum, in dem wir falsch gelaufen. Wir haben Datenklassen in diesem Fall erstellt, lassen Sie Typ, und dann wird es alle von den Crowd-Operationen mit Entität für Ihre Also ich werde dies zuerst auf der Nummer eins tun,
um Ihnen zu zeigen, warum dies nicht derjenige ist, den wir gehen , um vorwärts zu drücken. Also das im Grunde verehrte Gebäude eine dominante Kernanwendung, die Sie keine
Repository- und View-Modelle und all diese ausgefallenen Dinge verwenden . Dann wäre dies die Option, mit der Sie gehen, wo Sie einfach dies auswählen. Sie klicken. Fügen Sie das in diesem Dialogfeld hinzu, wählen Sie die Modellklasse aus. So können Sie in der Liste eine beliebige Klasse auswählen. Andi, In diesem Fall werde
ich mit Urlaub Typ gehen. Es ist also der Typ, der aus dem Datennamenraum lionisierte Datenklasse kommt. Dann wähle ich den Kontext, der Anwendung Devi Kontext Andi sein würde. Ich habe keine Berührung etwas anderes,
aber beachte, dass es das Steuerelement erzeugt und für mich weiß es, dass es einen
Controller baut, der auf der Modellklasse aus dem Blatttyp basiert. So ist es verlassen Typen Controller. Dann klicke ich auf Hinzufügen Und wenn dieser Prozess abgeschlossen ist, haben
wir einen Controller mit viel generiertem Code. Also haben wir einen Controller mit viel Gericht und wir haben auch einen neuen Ordner in unseren Ansichten namens Leave Types of About a leave Typen steuern jetzt, dass ein Ordner namens Leave Types mit einer Anzahl von Dateien ein für jede aus den krähten Operationen sind in, also erstellen Sie die Leads, Details und Index würden vor dem Lesen und Editor vor dem Upbeat. Nun, wenn wir uns das Kabel ansehen, das in diesem Controller generiert wurde, sehen
wir, dass es unsere Anwendung DD-Kontext enthält
, der, denken Sie daran, ist wie über Gateway zur Datenbank. Ich sehe, dass es initialisiert. Ist es nur die gleiche Art und Weise, wie wir es in oder Repository initialisieren? Und wenn Sie weiter untersuchen, was da ist, sehen
wir, dass wir eine Aktion namens Index haben. Aber wir haben eine Datei in unseren Ansichten Ordner Blatttypen namens Index. Also für jede Aktion, die in unserem Controller generiert wurde, haben wir eine entsprechende
View-Datei für diese Aktion. Also sehen Sie, dass ich meine, es ist ziemlich viel von der Werbung für Sie, dass Sie zu schaffen, um zu sehen, ist,
Ihnen den Vorarbeiter zu geben , und der andere befasst sich mit der Submiting-Aktion. Also, nachdem Sie das Formular ausfüllen und dann klicken Sie auf. Reichen Sie diese ein. Http Post Version off create behandelt die Daten unberechenbar, hat und führt alle Pre- und Post-Prüfungen durch, die es dasselbe tun muss, kann über die
Bearbeitung gesagt werden . Wir haben den Editor und wir haben das Formular auf der entsprechenden Datei, aber wir haben auch die Post-Version aus der Aktion. Also wirklich interessiert genug, dass das Gerüst die Mehrheit von der Werbung
für dich gemacht hätte . Und dann fragen Sie sich wahrscheinlich, warum
also die Mühe mit dem Repository, wenn wir alle aus der Partitur generieren können? Nun, die Tatsache ist, dass ja, es erzeugt, ja, es wird funktionieren. Aber dann gibt es bestimmte Einschränkungen oder Einschränkungen für das, was Sie wirklich tun können, bestimmte Validierungen, die Sie erzwingen können, weil denken Sie daran, dass wir die
Beta-Klassen und Erzwingern und Validierungen wie Länge nicht berühren möchten , und Sie wissen bestimmte kleine Dinge, die der Benutzer sehen sollte. Wir wollen irgendwie schaffen, dass leben von Hindernissen zwischen niemand Benutzer sieht und was die Datenbank erlebt. Deshalb haben wir Ihre Modelle, die die Ansichtsgenerationen behandeln, und wir haben die Datenklassen, die die Interaktion mit den Datenbienen verarbeiten. Das ist, worum es bei
diesem Muster geht, indem es die Abstraktion lebt und Fähigkeit. Also, was ich tun werde, ist, dass ich diese einfach entfernen werde. Also ja, ich habe es erzeugt. Ich habe gerade Ihren Gastgeber gezeigt. Gerüste arbeitet jemand, um den Controller in der Höhle zu löschen. Ich werde diesen Ordner auch entfernen. Also gab es diese nie, soweit es mich betrifft. Also ist die Demo vorbei, und nein, wir machen die richtige Arbeit. Also gehe ich zurück zu den Controllern zu Recht klicken Sie auf Controller hinzufügen. Und dieses Mal werde ich nur einen generischen Controller mit lesengerechter Aktion machen. Es gibt also nichts, was in diesem geerbt wird. Es ist nur General dran. Wir werden die Lücken füllen und die Ansichten generieren, während wir weitergehen, also erstelle ich das mit Leser bei Aktionen bei wie Add on. Dann werde ich ihm den Namen geben lassen Typen auf Troller,
also klicken Sie auf hinzufügen, so sobald das fertig ist und wir am Ende mit einem sehr generischen aussehenden Controller, es gibt nichts Spektakuläres hier. Ja, es gibt etwas Qualität. Geben Sie uns alle von den Aktionen, die die beiden schaffen tun und es ist etcetera. Aber wenn man in sie hineinschaut. Sie alle sind leer. Das einzige, was sie wirklich haben, ist die Rückkehransicht. Also werden wir
zuerst diesen Controller einrichten, der unsere Repository-Klasse erbt. Die Sache mit der Abhängigkeitsinjektion ist, dass Sie nicht tatsächlich auf die
Klasse selbst verweisen . Aber Sie referenzieren nur die Inter Gebühren, die implementiert oder die die Klasse
implementiert hat . Und dann ist eine weitere Dimension, dass wir auch auf die Autumn
Oper verweisen müssen , die wir benutzen werden. Also werde ich mit einem Privaten anfangen,
Uh, Uh, wir können dich nur lesen lassen, aber ich werde es nur zum Beten bringen. Ich werde sagen, ich verlasse Typ-Repository, und dann natürlich war es, mich zu bitten, die Referenz für diese Datei etwas entfernt hinzuzufügen . Wenn ich einen Hinweis auf diese Referenz hatte, dann werde ich diesen Bericht anrufen. Also unterstreichen Sie Berichte. Denken Sie daran, wenn Sie privat haben, verwenden
wir einen Unterstrich. Das ist nur eine kleine Namenskonvention umwerben Konvention, die uns hilft zu Recht, was aktuell ist. Also werde ich es nur dort lesen lassen,
sagen, ich sollte dich nur lesen lassen, ich mache es nur lesen. Also, das ist für die erneute Umfrage auf, dass. Ich bin nur in, um dies zu duplizieren und ich werde einschließen, ich mop er auf, dann ging diese eine ma oben auf nennen. Dann werde ich diese Referenz machen. Auch mit Herbstoper wurden diese Referenz für I Mopp enthalten. Also das ist eine Demo aus. Was Abhängigkeitsinjektion wirklich ist. Die Abhängigkeitsinjektion referenziert also nur ein Objekt, und sie impliziert, welche Abhängigkeiten für dieses Objekt vorhanden sind. Also verweise ich hier auf die Einmischungen. Aber dann kennt diese Schnittstelle die Funktionen, die aufgerufen werden müssen, und durch Erweiterung ruft sie in die Repository-Klasse auf. Also, ja, das ist ein Bissen voll. Das ist etwas akademisch. Aber lass uns einfach durchgehen und sehen, wie es funktioniert, richtig? Also brauche ich einen Konstruktordienst mit dem Schlüssel. Der Hai würde Sitz sind aan den. In diesem Konstruktor wird erwartet, dass
ich zwei Parameter übergeben werde, einen für das Repository und einen für meine Mutter oberen. Richtig? So wie wir den DB-Kontext gemacht haben. Wir machen das, aber dann ziehe ich hier die Unterstriche ab. Also das ist, ich verlasse Reporter und ich bin Obermapper Andi drin. Aus diesem, werden
wir wissen, initialisieren Bericht, um den Wert von der so Unterstrich re Gift zu haben, um den Wert von unserem Parameter re Pool auf dem Schwarm oben wird den Wert aus oder
Parameter mop er haben Und so haben wir gerade abgeschlossen bilden einige Teile von Abhängigkeitsinjektion im Schlepptau, diese neue Steuerung so für immer kontrollieren, dass wir für jeden Bericht tun werden, den
wir brauchen werden. Wir müssen diese Zeilen machen. In einigen Controllern werden wir wahrscheinlich einige Funktionen aus dem Ich verlasse Typ-Repository sowie
dem Mitarbeiter es Repository benötigen . Also müssen wir sie genauso einschließen, wie sie in unserem
Konstruktor initialisiert werden. Nun, mit dem erledigt, hätte
ich die erste Einrichtung von diesem Controller abgeschlossen. In dieser Feinstaubstunde gibt es nicht viel zu tun. In der nächsten Lektion beginnen
wir mit der Einrichtung oder Indexansicht. Ordnung, also im nächsten Video, werden
wir von hier weitermachen. Aber wenn Sie das abgeschlossen haben, dann gute Arbeit
16. Einrichten: Hey, Jungs, Willkommen zurück in diesem Video, wir werden anfangen sitzen oder Index Aktion auf Sicht für Relief Typ Controller. Jetzt haben
wir bereits eingerichtet oder Controller und wir enthalten. Unsere Abhängigkeit ist in der Form vom Leaf Type Repository und über Mapper. Und nein, wir müssen etwas Geld vor Gericht schreiben, so dass, wenn jemand Brose an die Blatttypen
Controller ist oder Typ Sprache zu diesem Modul zu überlassen. Das erste Stück, das sie sehen werden, ist Index, und wir müssen ihnen etwas auf der Indexseite zeigen. So wie es steht, haben
wir keine Sicht. Nein. Was? Wir haben keinen Ordner, der entspricht. Ist der Blatt-Typ-Controller eingeschaltet? Wir haben keine Inhalte zur Anzeige. Also sind wir Zehe einen Schreibcode gegangen, den wir die Datenbank abfragen, erhalten alle Blatttypen in der Datenbank auf, dann geben Sie eine Ansicht zurück, die dies bitte alle diese Datensätze, Es ist vorbei, Benutzer. Also das erste, was ich tun möchte, ist tatsächlich alle Urlaubstypen zu finden. Also, innerhalb der Aktion, werde
ich mein Repository-Objekt in Form von Unterstrich Re ziehen auf. Ich werde die Funktion aufrufen, die wir definieren, die alle von den
Urlaubstypen zurückgeben soll , weil der Index eine Liste von den Urlaubstypen sein wird, die in der Datenbank sind . Also werde ich Vier verwenden, um eine Variable zu definieren, und ich rufe Urlaubstypen auf. Dann werde ich es gleich machen, was auch immer über Reportpunkt ist, und wenn ich sage, nicht verwenden
, beachten Sie, dass wir alle Funktionen abbekommen, die Bean innerhalb unserer Leaf Type
Repositories definiert haben , möchte ich alles finden, weil ich alle von ihnen zurückgebe. Also werde ich nur sehen, wie Leute es nicht herausfinden. Also, was auch immer dies zurückgibt, wird innerhalb von off-leave Typen gespeichert. Keine Anmerkung, dass diese Funktion alle finden, gibt eine Sammlung aus Urlaub Typ Objekte. Es gibt keine Urlaubstyp,
Ansicht,
Modellobjekte zurück Ansicht, . Denken Sie also daran, dass wir durch die Tatsache gegangen sind, dass unsere Ansicht Ansichtsmodellobjekte erhalten muss, nicht die Datenobjekte. Also nein, wir müssen abbilden, was in einem Formular aus unserer Datenklasse oder View-Modellklasse zurückgegeben wird. Also werde ich Feuermodell auf dem Modell speichern wird die markierte Version von
den Daten so weit darstellen , Mutter wird gleich Zeh oder Mopp er Objekt Punkt Mopp sein und dann Karte ich senkt uns zu definieren , dass diese oder wir haben eine Quelle bedeutet, dass wir in dieser Situation die Datenklasse erhalten. Aber wir wollen der andere sein, also werden wir sehen, was die Quelle ist und was das Ziel ist unser, was wir bekommen, was wir wollen. Der Dreck, Toby Am Ende sollten die gemappten Ergebnisse am in der Operation sein. Er ist immer dran. Dann bekomme ich tatsächlich eine Liste davon. Also, das kommt tatsächlich zurück. Wenigstens ist es einige meiner Sammlung. Aber wenn wir zurück zur Funktionsdefinition auf gehen, hielt
ich nur die Kontrolle und für unclipped und ich ging, um alle zu finden, und ich kann mit der rechten Maustaste klicken Oder eher lassen Sie mich einfach zu meinem Blatttyp-Repository gehen auf. Wir sehen hier, dass oder finden, dass alles zumindest richtig zurückkehrt. Also werde ich sehen, dass ich will, dass mein Oberer dieser Mopp die Liste aufnimmt. Dann ist die Liste vom Typ verlassen Typ, weil das zurückgegeben wird, um Typen zu verlassen Es ist eine Liste aus, buchstäblich. Lassen Sie den Typ aktiviert. Dann ging ich zu Komma und dann möchte ich die Liste von der Datenklasse abwischen. Lassen Sie eine Liste aus unserer A-Liste von unserem Urlaub geben Sie das M-Objekt ein. Denken Sie daran, das waren auch. Also habe ich Tool auf Dime erstellt, um die Details zu verwenden, verlassen VM Also ich denke, dass man gut für diese Situation ist. So Details verlassen, dass VM Alles in Ordnung, So ist es, wie Sie verteidigt seine direkte Wortliste, und dann öffnen Sie eine Onkel Klammer, und dann geben Sie den Datentyp, den die Liste haben sollte, Also kann dies nach in sein camber vom Typ string. Oder es kann ein Objekttyp sein, wie in diesem Fall, verlassen Typ
, der für uns über benutzerdefinierte definiert ist, dass wir eine Zuordnung aus einer Liste aus der
Datenklasse Blatttyp Zehe einer Liste aus der Ansicht erstellt haben Modelldetails. Lassen Sie Typ V M eingeschaltet. Dann muss
ich am Ende die anfängliche Winkelhalterung von über Karte schließen. Dann werde ich sehen, welches Objekt sein sollte. Welches Objekt sind Objekte? Daten sollten viel sein Also die Daten kommen wirklich von Urlaubstypen, weil das ist , was von der Überfunktion zurückgegeben wird, weil ich das kopieren und in diese Klammern setzen und dann geschlossen. Also nein, ich habe ein paar rote Linien. Ich muss durch Onda gehen. Mischen Sie das auf. Also bin ich gegangen um alle Bibliotheken, die dort gesehen werden können. Dann habe ich es gehandhabt. Wir bekommen ein weiteres rotes Land, wo es schien, dass es nicht von I Sammlung
vom System Keine generische I Sammlung in system-generische Liste konvertieren kann . In Ordnung, also habe ich zwei Möglichkeiten. Ich kann entweder eine zur Liste am Ende setzen oder weil ich nicht hatte, dass die Dysfunktion wirklich Sammlungen zurückgibt, sogar blutige, um in der Funktion hier aufzulisten. Es ist wirklich wieder ich Sammlung, so dass ich entweder ändern kann. Ich meine, ich kann das immer benutzen, um nur Liste zu sein, oder ich kann das ändern und das zu Fuß ehren. Also Liste Andi, Das wird eine weitere Konvertierung tun. Also, ja, es kehrt zurück. Ich sammle es Liste hier zurückgegeben. Dann kehrte es zurück. Es tut ich Sammlung, und ich bin wieder Umwandlung in Liste und dann ist alles in Ordnung, oder ich kann tatsächlich von
der Liste hier toe I Sammlung ändern . Also, was auch immer ich bin, ich bin auf kann von fast allen generischen Datentypen jedes genetischen Deals der
Zeit sein. Solange die Mumps definiert sind, dann haben Sie kein Problem. Also werde ich es nur hier lassen, als ah Punkt zu Liste auf, die unser Problem löst, dann wissen wir, dass wir die Daten bekommen haben, dann haben wir die Daten markiert. Wir markieren die Daten und sie speichern sie Daten innerhalb von Modellen. Wenn Sie den Mauszeiger über das Modell bewegen, sehen
Sie, dass es wirklich von der Typliste ist. Details VM auf Das ist, was wir wollen, um unsere Ansichten der Vergangenheit Daten vorbei. Unserer Ansicht nach brauchen
wir nur die Ansicht zurückgekehrt. Und dann legen wir in der offenen Brise die Daten ein, die weitergegeben werden sollten. Also, oder sehen Sie, sobald
es geladen ist, hat es Zugriff auf alle Daten im Modell vorhanden sind. Und deshalb sage ich weiter, dass unsere Ansicht Mütter viel vielseitiger als die
Datenklasse selbst, weil ich fast jede Menge statische Daten sowie den Feind später
in meiner alten Klasse,
Andi,ablegen kann in meiner alten Klasse,
Andi, , kann
ich manipulieren und Massage halten sollte gebildet werden, bevor die Ansicht tatsächlich bekommt es. Also nein, wir müssen tatsächlich die Ansicht generieren, die die Daten aus diesem Modell anzeigt. Um die Ansicht zu generieren, haben
wir zwei Optionen. Wir können manuell gehen und zu Recht kümmern und öffnen Sie einen neuen Ordner und dann geben Sie ihm den Namen
Blatttypen und dann erstellen Sie eine Ansicht von natürlich Das war ein großes Multiple Visual Studio macht es einfach für uns. Wie wir mit Gerüsten gesehen haben, war
es viel einfacher. Aber wir dachten Gerüst oder ohne den gesamten Controller und alle Ansichten zu erzeugen, können
wir sie dennoch individuell machen, indem Sie mit der rechten Maustaste auf die Weltanschauung klicken. Und dann sehen wir die Option im Blick auf. Dann aus der Anzeigenansicht, wir definiert den Namen, so dass der Name von der Aktion geerbt worden wäre, die Ansicht für die Aktion, die wir implementieren, Wir können eine Vorlage angeben. In diesem Fall würde
ich eine Liste wollen. Ein Index ist also normalerweise eine Liste, also wird es uns tatsächlich kalt geben, dass Jurys eine Tabelle auflistet, die alle Datensätze auflistet, die von
zurückgegebenwerden , die von
zurückgegeben ,
oder Abfrage, wir können die Modellklasse routinen oder die Modellklasse wird auch viel, was auch immer Daten zurückkehrten. Also unsere Modellklassen aus Details Lassen Sie den Typ VM, so dass ich das einfach in den
Listeria-Details finden kann . Lassen Sie VM eingeschaltet. Ich kann den Anwendungs-DB-Kontext eingeschaltet lassen, dann weitergehen und auf klicken. Und sobald diese Gerüstoperation abgeschlossen ist, dann haben wir einen Ordner mit dem gleichen Namen wie unser Controller. Lassen Sie Typen lassen Typen in der entsprechenden Ansicht für das, was wir gerade generiert haben, die Index auf ist. Wenn wir uns die Meeresisierung der Datei ansehen, sehen
wir, dass es aussieht, na ja, etwas einzigartig. Aber was es wirklich ist nur ein Detail an der Spitze mit einem Link erstellen. Das ist also eine Vorlage, richtig? Also die Liste Tempe gibt uns einen Engel und Tag-Schaltfläche für eine Tabelle mit Spalten erstellen, und diese Spalten werden durch die Spalten bestimmt, die in der Modellklasse verfügbar sind, die für die Vorlage
verwendet wurde . Also, wenn ich auf Details zurückschaue, Details
lassen, Typ V M Das ist halten an Kontrolle und Person klicken. Dann sehe ich, dass wir Spalten I D Namen auf haben erstellt und infolgedessen wusste
die Indexrede, dass es legal auslassen sollte ich d oben auf Liste. Richtig, weil Sie nicht unbedingt immer den Primärschlüssel auflisten, wenn wir Daten anzeigen. Aber es hat nicht durch den Namen auf dem erstellt werden. Dann stellt es genug für jeden. Dies ist also eine Reaser-Aktion, die passiert, wo es für jedes Element ist, das im Modell zurückkommt. So Modell ist ein Schlüsselwort, das die Daten darstellt, die es richtig bekam. Also hätte ich das alles benennen können, was ich nicht notwendigerweise Modell von der
Controller-Seite benennen musste. Aber in der Perspektive Ansichten, das Schlüsselwort-Modell mit einem Großbuchstaben und repräsentiert, was immer d oben es geschnitten. Andi, es weiß, dass es eine Liste hat. Wenn Sie hier oben schauen, sehen
Sie, das ist die Verteidigung. Das Modell ist wenigstens unser, das ich kannte, Maribel. Aus geben Sie diesen Objekttyp ein
, der Details Typ VM verlassen ist. Es ist also zu sehen, dass ich weiß, dass ich eine Sammlung habe. Und so möchte
ich für jedes Element in dieser Sammlung eine neue Regel mit zwei Spalten, eine für den Namen auf einer für die D erstellte oder drei Spalten. Also eine für mich, eine für die erstellte und eine Spalte gewidmet Details bearbeiten und Links löschen. Ordnung, InOrdnung,
also werden wir das nur für einen schnellen Test nehmen. Führen Sie diesen Pinto in den Debug-Modus. Also klickte ich auf Sind beginnen und wir werden sehen, ob diese Kunst oder Anwendung gestartet wurde. Und dann werde ich gehen Zehe verwalten und klicken Sie auf Urlaubstypen. Aber wenn Sie bemerken, dass in der unteren linken Ecke nur auf Astor ist, weil wir wirklich keinen Link dafür eingerichtet haben, Also gehe ich einfach zurück und immer noch im Boot festgemacht Gehen Sie zu meinem Lösungs-Explorer, finden Sie meinen freigegebenen Ordner in Blick auf eine Lee Haute. Also meine Leo Page hat die Links auf. Also werden wir uns die ganze Woche über das Verknüpfen auf gut betrachten, einen Anker
setzen, mit der Redirect Toe Control sprechen und eine bestimmte Aktion in einem Controller. Also haben wir Helfer Schlepper hier, und wir können einfach SP dash sagen, und dann die 1. 1 wollen wir diesen Controller. Also der Controller, mit dem wir arbeiten, ist Verlassen-Typen, und dann sehe ich SP Strich wieder am 1. Dezember. Aktion für die Aktion, die ich will, ist Index Also mit anderen Worten, wenn dieser Onkelangriff für Reliefungstypen angeklickt wird, ist
die Erwartung, dass es nach der Indexaktion innerhalb des
Blatttypen-Controllers auf DSO sucht . Wenn ich diese Änderungen treffe und speichern, gehe
ich zurück auf die Webseite und aktualisiere auf, Dann werde ich es erneut versuchen. In Ordnung, als ich mich erfrischte, bemerkte
ich, dass die Änderung nicht vorgenommen wurde. Und das ist, weil manchmal Sie brauchen, um Sie müssen möglicherweise ein Projekt neu starten oder Sie müssen Zehe aktivieren diese Sache namens Rose Erling. Also werde ich nur Fuß gehen und Browser-Link aktivieren. Ich werde auch nur meinen d Boot Motor neu starten nur aktualisiert alles unabhängig und alle Änderungen,
die ich gemacht habe, sollten reflektiert werden. Alles klar, also ist das Projekt aktualisiert und ich werde weiter gehen und wächst wieder, um Typen
auf diese Zeit zu verlassen , die Verbindung ist oben und da gehen wir. Also, nein, wo auf der Seite, die die Daten haben würde. Also schauen wir uns die Tabelle mit einer Spalte für den Namen und einer Spalte für Hat Created on notice an . Alle d haben diese Art von Kate auf erstellt. Es ist buchstäblich so, wie wir es in der Klasse geschrieben haben. So wird es hier präsentiert, was nicht unbedingt wünschenswert ist. Aber das ist, was es ist, und jemand, der Ihnen zeigt, wie wir das Ansichtsmodell ändern können, das Zehe diese Art von Erfahrung behandeln . Ich bin und muss es nicht manuell in der View-Datei tun. Aber es gibt keine Daten, weil wir noch keine Datensätze hinzugefügt haben. Wenn ich neu erstellen könnte, dann wird es den gegebenen Fehler geben, denn dann suchte es nach der Create-Ansicht auf der Benachrichtigung, dass es
nichts in irgendwo namens Erstellt diesen CS HTML finden konnte . Das liegt daran, dass Sie diese Zuschauer noch nicht generiert haben, also wissen wir zumindest, dass es funktioniert, wenn ich einen Breakpoint mache. Also gehe ich zurück in mein Projekt, um zurück in den Controller zu gehen, um einen
Haltepunkt in der ersten Zeile von unseren Indexaktionen zu setzen ,
Verstehen, Verstehen, um diesen bezahlten jemanden zu aktualisieren, der wieder auf den Link klickt, dann geht es zu traf die Bremspunkte. Es ist nur, es leuchtet auf. Sehen wir Sie hier, wo? Okay, es trifft den Bremspunkt und dann geht es in die Funktionskosten. Ich werde F 11 Zehe verwenden, Schritt für Schritt in das, was passiert. Und so geht es ins Schlepptau. Unsere Repository-Klasse, sie ruft alle auf. Dann wird es den Akkord verwenden, den wir Zehenverhör geschrieben haben, um zu sehen, ob es irgendwelche
Blatttypen gibt . Und wenn ich über sehe ich, dass eine Grafschaft Null gab es keine Urlaubstypen, die über gebracht werden sollten. Also werde ich mit 11 fortfahren und dann verlässt es die Rippenposter Klasse geht zurück zum Controller. Keine blättrigen Typen im Controller hat alle Daten, die er benötigt, sind in diesem Fall bekannt. Und dann über mein Oberteil geht in Aktion auf dann, wenn ich nur tun, wenn 11 wir sehen, dass es die
Mapping macht und dann von Ihnen zurückkehrt. Und so mache ich einfach f fünf, um einfach weiterzumachen und alle anderen Steine zu ignorieren. Dann lädt es die Seite neu, so dass wir sehen können, dass alles funktioniert, wie wir es verdrahtet haben Zehe Arbeit. Jetzt zeige ich Ihnen, wie Sie Anpassungen am Ansichtsmodell vornehmen können, die sich auf den
Halt auswirken . Diese Spiele werden in der Ansicht gemacht. Also ging ich zum Beenden des Debug-Modus, weil Sie einige im Debug-Modus aufgerufene ändern können. Ich kann kein Gericht wechseln. Das Ansichtsmodellkabel gehört also zu denen, die Sie
im Debug-Modus möglicherweise schwer ändern können. Also werde ich gehen, um Typ VM eingeschaltet zu lassen. Dann werde ich ein Attribut über die Tat kreative Eigenschaft hinzufügen. Dann wird dieser hier angezeigt werden, dann ist dieser Plädoyer keine Klammer haben und dann kann ich sehen, Name ist gleich Zehe und dann werde ich sagen, Tat erstellt, so bemerkt, dass ich gehe, ich setze einen Raum hier, weil es kam oder Camel K ist nur auf die gleiche Weise. Also sagte ich, dieser Spielname gleich hat Platz geschaffen. So sieht es leserfreundlicher aus, jemand Zehe zu aktualisieren. Ich werde diese Änderungen wieder in den Debug-Modus vornehmen und sehen, was der Unterschied
im Display gemacht hat . In Ordnung, also ist unsere Bewerbung offen. Wir bro ist, Typen zu verlassen und dann würden Sie feststellen, dass der Druck anders ist. Label ist anders, also können wir die Beschriftungen in unseren Ansichten steuern oder fühlen, ohne es
manuell tun zu müssen , weil Sie sich vorstellen können, wenn wir 10 Ansichten haben, die das gleiche Ansichtsmodell dann für diese 10 Ansichten müssen Sie durchlaufen und manuell ändern. Also verwenden wir das Ansichtsmodell. Wir ändern es nur einmal. Wir sagen nur, wenn Sie angezeigt werden, zeigt
er sich selbst so an. In Ordnung, also sogar Name Name ist irgendwie generisch. Ich kann wahrscheinlich einen Anzeigenamen aus Blatttyp setzen, Typnamen identifizieren oder verlassen. Was immer es ist, will ich sie anziehen. Das wird tatsächlich in der Ansicht für den Benutzer gerendert. In Ordnung, so funktionieren Ansichtsmodelle mit Ansichten und erleichtern die Wartung. Alles klar, also nur eine kurze Zusammenfassung dessen, was wir getan haben. Wir richten unsere Indexansicht ein, in der wir verwendet haben, oder Abhängigkeitsinjektion toe machen ein B zwei b Quadrat namens, und wir haben Arm oben verwendet, um die Daten aus der Datenbank in die Ansichtsmodellstruktur zu wischen . Und dann generierten wir die Ansicht basierend auf dem View-Modell in den Daten übergeben, und wir verifizierten, dass es die Datenbank getroffen, bekam die Daten sind in diesem Fall bekannt auf tat die Operation wie erwartet, Im nächsten Video werden
wir arbeiten durch unsere Aktionen erstellen auf. Dann werden wir anfangen, Daten zu erstellen, so dass das nächste Mal, wenn wir uns die Liste aus verlassen Typen
in der Datenbank ansehen , dann wird es Daten Toby angezeigt werden.
17. Einrichten: Hey, Jungs in diesem Video werden durch die Einrichtung oder Aktion für unsere Urlaubstypen
,
Controller und Modell arbeiten , . Im vorherigen Video hätten
wir bereits eingerichtet oder Index, wo wir für alle Datensätze in der Datenbank auf Ben abgefragt haben sie auf,
generiert die Ansicht, die sie von Kurs zeigen würde. Es gibt nichts in der Datenbank, weshalb wir wissen, wann wir erstellen müssen, damit wir anfangen können, Datensätze zu erstellen und tatsächlich zu sehen, dass wir die Datenbank abfragen. Also werde ich zu Meyer gehen,Option
erstellen, Option
erstellen, dann werde ich eine Ansicht generieren, die auf dem Create-Leave-Value-Modell basiert. Also gehe ich einfach zu meinen Modellen zurück und gehe zu meinem Blatttyp Ansichtsmodell und dem Hier
haben wir die erstellen verlassen Typ VM auf. Alles, was es wirklich braucht, ist der Name, weil
wir Namen haben , wir d werden generiert, sobald es in die Datenbank eingefügt wird. Außerdem werden
wir dafür verantwortlich sein, sicherzustellen, dass wir es erstellt zur Verfügung gestellt. Aber wir möchten, dass der Benutzer eine Farm erhält, in der er lediglich einen Namen für den
Blatttyp angeben muss , den er erstellt. Also gehe ich zurück zu meinem Controller auf Ich werde generieren Haben Sie jemand gerichtet das Wort Ansicht, Klicken Sie auf Ansicht hinzufügen. Und dann bedeutet es bereits, dass es erstellt, dass der Ansichtsname erstellt werden sollte weil er die Aktion kennt, um eine Vorlage auszuwählen. Erstellen Sie andan. Die Modellklasse, die ich verwenden werde, ist die create leave type VM. Also, wie ich bereits sagte, können
Sie entweder ein Big View-Modell erstellen, und dann verbringen Sie Zeit damit, die Farm oder die Ansicht, die Sie generieren, zu bereinigen. Oder es kann Zeit damit verbringen, mehrere Ansichtsmodelle zu erstellen, die für jede Ansicht spezifisch sind, die
Sie beabsichtigen . Also habe ich das erstellt verlassen Typansicht-Modell auf. Ich lasse alles andere so, wie es ist und klicke auf Hinzufügen. Dann erzeugt dieses Gerüst, dass wenige alles in Ordnung, so dass wir und zufällige Ära, wo es scheint, dass es die wenigen nicht generiert werden konnte weil es einen Primärschlüssel erfordert darauf definiert werden muss. Durch diese Logik können
wir dieses bestimmte Ansichtsmodell oder die Idee hinter dem Ansichtsmodell nicht verwenden
,um diese Ansicht zu erstellen , Seien Sie
also vorsichtig, wenn Sie die Gefühle auswählen, wenn Sie sie ausspucken, müssen
Sie den Schlüssel einschließen. Auf der Grundlage davon werde
ich nur mit den Details fortfahren. Lassen Sie den Typ VM, weil dieser ein Schlüsselattribut hatte und ich gehe voran und klicke erneut auf Let It Scaffold die Ansicht. Also hoffe ich, Sie lernen diese Lektion, die Sie wissen, dass Sie vorsichtig mit den Gefühlen auf sein müssen. Generell freut sich
Gerüst auf einen Primärschlüssel. Basierend auf dieser Logik ist
mein anfänglicher Ansatz, das Detailansichtsmodell vom Create Type View
Modell abweicht , fehlerhaft. Also, was ich tun werde, ist, sie einfach jemanden zu verdichten, um die Idee von den
Erstellungstypen zu entfernen . Ich modifiziere nur meine Ansichtsmodelle hier auf. Ich werde das Attribut für den obigen Namen hier auf hinzufügen. Dann werde ich den speziellen Namen abnehmen Details League Urlaub Typ, also natürlich, wenn ich all das tue, dann werde ich durch laufende Zeh nach Refraktor das Gericht gehen müssen. Wo immer ich auf Details verwiesen habe, lassen Sie den Typ VM. Ich muss wissen, es zu verlassen Typ VM umbenennen und Visual Studio wird es für
mich einfach sortieren, indem ich mich dafür entscheide, einfach umzubenennen Diese Referenzen gehören meinem Projekt. Also, wenn ich zurück zu meinem Comptroller, dann sehen Sie, dass ich weiß, verlassen Typ VM und nicht mehr Details verlassen Typ VM Auch in meinem ma pings Ordner, die Änderungen wurden so nicht gemacht, Ich habe nicht mehr eine erstellt. Ich kann diese Linie entfernen und ich habe nur eine Zeile für meinen Urlaub Typ VM Alles klar, also ,
Pursing on, wir gehen zurück zu Ihrem Controller auf Öl. Entschuldigung. Also hatten wir gerade unser kreatives Du auf erschaffen. Ich gehe einfach zu meiner erstellenden Ansicht auf Schauen Sie es sich wieder an. Ich sehe hier, es ist nosing lyft vm Obwohl wir es mit Details erstellt haben. Noch einmal Visual Studio das Gericht für uns gebrochen. Ich werde diese Linie ausschalten. Ich brauche dies nicht für Lügen, die angeben, was der Datentyp ist, dass er oben aufgebaut ist. Aber das ist das Erstellen auf, wenn Sie bemerken, dass wirklich nur uns eine Farm gibt. Es sieht, dass wir Ah haben,
nun, nun, es ist eine Bootstrap-Form. Also Photobox Ich bin mir nicht sicher, ob es Pollster ist, aber wir werden es in ein paar sehen. Also immer auf,
wir haben, ah, ah, Validierungszusammenfassung. So gibt es Fehler mit dem Modell. Dann können wir sie hier oben ausdrucken, als wir auf Eingabe für Namen haben. Also haben wir den SP vier, ähm, Tag-Helfer
, der uns im Grunde sieht. Okay, willst
du eine Eingabe? Welcher Datenpunkt aus dem Modell, der zum Generieren dieser Vorlagen verwendet wurde Möchten Sie diese Eingabe für? Also möchte ich eine Eingabe für den Namen. Ich möchte auch auf Eingabe für sein erstellt. Also müssen wir etwas tun. Und vor allem mit dem Kreativen, denn das wird ein DEET auf sein. Ich möchte nicht, dass Benutzer in die DEET-freie Hand legen. Also werden wir eine Urkunde Picker manuell setzen, um zu steuern, welcher Wert in
kreativ ist . In Ordnung, also wenn wir zurück zu unserem Formular Tackle gehen,
beachten Sie, dass wir einen anderen Typ Helfer haben, das ist seine SP Aktion gleich erstellen. Also das ist b Aktion gleich erstellen geht Zehe. Sobald wir auf Gipfel schauen in Schlepptau oder Controller und Lüfter erstellen. Also haben wir erstellt, wir haben ein anderes erstellen mit dem http-post-Attribut, das tatsächlich derjenige ist, der die Daten empfängt und verarbeitet, die
von unserer Übermittlungsaktion in der create kommt . Alles klar, das erste, was wir tun wollen, ist, unsere Handwerkskunst anzuschauen. Also gehe ich einfach in den Debug-Modus. Ich schauen uns unsere kreativen Sie an. Also, um auf unsere Seite erstellen zu gelangen, gehen
wir zu verlassen Typen zu verwalten und dann würde das uns zur Indexsprache führen. Und dann von unserer Index-Seite, können
wir auf Create New Link klicken, bereits verdrahtet ist, um zur Seite erstellen zu führen. Und so haben wir oder erstellen Seite. Also haben wir unser Feld für Namen und wir haben das Feld für die Tat erstellt. Also, wie ich bereits gesagt habe, dass es eine Datumszeit ist, die so kontextuell der Bruder ist oder weiß , dass er irgendeine Form von Datumsauswahl innerhalb der Kontrolle setzen sollte. Aber die untere Seite mit dem Boroughs Ohr Datumswähler ist, dass jedes Profis es seine eigene
Version eines Datumswählers hat . Sie wollen also Konsistenz über Benutzererfahrungen hinweg, damit Sie es nicht einfach so
lassen möchten . Und eine Person benutzt Chrom. Ein anderer benutzt Edge, und sie sehen zwei verschiedene Dinge. Also werden wir einfügen, sind nur Picker, so dass jeder das gleiche sieht,
was ,
was lange Sicht, wenn Sie diese Anwendung unterstützen müssen, funktioniert alles besser für
Sie, auflange Sicht,
wenn Sie diese Anwendung unterstützen müssen, funktioniert alles besser für
Sie,um zu demonstrieren, was passiert, wenn wir auf Erstellen klicken. Also gehe ich einfach Fuß, gehe schnell ins Visual Studio und setze einen Bruchpunkt bei der zweiten Create-Aktion auf Den Ich gehe Zeh. zunächst Klicken Siezunächstauf Erstellen, und dann stellen Sie fest, dass es sich um Pflichtfelder handelt. Und das liegt daran, dass wir im Ansichtsmodell angegeben haben, dass sie jemand benötigt werden, um
Urlaub Onda zu setzen , und ich werde versuchen, einige Bits mit der Datumsauswahl oder Änderung zu setzen . Es wird nur noch, und dann werde ich wieder auf erstellen klicken. Okay, also musste eigentlich die Zeit auch in diesem Datums-Zeit-Controller angeben, damit Sie sehen können, dass die Gefahr da ist, wenn wir es einfach verlassen, weil wir wirklich nicht die Zeit brauchen oder wir wirklich nicht wollen, dass Benutzer das in irgendeiner setzen sowieso, also gehe ich voran und klicke auf Treffer erstellen. Der Breakpoint, den ich für die zweite Create-Funktion eingerichtet habe. Also, sobald wir aus dem Formular erstellen klicken, wird
es die Post-Funktion treffen und dann wird erwartet, dass wir nicht unsere Post Checks
machen und sicherstellen, dass alle Daten gesund sind und massieren, es ist auf. Dann senden Sie es an die Datenbank. Und dann, wenn alles erfolgreich ist, dann lesen wir Alat-Zehe über Listing. Wenn nicht, dann fangen wir Fehler auf und übergaben sie entsprechend. Deshalb haben wir ein Create an der Spitze auf diesem ist, dass ich dem Erstellen
mit dem Post jemand in den Weg komme , um den Debug-Modus zu beenden. Dann schreiben wir ein Gericht. Die erste Änderung, die ich treffen werde, ist mit unserem erstellten Datum. Also habe ich gesagt, das würde einen Datumswähler setzen. Aber die Realität ist, dass ich nicht möchte, dass ein Benutzer das Kreative sieht, das für unsere
Auditing-Zwecke ist,
jemanden,der dieses Steuerelement ganz entfernen kann Auditing-Zwecke ist,
jemanden, . Also haben wir nur das Feld für Namen. In Ordnung. Am Tag werde ich diesen Knopf treffen, also verwenden wir Bootstrap-Tasten. Also zuerst, wo er in der Klassensteuerung Formularsteuerung ist, was ist,
Ah, Ah, Bootstrap-Klasse für Sie wissen, dass diese abgerundeten Kanten ich im Textfeld gesehen habe. Wenn wir die Spanne betrachten, die den Pfeil anzeigt, haben
wir auch eine Booster-Klassen als Text Strich Gefahr. Das gibt uns die roten Takes, die wir auftauchen sahen. Also nicht hier für den Knopf haben wir BT und Bt und Bindestrich primäre, die uns einen blauen Knopf
auf gibt . Ich möchte, dass dieser blaue Knopf den gesamten Raum füllt. Ich werde sagen geschlagen dash block, und dann wird das die Taste strecken von einem Ende aus dem Bildschirm bis zum extremen Ende auf dem anderen Bildschirm auf. Das ist also eine wirklich einfache Form. Andi, das ist es für die Form, zumindest für jetzt. So können wir diese Änderungen erhalten. Nein, wir müssen steuern, was nach einem Untervermietung passiert Ist ein in zurück zum Controller aufgetreten, ich bin mir bekannt, geht über http-Post-Aktionen zu ändern. Also zuerst weiß
ich, welche Art von Daten ich über die Daten möchte, die ich möchte. Von meinem Formular kommend ist der Typ verlassen Typ VM. Also werde ich nur sicherstellen, dass der Parameter, der in meinem Credo verursacht Option ist vom Typ verlassen Typ, und ich werde dieses eine Modell nennen. Ich kann das Datum nennen, an dem ich es nennen kann, ist irgendetwas ein Parameter freigeben. Also nein,
alles, was ich in Bezug auf die Daten mache, die gerade übermittelt wurden, wird innerhalb des
Off-Modells gespeichert werden , ist nicht aktiviert. Dann bin ich zur Transaktion auf dem Fang auf Fehler gegangen. Das ist also, ähm, Schnurblut, das besagt, dass ich etwas ausprobieren werde, und wenn es funktioniert, ist
das gut. Wenn es nicht funktioniert, dann möchte ich das tun. Das ist der Versuch Fang. Also werde ich zuerst sehen, der
Modellzustand ist, was es ist, so dass der Modellzustand wie ein Zustand sein würde, der buchstäblich das Modell
in Bedeutung ist . Die Daten, die angezeigt werden, sobald ich übermittelt habe, waren alle Daten, die tatsächlich zur Verfügung gestellt werden. Und wenn es nicht war, was will ich
dann tun? Jemand zu sagen, Wenn ich dann diese Sache habe, die mir diese Eigenschaft zur Verfügung steht, rufen Sie den Modellstatus auf, dann hat es eine Eigenschaft oder eine Besetzung war wie eine statische Klasse darauf hat eine Eigenschaft namens ist gültig. gibt also einen Anlagebarren zurück. Es ist also im Grunde zu sehen, ob es gültig ist, was willst du
dann tun? Also werde ich das irgendwie umdrehen, und ich werde sagen, ob es nicht gültig ist. In Ordnung, also überprüfe ich. Wenn es nicht bewertet wird, dann möchte ich nur die Ansicht zurückgeben, weil ich das schlechte Szenario zuerst überprüfen und Maßnahmen
ergriffen habe, bevor ich mich mit den guten Sachen befasse. Richtig. Also werde ich sagen, ob es nicht gültig ist und das Ausrufezeichen ist, was es nicht in
Ordnung macht , dann. Ich möchte wirklich nur die Ansicht zurückkehren. Andi,
ich werde auch das Modell darin einbeziehen. Also, was auch immer Daten gebracht wurden, wenn sie nicht bewertet wurden, werde
ich die Ansicht zurückgeben, und ich gebe die gleichen Daten zurück, die gerade in der Ansicht kamen, auf die ich Feuer zurückgebe. Wenn es dann nicht akut ist, bedeutet
das, dass alles gut war. Dann schau dir den nächsten Schritt an. Dann werde ich sagen, vier Leave-Typ ist gleich,
um Version von diesen Daten von Lyft I V m toe der Blatttyp-Datenklasse. Ich werde nur unterstrichen Mapper sagen und dann die Kraft auf dieser Karte anrufen. Dann sehe ich, dass ich gehen will. Geben Sie den Datenklassentyp ein. Das ist es, was ich will. Aber was ich will, dass er sein will, ist Model. In Ordnung, also stellt das Modell auf Objekt aus verlassen vmc dar. Ich sehe nur mein Oberteil. Bitte wischen Sie dieses Modell dieses Objekt ab, lassen Sie es in diesen Datentyp und dann, wenn Sie das Mapping des Speichers
gemacht haben , lassen Sie es auf Dann, sobald es innen aus
verlassen Zeit gespeichert ist , ist mein nächster Schritt, den Bericht anzurufen. Also werde ich meine Pre-Pollpunkte auf seinem Gehen Zeh aufrufen Haben Sie eine Funktion namens
jemanden erstellen , der mein neu geschrägtes Objekt vom Typ verlassen im Schlepptau übergeben soll, erstellen und dann daran denken, dass create wirklich einen Barren zurückgibt
, der bedeutet, dass, wenn dies nicht erfolgreich war, ich eine andere Aktion ergreifen kann. Also werde ich nur eine andere Funktion haben. Ein weiterer sehr Glancy ist der Erfolg gleich sein wird, was auch immer diese Funktion aufgerufen wird dann werde ich sehen, ob nicht Erfolg bedeutet, wenn sein Erfolg zurückkehrt. Wenn dies ein falscher Wert ist, geht die Aktion, die ich ergreifen möchte, um zu Fuß. Fügen Sie beim Fehler zum Modellstatus hinzu. So Bescheidenheit, oder wirklich repräsentiert? Nun, es hat eine Eigenschaft, die eine Sammlung von Fehlern ist, die angezeigt werden können. Deshalb haben wir hier den Fehlerzusammenfassungsbereich, richtig? Also werde ich hinzufügen Also mit der Mutter Staat jemand, um ein Modell zu sehen, sagt Denkfehler oder fügen Sie Modeler oder andere hinzu. Dann werde ich definieren Nun, im würde Schlüssel leer lassen, aber ich werde eine Mrs. definieren Dies ist etwas schief gelaufen. In Ordnung, das bedeutet
also, dass etwas schief gelaufen ist in der Operation. Es gab keinen Rosenwechsel. Obwohl wir das Modell bekommen haben, haben
wir die Daten bekommen, wir übergeben es weiter, dann übergeben wir es in die Create-Funktion. Und es tat, was es mit der Datenbank gemacht hat. Aber es wurden keine Änderungen vorgenommen, und wir sehen, dass etwas schief gelaufen ist. Und wenn etwas schief gelaufen ist, möchten wir die Ansicht noch einmal mit den Daten zurückgeben. In Ordnung, jetzt geben wir die Ansicht wieder mit den Daten zurück, aber dieses Mal mit einer zusätzlichen Ära für die Anzeige. Dann, wenn dies nicht ausgeführt wird, geht
diese Musik bis zur Rückkehr, wo sie die Aktion namens Index umleitet, was unser kleinstes Nein ist, habe ich einen Schritt verpasst, in dem ich keinen Wert für das erstellte Datum angegeben habe. Was ich also tun werde, ist, dass ich nach dem Mapping sehen werde. Dann werde ich sagen, lassen Sie Typ Punkt, den er erstellt hat, ist gleich Zehe auf. Dann hat nur Anruf Zeit Dot weiß, dass das bedeutet, wann immer die Operation ausgeführt wurde, wann immer es zu diesem Punkt im Gericht kommt, sollte
es den Beat und die Zeit vom Server zuweisen. Diese Anwendung wird als die Werte gehostet, die sie erstellt haben, und dann fahren Sie mit der Übermittlung an die Datenbank
fort. Das ist also, wenn ich sagte, dass wir den Benutzer nicht dazu benötigen, werden
wir es zur Verfügung stellen. Wir können tatsächlich alles tun, was wir mit dem Modell und allen Daten tun wollen, die zwischen dem Formular an die Datenbank
übergeben werden . Wir kontrollieren das alles von innen aus der Aktion, bevor wir es an die Datenbank senden. Nein. Eine andere Sache, die wir tun müssen, ist das Ansichtsmodell zu ändern, so
dass Sie bemerkt hätten , dass es erforderlich war ,
obwohl ich den erforderlichen Namen eingerichtet habe
und ich nicht eingerichtet habe. Im Laufe der Zeit, als wir uns auf dem Formular fühlten, brauchte
es tatsächlich den Tag. Also muss ich diesen Tageswert erfüllen. Bemerkenswerte Silas. Er ist ein Fragezeichen für einen Tag, was bedeutet, dass in der Ansicht Modell Lovely nicht Druck mich Zeh liefern einen Wert dafür auf. Ich kann einen Wert dafür an jedem Punkt bereitstellen, dass ich das also werde ich nur voran gehen und F fünf
drücken, was ein scharfes Cookie ist, um den Debug-Modus zu starten. Dann werden wir sehen, was über Labour es benötigt hat oder Anwendung ist, dass ich anfangen werde,
indem ich einen Bruchpunkt bei unserem oh, es ist bereits da, also werden wir das dort lassen und dann gehen wir weiter und gehen durch unsere Rechte. Das ist so lassen Sie uns durch die Anwendung gehen, so dass wir klicken, verwalten, lassen Typen, dann klicken wir, erstellen Sie neue und dann für unser Formular, und Sie können sehen, dass auch die setzen Bt und Block. Es war ein kleiner, aber es ist ein größeres, aber nein. Aber es muss etwas anderes geben, das es auf den Raum beschränkt, damit wir
die Ästhetik später ändern können . Aber wir müssen nur Ah-Namen irgendwo angeben, um Urlaub zu sagen und dann klicken Sie auf Erstellen dann Debug-Modus sind R D Bug. Unser Bruchpunkt. Sorry ist getroffen, damit ich den Mauszeiger im Debug-Modus über die Variable bewegen und sehen Sie genau, was in einer Variablen ist. Also, wenn ich den Mauszeiger über ein Modell, dann sehe ich, dass ich die drei Attribute habe I D, die Null ist es erstellt, was kein Onda-Name ist, der den Wert Urlaub hat, den wir gerade in der Farm setzen. Ist nicht jemand, der wirklich einfach durchschreiten und sehen kann, was passiert? Also werde ich einfach F 11 benutzen und dann geht es. Also unsere erste Überprüfung, wo es ist der Modellzustand bewertet auf. Das ist wahr, also bedeutet das, dass dies nicht ausgeführt wird. Wenn also 11 überspringen wird, wenn Aussage, dann geht es in meinen oberen Akkord. Es geht also um die Daten zurück auf die Blattzeitdaten. Klassifizieren suchen Urlaub Typ. Es ist aus Typ Datenpunkt verlassen, tippen Sie ein, trotzen, erweitern. Dann werde ich sehen, dass sie erstellt haben, einen generischen Wert hat, weil
es am wenigsten auf dem Design einen Wert haben muss. Die i. D Null und der Name ist Urlaub. So sehen wir, dass die Daten, die als Blatttyp VM kamen, nicht erfolgreich in Just
leave type die Datenklasse zugeordnet ist . Dann haben wir die tatsächliche Datumszeit zur Verfügung gestellt. Nein. Also hat keine erstellt hat zu diesem Datum auf. Wenn ich das Objekt noch einmal anschaue
, sehe ich, dass alle Eigenschaften außer ich jetzt Werte haben. Und natürlich würde ich es einfacher, weil ich d eingestellt werde, sobald es erstellt wurde. Dann gehen wir in das Land des Gerichts, wo es tatsächlich der Datenbank unterbreitet. Also gehen wir zum Repository und es fügt es hinzu und dann bewegen wir uns zu unserem Meer von Veränderungen. In Ordnung, dann, wenn wir uns Änderungen ansehen, sehen
wir, dass es eine ist. Es zeigt uns also, dass mindestens eine Änderung vorgenommen wurde, also wird dies wahr auf dso
positiv Klassenrückgaben zurückgeben . Wahr auch Und so unser Scheck zu sehen, wenn nicht Erfolg Erfolg ist wahr, so ist es nicht weit. Also dann überspringt es diese Aussage auf geht direkt auf Ari direkt. Also werde ich an diesem Punkt einfach F fünf drücken, dann lass es Atrat lesen. Da gehen wir. Nein, wir sehen, dass wir aus der Datenbank lesen, und wir haben gerade Daten an die Datenbank gesendet, und das ist ausgezeichnet. Nein, Was wir tun müssen, ist zu ändern oder einzurichten oder auf Details zu bearbeiten und Funktionen zu löschen, und dann sind wir auf einer guten Rolle. Also werde ich einfach das Bogan hier verlassen. Ich werde genau diesen Punkt abheben,
wissen, dass wir sicher sind, dass dies funktioniert Kill-Debug-Modus, und dann überprüfen wir einfach, was wir getan haben. Also richten wir unsere kreativen Sie ein, indem wir basierend auf dem Ansichtsmodell generieren oder anzeigen, auf dem wir eingerichtet
hätten . Dann, wenn wir einreichen, richten
wir die HTTP-Post-Aktion für die entsprechende Aktion erstellen auf wir es einrichten, um Daten in Form von Blatttyp V M zu
empfangen Und dann überprüfen wir, um sicherzustellen, dass alles bewertet wurde, so wie ich sagte, Validierungen können aus Ansichtsmodell durchgeführt werden. Hier kommen die Datumsanmerkungen und Attribute ins Spiel. Sie haben gegen diese Datenanmerkungen überprüft und erkennen, dass alles in Ordnung ist. Dann ging es auf der Karte zurück zu unserem ursprünglichen Datenmodell. Die Übertragung der Details auch auf Ben sendet an die Datenbank und dann, nach erfolgreicher Einreichung, es zurückgegeben werden eher auf die Indexsprache umgeleitet, zeigt uns alle Daten. Das haben wir also für den Versuch des Fangs getan. Wir Dies ist nur ein schöner Weg, Fehler zu behandeln. Also für den Haken werde
ich etwas tun wie das, was wir für den Erfolg getan haben, wo ich nur einen
Modellstatusfehler hinzufügen werde , um zu sehen, ob etwas schief gelaufen ist und wir die Ansicht mit
den Daten zurückgeben werden. Alles klar, das bedeutet, wenn eine Ausnahme ausgelöst wurde, vielleicht wurde die Datenbankverbindung abgefangen oder es gab ein abnormales Auftreten, während der Vorgang stattfand. Dann kommt der Fang wirklich ins Spiel. Dann bestimmt die Art und Weise, wie Sie mit Eros umgehen, dass ganze Benutzer Ihre Anwendung wahrnehmen werden. Also, wenn du das anmutig hast, wo du einfach sagst, ist
etwas schief gelaufen. Aber hier ist ein Formular wieder dann vielleicht der Benutzer, wenn Sie besser als nur einen großen,
bösen Fehler zu sehen , der Dinge spuckt, die sie nicht wirklich verstehen. Alles klar, so
18. Einrichten: Hey, Leute, in diesem Hören, werden
wir unsere Entwicklungen fortsetzen, indem wir die Ansicht einrichten oder bearbeiten jetzt ähnlich toe over, erstellen Aktionen, die wir bekommen haben, und wir haben gegen erstellen. So haben wir auch ein get on ah Post dafür. Andi. Es ist das gleiche rational Wir bekommen die Daten auf als Gegenleistung von Ihnen mit dem Formular, das unser
Bearbeitungsformular sein würde . Und dann, wenn Sie auf die Schaltfläche klicken, die das Formular absendet, oder etwas ist die Änderungen die wahrscheinlich im Formular vorgenommen
wurden, dann gehen wir über zum Post, um dann alles zu tun, was wir tun müssen, um sicherzustellen, dass wir den CARB bekommen Ergebnisse. Nein,
bitte wissen Sie, dass
wir für die get-Aktion für die Bearbeitungsaktion einen Parameter haben, den wir in der Form von i d erhalten. Also muss es einige bekommen, die ich entwerfe, dass es toe verwenden wird, identifizieren Sie den Datensatz, der sein muss bearbeitet. Also, wenn wir zurück zu unserer Indexdatei oder Indexansicht gehen, bemerken
Sie, dass für die Aktionslinks, die generiert wurden, wir uns auf die Bearbeitung konzentrieren können, die wir die Bearbeitungsschaltfläche darauf übergeben hatten in irgendeiner Sache in diesem schrieb ich d s B Helfer in dieser Ausgabe, Ein kleiner Helfer zerren unsere Attribute und es ist es s B Straßen I d. Und es ging in Element, dass ich d. Also denken Sie daran,
Element hier stellt die Elemente, die in der Sammlung von Datensätzen kommen, die in dieser
Ansicht gerendert werden . Daher werden alle Urlaubstypen für jede Regel, die generiert wird, oder für jedes Element, das in dieser Sammlung ist, aktiviert. Off-Blatt-Typen generierten eine Regel auf. Wir setzen seinen Namen und das Erstellungsdatum sowie drei Schaltflächen ein, von denen
jede verschiedene Aktions-Spotting im I.
D oder Primärschlüsselwert für diese Regel aufrufen wird . Also, was wir tun müssen, ist sicherzustellen, dass wir das I d toe Fitch verwenden, den besonderen Datensatz, der bearbeitet werden muss, wenn Sie auf einer Rolle auf Bearbeiten klicken. Nun, das erste, was ich tun möchte, bevor ich damit vorankomme, ist unser eher, das erste, was ich innerhalb dieser Aktion implementieren möchte, eine Überprüfung, um sicherzustellen, dass
alles, was ich entwerfe, übergeben wird, dass es tatsächlich einen Datensatz in der Datenbank gibt, für den ich devaluiere. Und was ich tun möchte, ist das Repository für Blatttypen zu ändern. Ich gehe zurück zu meinem Blatttyp-Repository auf. Ich werde eine neue Funktion implementieren. In der Tat werde
ich es in das basierte Repository legen, weil es über alle Repositories hinweg nützlich sein kann Repository-Bienen von einem
Repository-Bienen
erbt wird. Also werde ich einen anderen Telefonsohn auf diesem einen einschließen, wird ein Anlaß sein, auf dem ich sagen werde , ist existiert. Also dieses Board und wird nur sagen, ja oder nein, tut diese Aufzeichnung mit dieser Idee existiert auf dieser wird in Ordnung nehmen dann natürlich. Wenn ich es in die Repository-Biere lege und ich speichere, dann bedeutet das, dass alles, was von Repository Bs erbt, implementiert werden muss. Und so muss ich zu meinen Repository-Klassen zurückkehren und ich beginne mit dem verlassen Typ Repository und Sie sehen, dass es einen Fehler gibt, der
sagt, dass ich das Repository implementieren muss, damit ich meine is existenz-Funktion bekomme und ich mache
das einfach für die andere zwei. Alles klar, so ist existiert in allen in jeder Haltung. Lassen Sie den Verlauf sowie verlassen Sie einen Speicherort sind so wieder, sobald Sie etwas in die Schnittstelle gesetzt haben, müssen
Sie sicherstellen, dass Sie in der erbenden Klasse implementiert haben. Also jetzt wäre meine nächste Aktion, Dysfunktion innerhalb des Kontexts von den
Urlaubstypen zu konfigurieren . Also werde ich das herausnehmen auf Ich werde speichern Unsere oder 12 existieren, wird gleich toe DB sein. Deshalb db-Objekt auf. Ich werde Urlaubstypen sehen, und dann ist die Funktion, die ich diese Zeit verwenden werde, dass jeder so Punkt jeder ein Ja oder Nein
zurückgibt, aber dann gibt es basierend auf einigen Bedingungen ja oder nein zurück. Also, wenn ich nur sage, dass irgendein, genau so wird im Grunde nur zurückkehren, wenn es einen Datensatz innerhalb dieser
Tabelle gibt . Wenn Sie also überprüfen möchten, ob eine Tabelle leer ist, ist
dies ein schöner schneller Weg. Es ist entweder leer oder nicht leer. Also, wenn es irgendwelche Datensätze gibt und es true
zurückgibt, gibt es Datensätze. Wenn ihnen bekannt ist, dass es folgt, gibt es keine Aufzeichnungen, aber dann möchte
ich genau wissen, ob es irgendwelche mit diesem Partikel gibt. Ich d jemand, der verwenden muss, was wir einen Lambda-Ausdruck auf dso nennen. Inside von diesen Klammern , ich werde Toe von Lambda Token aufgerufen. Ich nenne es eine Lambda sprechende alarmierte Variable, was auch immer Sie verwenden möchten. Aber das kann alles sein, w sein kann Ausgang kann wählen Sie Q ist die am häufigsten verwendete. Sobald Sie in den meisten Beispielen für Lambda-Ausdrücke gesichert haben, die Sie vielleicht nie sehen, dann habe ich gleich Grad, um mich dann anzumelden. Dann werde ich sehen, sind gleich und Pfeil. Das ist also wie ein Pfeil. Ich werde verwirrt, migriert und in weniger als manchmal sagen. Verzeihen Sie mir, aber wir haben Ihnen und dann einen Pfeil auf. Dann möchte ich ein niedliches sehen, das so Q jedes Objekt verkörpert, das sich in dieser Sammlung befindet und so kann ich Zugriff auf alle Eigenschaften haben, die jedes Objekt haben könnte, einschließlich des I D. Also sage ich nur, Ist gibt es irgendein Objekt in der Sammlung off leave Typen, die ein I D Das ist gleich der Idee, die hier durch den Umfang übergeben wird, also sage ich einfach, ich bin auf. Dann, wenn ich ein Ergebnis dafür bekomme, verstehen, zu
verstehen,gibt es zurück. Also, ob es wahr oder falsch ist, es wird nur das zurückgeben. Was auch immer diese Funktion aufgerufen wird, wird einen Rückgabewert von true oder falls erhalten. Also, jetzt, wo Sie die Gerichte hier geschrieben haben, können
Sie es einfach nehmen und über die anderen Repository-Dateien replizieren. Das werde ich schnell machen. Waren diese Kopie in Frieden und dann stellen Sie sicher, die Tabellenreferenz relativ zum
schnelleren ändern Dies ist die Geschichte. Einige können wir Geschichten hinterlassen. Wenn es irgendwas damit ich d auf das gleiche für Urlaub Zuteilungen auf tun, dann ist das getan. , jetzt, Also, jetzt,da wir diese Funktion in unser Repository aufgenommen haben, gehen
wir zurück zu unserem Controller, und dann werden wir eine Modifikation von unserer anderen Modifikation treffen, während Sie
sich aufbauen . Es wird also wissen müssen, ob es einen Datensatz mit Idee gibt, bevor es versucht, wie es zeitlich ist, eine Operation durchzuführen. Also das überprüft, ob es irgendeinen Datensatz mit dem ich d.
Also denken Sie daran, dass ich immer den schlimmsten Fall oder den schlechten Fall zuerst gesagt habe. Also werde ich sagen, wenn nicht so, wenn dies die Stürze bewertet und was wir tun wollen, ist zurückzukehren und dann haben wir eine schöne Funktion hier, die wir zurückkehren können. Das ist kein Telefon. Also wussten wir, sind mit Websites und bekommen, dass vier oder vier Ära, wenn Sie auf einen Link klicken, um eine nicht angerufen Ära zu bekommen. Und das wird das für uns erzeugen. Und wir geben zurück, nicht angerufen oder ein 440 So der Benutzer, Natürlich, Sie können diese Erfahrung ein bisschen mehr anpassen, aber für diese Situation, wir halten es einfach. Also, wenn es keine Aufzeichnung mit, dass, ich d, dann kehren wir zurück sind nicht angerufen. Ansonsten wollen
wir Zehe den Blatttyp bekommen. Also werde ich einen Urlaubstyp nennen, ist gleich wieder Pullpunkt auf. Dann werde ich nach I d suchen also sehen Sie, wir haben den Rahmen bereits aufgebaut. Wir finden den Datensatz mit dem I d , der hier im Parameter übergeben wird. Jetzt muss unsere Ansicht mit unserem Urlaub Typ VM oder View-Modell eingerichtet werden. So, wie wir es für erstellen und jede andere Ansicht getan haben, die wir eingerichtet haben, müssen
wir irgendwo eine Karte erstellen, um sie zu speichern. Unser Modell ist gleich auf der Punktzahl. Mapper Dots Mopp auf. Dann dämpfen wir den Typ VM zu verlassen. Das ist der Datentyp, der dem Objekt zugeordnet wurde, das diesem Datentyp zugeordnet wurde, ist der
Typ eingeschaltet. Dann können wir schließen, dass auf DSO-Modell ist nicht gehen, um die Daten zu verkörpern, die
über kopiert wurde , oder Datenbankklasse oder eine Datenklasse toe. Unsere Ansicht Modellklasse. Es ist zu wissen, Modell auf. Dann geben wir die Ansicht mit den Daten im Modell zurück. Also weiß, dass ich das gemacht habe. Haben bestätigt, dass wir keinen Dummy bekommen haben, den ich auf. Wir versuchen, keine Zeit oder Forschungsstärke von Fetch und I D. , die es nicht gibt. Dann, nach sehr gut, dass wir die Platte bekommen haben, dass sie angefordert wird, sie
auf das Modell geputzt. Ich weiß, dass wir die Ansicht mit Modellen zurückgeben, also nein, wir brauchen die tatsächlichen Ansichten, die ich mit der rechten Maustaste klicken werde, um Ansicht hinzuzufügen, dann werde ich die Vorlage dafür auswählen, so dass wir sehen, dass wir eine Vorlage dafür haben. Es auf der Modellklasse, die verwendet werden wird, ist Typ V.
Mverlassen M Also finde ich das in der Liste. Zu diesem Zeitpunkt werde
ich tatsächlich ein Leo-Opiate einlegen. Also ist es normalerweise Opiat. Denken Sie daran, dass wir einige Zeit damit verbracht hatten, einen Leo PH früher einzurichten. Andi. Es wird grundsätzlich immer Standard Toe eins, so dass Sie gehen und angeben können,
indem Sie auf diese Ellipsenschaltfläche klicken, dann gehen Sie in Ansichten auf gemeinsam genutzten Andi. Sie können das kleine finden, so dass wir nur eine haben, aber Sie können mehrere Eos haben. Ich zeige Ihnen nur, dass Sie, wenn Sie mehrere Layouts haben, vielleicht verschiedene Vorlagen haben, mit denen
Sie arbeiten. Dann können Sie auswählen, welches Layout diese bestimmte Ansicht haben soll, so dass es keinen Schaden bei der tatsächlichen Auswahl gibt. Es ist sowieso ihre standardmäßig, weil die einzige, die wir haben, und es ist auch in der View Startdatei eingerichtet. Aber dann gehen wir weiter und klicken. Add on, dann ist es schlüpft die Ansicht aus. Okay, jetzt haben wir unsere Sicht und ich werde es einfach aufräumen,
entfernen Sie das jeweils zum Schleppen . Dann können wir uns einfach einen Blick darauf werfen. Und wir erkennen, dass es genauso aussieht wie über Ansicht erstellen. Wir erhalten ein Formular und wir erhalten Eingabe für unseren Text, der der Name und die Eingabe für das Erstellungsdatum sein wird, was wir nicht wollen. Also werde ich das nur entfernen, weil sie erstellt wurden, nicht bearbeitet werden sollten. Stimmt's, Onda? Eine weitere Sache, auf die ich aber hinweisen möchte, ist die Anwesenheit von diesem? Geben Sie das Entschuldigung dieser Eingabe. Entschuldigung, das hat eine Art von versteckt auf. Wir bemerken, dass es S p für I. D Also die Sache ist, wir müssen das i d von der Aufzeichnung verfolgen, weil das einzige, was der Controller weiß, ist was die Ansicht an sie sendet. Also, wenn wir diese Zeile mit den Eingängen entfernen, die versteckte Eingabe für I D. Weil ich den Primärschlüssel dem Benutzer nicht anzeigen muss, wenn er den
Recorder bearbeitet . Aber dann haben wir es versteckt. Aber wenn wir es ganz aus dem Formular entfernen, wenn wir klicken, senden oder speichern in diesem Fall den Controller, wenn er die Auktion für den TTP-Post trifft, wird
es nicht haben, dass dieses Modell nicht diese Idee hat. In Ordnung, Sie sehen
also, dass es vorbereitet ist, ein I d hier zu bekommen, aber das ist standardmäßig. Aber die Art und Weise, wie wir es gekratzt, sobald es da als verstecktes Feld ist, wird
es in das ganze Modell auf abschrecken sitzt, die zurückgegeben wird. Und so für die Urlaubstypen Controller auf, werde
ich nur sehen, ob die Änderung, die ich hier meine, und ich werde nur Zehe ändern Sie die Taste ein wenig. Das ist also sparen. Ich gehe zu mir. Diese speichern Änderungen auf Ich werde auch diese Bt und Erfolg treffen So Bt und Erfolg gibt uns einen grünen Knopf anstelle eines blauen Knopfes, der geschlagen und primär auf Tauchgang. Auch gehen, um diese ein bt zu treffen und jemanden zu blockieren, um zu verlassen oder zu bearbeiten Ansicht wie diese für nein, wenn sie in ihren Anpassungen sind, um sie später zu treffen. Aber ich werde mich jetzt auf die Post-Aktion für die Bearbeitung konzentrieren,
jemand, der die Standardparameter entfernt, die für uns generiert wurden, und wir können die gleiche
Art von Versprechen verwenden , die wir in der Create-Host-Aktion verwenden. Also werde ich einfach zurücksetzen lassen Typ VM und nennen es Modell dann im Versuch. Das erste, was ich tun werde, ist zu validieren, dass die Daten lebenswichtig waren, validiert die Daten verletzt. Also kann ich eigentlich nur diese if-Anweisung Andi Otik zurücknehmen, weil es der gleiche Scheck ist. Ich überprüfe, dass je mehr der Zustand geschätzt wird, weil wir vielleicht das Formular bearbeitet haben, das ich
in einen leeren Blatttypnamen einfügen würde . Wenn wir also auf Senden klicken, müssen
wir immer noch sicherstellen, dass der Modellstatus gültig ist. Wenn dies nicht der Fall ist, haben wir die Ansicht nur auf die gleiche Weise zurückgegeben, und es wird die Bearbeitungsansicht mit den Daten zurückgegeben, die eingefügt wurden. In Ordnung, also nachdem wir diese Hürde beseitigt haben, können
wir tatsächlich nur Ach kriegen, viel vor Gericht von dem, was wir mit der Schöpfungsaktion gemacht haben. So kann ich noch einmal den Urlaubstyp nehmen. Andi,
ich kann Muppet Box erinnern, dass diese Linie es abbildet. Einige haben diese Zeile nur jemand geliehen, um es von Blatttyp VM Toe verlassen Typ oder
Datenklasse und Speicher in dieser Variablen zu wischen , dann muss ich das erstellte Datum nicht ändern, da sie erstellt wurden, nie geändert werden sollte weil , die gesetzt wird, wenn es Periode ist und sich nicht wieder ändert. Aber dann kann ich sagen, Virenerfolg. Also werde ich einfach so weit gehen, ist so Erfolg gleich oder Bericht Punkte auf. Dann haben wir eine Funktion erstellt, die das es dann gesagt hat, wenn auch auf Entität oder
einige Objekte vom Typ verlassen Typ erwartet , die wir hier haben. Also sehen Sie, wir übergeben den Urlaubstyp in unsere Opiat-Funktion an. Dann werden wir es überprüfen. Wenn nicht, ist Erfolg. Dann werden wir auch zurückkehren oder anzeigen, und wir werden auch einen Modellzustandsfehler hinzufügen, einige nur mentale. wieder Leihen Sie sichwiederdieses Land der Schnur und stecken Sie es da rein. Andi, das sollte es sein. Also, wenn es erfolgreich ist, dann wird es den Speicher in der Erfahrung umleiten, die uns die Liste wieder zeigt. Und natürlich können
Sie immer ändern, wo Eric lesen. Also, wenn Sie einen bestimmten flog im Kopf haben und Sie können immer die Redirect Toe Aktion ändern und Sie können sogar sehen, lesen Sie Eric Toe auf Aktion in einem anderen Controller, wenn Sie möchten. Aber ich werde nur das Fanggebiet ändern. auch Setzen Sieauchin diesem Modellstatusfehler Onda die Ansicht mit Daten auf. Das würde also das meiste vervollständigen, was wir für unsere und seine Handlungen tun müssen. Also werde ich eigentlich nur zu debuggen und wir können testen. In Ordnung, also lassen Sie uns niemals Seitenablass-Typen im Morgengrauen bekommen oder bearbeiten, sind in Erfahrung. Wir werden darauf klicken. Wenn Sie also in die untere linke Ecke schauen, sehen
Sie, dass der Link generiert wird. Lassen Sie Typen Schrägstrich es es Schrägstrich eins. Also, das will repräsentiert das i. D, das mit dieser Regel verbunden ist, sowie dass ich entwertige, das im Schlepptau übergeben wird. Unsere Aktion. Ordnung, also gehe ich einfach zurück Klicken Sie auf Bearbeiten und Erwartung ist, dass der erstere
mit den Daten für diesen artikulären Urlaubstyp geladen wird . Also, wenn ich diese Idee im Link auf ändere, sagen
wir 10, also habe ich nur einen Datensatz. Offensichtlich gibt es keinen Urlaubstyp mit einer Idee von 10 und ich drücke Enter. Dann sind wir fertig Pfeil. Das ist also nicht angerufen. Genannt die Ausführung ihrer weil, Nun, es suchte nach einem mit 10 und fand es nicht. Und so hat es das Mart-Telefon zurückgegeben. Also natürlich kann er diese Erfahrung besser verwalten, wenn Sie möchten, aber ich werde es einfach ernst machen und mit einer an die Editieransicht zurückkehren. Dann werde ich die Urlaubsblätter sehen. Ich ändere den Namen von nur Vicky, Sohn. Der Urlaub Urlaub sind nicht und dann habe ich geklickt, Änderungen
speichern auf. Dann wird es auf den Posten treffen. Senden Sie die Änderungen an die Datenbank dann, wenn Sie das Erstellungsdatum bemerken,
wurde zurückgesetzt. Also habe ich gesagt, dass wir das Datum sitzen würden, das erstellt wurde, weil sich das nie
ändern sollte . Aber weil es vorbei kam und ich werde nur einen Bruchpunkt für diese Post-Aktion setzen, damit Sie genau
sehen können , was passiert. Ich werde es in diese Zeile setzen, in
Ordnung, Ordnung, also werde ich wieder in die Bearbeitung gehen, und ich werde nur sehen, ob sie sich ändert, damit Sie sehen können, was genau mit
diesem Datumswert passiert . Wenn ich also den Mauszeiger über den Blatttyp führe, sehen
Sie, dass diese Datumswerte zurückgesetzt werden, weil ich es nicht im Controller setze, aber ich verfolge es auch nicht in der Bearbeitung. Es ist also etwas, das ich transportieren muss. Was ich tun werde, ist, dass ich aus dem Boot kommen will, das festgemacht ist. Dann gehe ich zurück in die Ansicht dafür. Es auf dso werden sie erstellt, ist etwas, das ich nicht anzeigen muss, aber ich muss verfolgen. Also werde ich das so behandeln, wie ich das i d behandle. Ich muss das i d dem Benutzer nicht anzeigen. jedoch Ich muss esjedochwährend einer Bearbeitung Truck machen. Also werde ich diese Zeile nur duplizieren, und dann möchte ich sehen, dass ich eine versteckte Form möchte, ähm, Elemente dafür erstellt. Okay, also habe ich einen Urlaub verpasst, also werde ich Urlaub allein lassen, um einen weiteren auf Ben zu erschaffen. Wir werden genau sehen, wie das funktioniert, also gehe ich zurück in den Debug-Modus, erstelle ein neues Vic, lasse den Typ an, bearbeite ihn dann
und dann sehen wir, dass das erstellte Datum verfolgt wird. In Ordnung. Jemand, der einen erschaffen kann, und ich werde diesen einen Krankheitsurlaub nennen, dann erschaffen. Nein, es ist Editorialist, und ich sehe, dass es einen besseren Wert für das Datum hat. Ich werde es bearbeiten, wenn Sie Fuß gehen, vielleicht nehmen Sie das Wort verlassen an, dann speichern Sie Änderungen auf. Dann werden wir den Bruchpunkt erreichen. Und wenn ich darüber schwebe, werden
Sie sehen, dass es erstellte Wert Routine ist. So wissen wir immer noch das Datum erstellt Wert. Zweite uns. Gehen Sie weiter und ununterbrochen. Ich werde den Bruchpunkt entfernen. Fahren Sie weiter. Dann sehen Sie, dass es die Daten routiniert. Also, jedes Mal, wenn Sie Daten haben oder Sie ein Objekt haben, das Sie bestimmte Elemente
auslösen möchten , weil abseits der Natur von unserer Modell- und Ansichtsmodellbeziehung und den Datenpunkten, was wird verfolgt? Was wird nicht verfolgt? Sie können immer versteckte Fühlungen erstellen, die die Daten zwischendurch beibehalten werden, wenn nötig. Also gehe ich zu Nun, wir müssen unsere Details aufstellen und jemanden löschen, der Zehe hat. Nun, ich werde den Urlaub entfernen und ich werde es wieder erstellen, dann sollte es
okay sein , danach, wenn wir es bearbeiten können, also in der nächsten Lektion werden wir die Details, die Sie waren, als wir klicken, Details werden zu einer Seite geführt, die nur die Details zeigt, was auch immer es erforderlich ist, dass wir uns konzentrieren wollen.
19. Einrichten: He, Leute. In diesem Nissen werden Einrichten oder Detailansicht in unserem Blatttyp-Management-Modell
eingerichtet oder Detailansicht. Wir müssen nur ein paar Schecks machen. Möchten Sie überprüfen, ob der Datensatz, für den Details angefordert wurden,
tatsächlich vorhanden ist ? Wenn dies der Fall ist, dann fahren wir fort, um die Daten zu erhalten. Rendern Sie die Ansicht, damit wir zuerst beginnen, indem Sie eine if-Anweisung ausführen, wenn und sie
unser Berichtsobjekt aufrufen , das existiert. Also werden wir überprüfen, ob es existiert, und dann wird dies zurückkehren. True, wenn es existiert, ich möchte zurückkehren oder ich möchte überprüfen. Wenn es geht Toe sicher ist auch vorhanden und es erwartet einen Umfang in Form einer Ganzzahl. Also geben wir es weiter. Das I D wird überprüfen, ob dieser Datensatz überhaupt existiert, oder wenn er nicht existiert, dann wollen wir nur zurückkehren, nicht angerufen. So wird diese Erfahrung später verfeinern. Dann, wenn dies nicht auswertet oder diese Stückaussage nicht ausgeführt wird, als das, was wir
tun wollen , ist var verlassen Typ wird gleich über Bericht Punkt finden von I d auf. Dann werden wir eine andere Variable erstellen. Nennen Sie es Modell an in diesem. Wir werden die Mop-Versionen speichern oder mein Obermaterial anrufen, nicht Mopp an. Dann wischen wir Rindfleisch ab. Geben Sie die Datenklasse im Schlepptau ein. Lassen Sie Typ V. M. Also ich sage, lassen Sie Typ V M auf. Dann übergeben wir das Objekt, das gespeichert ist oder Dita auf. Dann wissen Sie, dass wir das Modell haben, das wir kennen. Übergeben Sie es einfach über unsere Sicht. Der nächste Schritt wäre also, diese Ansicht basierend auf diesem Blatttyp VM basiert
uns einige indirekt anzeigen goto ad view. Wählen Sie die Vorlage auf in diesem Fall möchten wir die Details auf. Dann wählen wir die Wasserklasse, die Typ V M eingeschaltet sein wird. Dann kann alles andere so bleiben, wie es ist. Und dann klicken wir. addieren Dannaddieren. Hallo? Es ist, um die Ansicht zu generieren. Alles klar, also nein, unsere Ansicht wird generiert und, wie üblich,
verstehen, verstehen, löschen Sie diese 84 Tag auf ihre wir können nur einen kurzen Blick auf das werfen, was angezeigt wird, also
haben wir eine BT und D Tabs eso wie gewohnt. Wissen Sie, wir können das ändern, aber ich verstehe das lassen Sie es als Standardvorlage. Aber das ist, was wir als Ansicht bekommen. Also bekommen wir einen friedlichen Namen für auf, dann haben wir eine Anzeige für und wenn Sie bemerken, es verwendet Lambda Expressions Sightseeing. Ich möchte den HTML-Helfer-Anzeigenamen für die Funktion, die den Namen und den
Namen dort anzeigen wird, wirklich lassen Sie mich mein Modell finden. Der Name dort, von dem gesprochen wird, ist wirklich Anzeigename. Also denken Sie daran, was wir sagten, dass Tribut für Datum erstellt, wo wir sagten, der Name sollte schlagen Raum erstellt werden. Was dieser Helfer wirklich tut, ist, dass er mir den Namen gibt, der als Name
vier für die Attribute im Modell angegeben wird . In Ordnung, also bekommen wir den Namen für die Eigenschaft namens Name in oder lassen Typ VM eingeschaltet . Aber dann bekommt es den tatsächlichen Wert. Es ist also keine Anzeige des Wertes und wir sagen Anzeige für, so dass wir tatsächlich nur diesen
gesamten Block aus Reserve einwickeln können nimmt alles, was wir in einem P-Tag in einem H eins oder H
fünf oben wollen . Was auch immer sie tun wollen, wir können tatsächlich nur alle unsere HTML sind im Besitz der Helfer-Tags, um den Inhalt irgendwie
ganz zu bekommen . Du wolltest gut aussehen. Auf die gleiche Weise erhält es den Anzeigenamen für und das Datum, das am erstellt wurde. Dann zeigt es den tatsächlichen Bit-Schöpfer an und dann blasen. Wir sehen, dass wir einen Link so auf jeder Seite bekommen und es ist mein Modell vorbei. Also wissen wir, dass einmal darauf geklickt wurden,
es erwartet, dass Zehe einen Wert für das i haben. D. Also geben wir mehr Modell diese Idee als Parameter weiter. Dann hat es auch eine Schaltfläche, um zum Index zurückzukehren
, der als zurück zur Liste markiert ist. Also werde ich das schnell ausführen und wir können einen Blick auf die Detailrede werfen. Ordnung, also von unserer Indexseite, InOrdnung,
also von unserer Indexseite,werde
ich nur auf Details klicken und dann werden wir sehen, wie es zu den Details
des Artikels mit dem I D zu navigiert , und so sieht die Detailrede aus. Also Name auf es ist krank und dann Datum erstellt seinen Raum erstellt, weil es den
Namen auf diesem Bit off Details anzeigt , so dass ich sehen kann, es ist eine sehr einfache Sache. Es ist sehr, ähm, einfach, wie ich gerade sagte, aber wir können es so ändern, wie wir es wünschen. Wenn ich auf Bearbeiten klicke, wird es in die Editiertonhöhe umgeleitet. Vacillate zurück zur Liste. Es geht zurück auf den Index. Es ist also immer eine gute Regel, die beim Entwerfen einer Webseite folgt, auf der Sie von fast jeder anderen
Seite zu jeder Seite gelangen können . pH-Wert Es ist eine gute Faustregel, Ordnung, also nur durch das Gerüst aus den Ansichten, erkennen
wir, dass sie uns bei dieser Regel helfen. Wo, wenn ich auf der Bearbeitungsseite auf bin, möchte
ich zurück zu Index gehen. Ich muss nicht unbedingt hierher kommen und das nochmal nehmen. Aber es gibt einen Link rechts. Sie sind zugänglich, um wieder zur Liste zu gelangen. Wenn ich auf die Details Rede auf, Ich möchte es bearbeiten oder zurück zur Liste gehen, kann
ich entweder tun, so ist es eine gute Regel Zehe. Folgen Sie, dann, aus der Indexrede, kann
ich immer einfach gehen, um eine neue zu erstellen Also, das ist es für Nein auf unsere Details Rede. Das nächste, was wir tun werden, ist die Arbeit an unseren Löschfunktionen.
20. Einrichtung von Type Lösche Funktion: Hey, Leute, in diesem Hören, werden
wir die Löschaktionen in unserem Controller konfigurieren. Nein, standardmäßig oder vom Controller generierter Code. Geben Sie uns, um Aktionen zu löschen. Wir haben eine, die Zugang zu bekommen und eine, die als Post fungiert. So ziemlich wie Get ist eher, als würde es uns einen Bestätigungsbildschirm geben. Sind Sie sicher, dass Sie den Datensatz löschen möchten, den Sie einfach auf Löschen klicken und der uns wie ein Ja oder Nein geben wird ? Wenn wir ja wählen, dann ist es anders elegant. Tun Sie sich wie ein Formular. Senden Sie am, dann die Erwartungen, dass wir es an den Beitrag übergeben, führen
Sie dann den Löschvorgang in dieser Host-Aktion aus. Verschiedene Menschen nähern sich der Löschung anders. Einige Leute üben also, was sie als Soft Delete bezeichnen, wo sie den
Datensatz nicht wirklich aus der Datenbank entfernen . Sie haben es in einen Zustand versetzt, der etwas mehr Anpassungen von unserem
Hof nehmen würde . Andi, manche löschen einfach. Also im Moment werde
ich nur die Basis löschen, wenn sich ein Projekt erweitert. Dann sehen wir vielleicht die Notwendigkeit, stattdessen eine weiche Elite zu machen. Kaum so für nein, ich werde nur die Ansicht für die Löschaktion einrichten, um Aktion zu erhalten, und dann werde ich die Logik für die Nachbearbeitung einrichten. Also, jetzt hättest du sowohl den Schöpfer als auch das Löschen gemacht, so dass du mit dem Get on the post vertraut bist. Also, wenn Sie einen Blick auf, was erwartet wird, sieht
es sehr ähnlich zu dem, was wir mit unserem getan haben. Und es ist so buchstäblich nur, um alles zu kopieren, was wir für die Bearbeitung getan haben. Ich werde es nur in den Löschvorgang einfügen. Also überprüfen wir, ob der Datensatz, der übergeben wird, existiert, nur entfernen Sie diese zusätzliche Zeile. Wenn es nicht existiert und wir den nicht Telefonfehler zurückgeben, wenn es diese existiert, was bedeutet, dass diese Anweisung nicht ausgeführt wurde. Er wurde übersprungen. Dann wollen wir, dass wir es bei mir finden. Dann wollen wir diese Daten zurückgeben. Also unsere Ansichten Ich bin nur vertraglich Ansicht auf Gehe zu Anzeigenansicht und dann ist diese Zeit oder Vorlage löschen. Also haben sie eine Vorlage für die Elite. Wie üblich über Daten sind unsere Modellklassen lassen Typ VM eingeschaltet. Dann klicken wir auf Hinzufügen sind so die Ansicht, die wir bekommen sieht sehr ähnlich. Tore löschen Ansicht Verstehen Sie, dass H für Tag zu entfernen, damit wir löschen und es gibt uns eine Nachricht. Sehr sicher, dass Sie dies von Kurs löschen möchten. Wir können die Formulierung so ändern, wie wir es wünschen. Dann gibt es uns die Details von welchem Datensatz entfernt werden soll, und dann geben sie uns irgendeine Form, wo es nach der Option sucht. Löschen. Es hat das versteckte Element für das i. D. aus dem Datensatz, der auf angezeigt wird. Dann ist es zu sehen Wollen Sie einreichen? Also heißt es löschen. Ich werde nur Value Leader Datensätze sagen, die den Text in der Schaltfläche ändern bereits Bt und Gefahr, die ein roter Knopf ist. Also das macht es Bt und Dash Block wie gewohnt auf, dann haben wir einen Dollar aufzulisten. Also, wenn Sie dieses Feuer bekommen und dann schauen Sie es, irgendwelche ein paar Reue über die Tatsache, dass Sie es löschen, dann können Sie immer einfach zurückdenken an die Liste und gehen Sie zurück zum Eintrag, wenn Sie Ihre
Meinung ändern . Also weiß ich, dass wir die „get on the view“ eingerichtet haben. Nein, wir müssen die Logik einrichten, die hinter der eigentlichen Ausführung der Löschungen steckt. Ich möchte mir nur eine Schnur von unseren bestehenden Post-Aktionen leihen, weil Sie erkennen, dass wir viele Dinge
tun. Es ist das gleiche Muster. Wirklich. Also zuerst nehme
ich das Modell. Nun, ich bin eigentlich nicht gehen, um das Modell zu nehmen, weil wirklich, n wirklich ist es nur die Weitergabe an I d So bemerken oder Form in dieser Situation ist nur die Weitergabe an ich d auf. Das sind die einzigen Daten, die wir von dem Formular erwarten können, das unseren
http-Beitrag aufruft . Also in der Elite-Gastgeber, werde
ich wirklich nur in Idee kommen. Ich werde kein Modell übergeben. Also, um das Modell übergeben zu werden, müsste
ich dieses Formular tatsächlich mit allen Elementen ausfüllen,
wie das, was wir im Schöpfer und im Bearbeitungsformular gesehen hätten. Onda, müssen
wir nicht tun. Wir brauchen nur die Idee. Also werde ich Ihnen das ganze zeigen, mit nur der Idee wieder, immer noch operieren. Also beim Löschen übergeben wir das i D. Aber dann gibt es mir einen Fehler. Oh, ja. Also dieser Bereich ist, weil es schien, dass es bereits eine Funktion Aktion Ergebnisse löschen. Ich kann nicht damit, dass das einen Umfang in mein de Konto von einer Mutter Funktion
des Meeres und Rückgabetyps akzeptiert . Gleicher Name mit dem gleichen erlaubt. Also verstehe ich, Zehe setzen in das Modell. Aber das ist wirklich ohne Erfolg. Dies ist nur der Unterschied zwischen der Post-Delete-Aktion auf dem get delete. Alles klar, was hier passieren wird, ist, dass ich sehen werde, Nun, das Modell wird sowieso leer sein, so dass nicht wirklich viel darüber, dass wir zumindest das i.
D.erwarten D. also wissen, dass Ich habe die Idee. Das erste, was ich finden muss, ist die Entität. Also werde ich unsere Urlaubstyp speichern ist gleich andi. Bericht. Objekt angedockt. Finden Sie nach i d. Weil angenommen, wo ich es wirklich in der Datenbank auf dso Nein identifizieren kann, ist
dies die Entität, die ich die führende sein werde. Also das nächste, was ich tun werde, ist, ich werde Ire zu retten, ist Erfolg gleich zu unterstreichen Wieder Pull Punkte. Und dann hatten wir eine Löschfunktion, die auf Entitätsperimeter vom Typ
Leave-Typ erwartet , der durch
die Ergebnisse verkörpert wird, die von find by I d zurückgegeben werden. Dann setzen wir es in diesen Funktionsaufruf ein, dann können wir unsere Wertschätzung tun und sehen, ob es erfolgreich gelöscht wurde. Und ich leihe mir das einfach eine Aussage aus einem bestehenden Block aus. Also, wenn es nicht erfolgreich war,
als zurückzukehren in einem Bereich den Modellzustand zu setzen, müssen
wir eigentlich nicht einmal eine Luft in den Modellzustand versetzen. Wirklich? Weil wir den Modellzustand nicht validieren, da wir nur die Idee zurückbekommen. Wie auch immer, auf gibt es keine Riel-Validierungszusammenfassung, die irgendwo hier platziert wird. Wenn es also nicht erfolgreich gelöscht wurde, haben wir gerade die Ansicht mit dem Modell zurückgegeben. Andernfalls leiten
wir zu unserem Index um. Ich bin auch gelernt zu überprüfen, ob dieses ich d oder der Datensatz existiert, also werde ich sehen, verlassen Typ bekommen zu haben, ich werde eine if-Anweisung auf setzen,
sagen wir, lassen Sie den Typ, wenn der Urlaubstyp äquivalent ist zu wissen. Alles klar, das bedeutet, dass er ein I.
D.hat D. das es nachgesehen hat. Dann wurde nichts zurückgegeben, also ist das noch leer. Dann sind wir einfach zurückgekehrt, nicht angerufen. Es ist also eine ähnliche Sache wie das, was wir bisher gemacht haben. Es ist etwas anders wegen des Bodens aus. Ganze saß auf Rekord was? Letztendlich ist es der gleiche Nettoeffekt. Sie wissen also, dass es mehrere Möglichkeiten gibt, um das Gericht zu fahren und situativ. Möglicherweise müssen Sie es anders schreiben. Das ist also ein Ausweg. Implementieren Ich lösche eine andere Möglichkeit, eine Löschung zu implementieren, besteht darin, alles in nur
der einen get-Aktion zu tun . Also, wenn die Person klickt, löscht, dann machen wir einfach den Blick nach innen aus dem get tun das Löschen und dann umleiten, so dass wir wirklich keine ah-Bestätigungsansicht haben würden. Aber wir haben nur auf Aktion, die das Löschen Aktionen und dann den Index umleitet. Aber natürlich möchten Sie Ihre Schecks eintragen, um sicherzustellen, dass diese Person absolut
sicher ist , dass sie versucht, diesen Datensatz zu löschen. Sie möchten sicherstellen, dass Sie in Beleidigung in Ruhe von jedem Benutzerfehler setzen. Okay, also schauen wir mal nach, wie das funktioniert, und ich gehe nur zu Fuß. Nun, wenn es einen Fehler im Try Catch gibt, dann werde ich die Ansicht mit dem Modell zurückgeben. Plötzlich setzen Sie das einfach rein. Und dann ging ich mehr ins Debuggen, als lassen Sie uns die Hitze testen. In Ordnung, also sind wir bei Index und wir testen die Löschfunktion. Also Urlaub lassen diese Art vermasselt, weil der große geschaffene Wert keinen
Sinn ergibt. Zehe uns als Menschen. Also werde ich dieses löschen, und dann werde ich es wieder erstellen. Also werde ich klicken, löschen, und dann wird er den Bestätigungsbildschirm aufrufen. Da gehen wir. Es zeigt uns die Details. Sind Sie sicher, dass Sie dies auf dann die große rote Schaltfläche löschen möchten, die Aufzeichnung löschen oder
über Liston sagt ? Wieder einmal, wir werden alle diese Ästhetik zu beheben, aber für keinen wird nur wie führen, um aufzeichnen. Dann leitet es den Index um, nachdem er den Datensatz aus den Daten entfernt hat, erfolgreich
sein. Also werde ich einfach in eine ganze Menge hindurchgehen, damit wir sicher sein können, dass alles funktioniert. Also werde ich eine neue erstellen waren eine Karte auf. Ich ging zum Urlaub Recreate und dann sage ich, Erstellen auf. Dann sehen wir, dass wir ein vernünftiges, sei es für unseren Urlaub Urlaub Rekord. Ich werde auch krank zu tun oder zu bearbeiten, weil es sagen sollte Krankheitsurlaub und nicht nur sechs jemand zu sagen, Krankheitsurlaub und dann speichern Änderungen auf. Dann überprüfen wir, dass unsere Bearbeitungsfunktion funktioniert, wenn wir auf die Details klicken und ich nur mit der mittleren Maustaste klicke, so dass Details in zwei verschiedenen Registerkarten geöffnet werden. Also sehen wir die Details für den Krankheitsurlaub und sehen die Details für den Urlaub. Wir sind also versichert, dass Details funktionieren. Dann haben wir gerade überprüft, dass das Löschen funktioniert. Jetzt werde ich unsere Löschfunktion ein wenig ändern, und ich werde alle Notwendigkeit nehmen, dass es zur Bestätigung Pitch gehen und dann
löschen wir wieder. Was ich tun werde, ist eine kleine Bestätigungsnachricht einzusenden. Also, wenn die Person auf die Leads klickt, werden
sie sehen, wie unser Pop-up sie fragt. Sind sie sicher auf Dann, wenn sie auf Ja klicken, dann geht es weiter. Wenn sie auf Nein
klicken, passiert nichts. Aber es wäre nicht Zehe navigato eine ganz andere p nur das Ascari Shirt, wenn Sie bereit sind, zu löschen. Also möchte ich zu meinem Einverständnis zurückkehren, dass ich immer noch im Debug-Modus bin. Ich werde nicht mehr aus dem Debunk kommen. Ich gehe zu meiner Indexansicht. Also finde ich Index und dann werde ich das Verhalten von meiner Löschtaste ändern. Also innerhalb des Onkels Toggle zum Löschen, werde
ich in ein Java-Skript eine Funktion einfügen, die beim Klicken aufgerufen wird. Das ist also ein Ereignis, das so unklar ist. Ekbc. Ich wollte einige Dinge tun, die ich auf Click is Equal toe sage Und dann würde ich einfach, wie, einen JavaScript-Code in diese Anführungszeichen
einfügen, so dass es etwas tun wird wenn darauf geklickt wird. Also, wenn es tut, dass ich zurückkehren wollte und dann ging ich zu sehen bestätigen auf dann. Dies ist, was die Papa-Box zeigen wird, also bestätigen Sie, dass eine Pop-up-Box aufgerufen wird. Aber dann will ich eine Nachricht in der Blasenbox, die ich definieren werde. Bist du sicher, dass du das bist? Sie möchten mit dem Löschen dieses Datensatzes begonnen haben. Daher fragen wir den Benutzer Sind Sie sicher, dass Sie diesen Datensatz löschen möchten? Das ist, wenn sie klicken. Löschen. Es fragt das genau da auf dem Pfirsich. In Ordnung, das ist
also Veränderung. Nummer eins, die zweiten Ketten, ich werde aus dem Debug-Modus kommen müssen, weil nein, ich werde das Verhalten von unseren Aktionen ändern,
jemand, der alles innerhalb der geht an zu tun. Ich werde mit der Rückgabeansicht zu tun und dann bestätigen, Also werde ich aus dem Buch mehr als diese Änderungen gemacht zu kommen. Das
haben wir schon mit der Idee gesehen. Wir können tatsächlich die Platte bekommen, die wir wollen und manipuliert, wie wir wollen. So buchstäblich. Der gesamte Kern, der in diese dieser HTTP-Post-Funktion eingefügt wird, könnte innerhalb
des Get gesetzt worden sein. Also, was ich tun will, ist eigentlich nur das alles abnehmen, wo ich mein Ich auf finde. Dann überprüfe ich, ob es nicht an ist. Dann habe ich versucht, das Löschen zu löschen, und dann werde
ich umleiten, und dann werde
ich umleiten,ich werde alles von diesem Gericht abnehmen, tatsächlich, ersetzen Sie
einfach das, was da drin geschrieben ist, durch das Gericht. Wenn ich also auf die Schaltfläche Löschen klicke, wird
es diese Aktion treffen. Es weiß, dass die Idee es von I D finden wird. Es wird überprüfen, ob es bei der Rückkehr ein 404 klein ist Wenn es dann geht zu sehen, ich möchte versuchen und löschen und dann werden wir überprüfen, ob es erfolgreich war. Wenn es nicht erfolgreich war, dann gibt es keine Ansicht, dass ich zurückkehre. Stattdessen kann
ich eine dieser integrierten Funktionen zurückgeben. Also komme ich zurück, nicht angerufen. Hier. Ich werde so etwas wie schlechte Anfragen zurückgeben, was ein 500 Pfeil ist, der,
du weißt schon,
ziemlich beliebt ist du weißt schon, , wenn etwas schief geht. Also werde ich nur unsere Leiche zurückgeben gebeten. Also, wenn Sie versuchen, es zu löschen und etwas schief gelaufen ist, dann bekommen wir die Körperanfrage auf. Dann leiten wir den Index um. diese Änderungen mache, kann
ich dies tatsächlich einfach löschen Wenn ich möchte, was ich es dort lassen möchte, möchte
ich es nicht entfernen, wenn ich in den Debug-Modus gehe und diese neue
Löschfunktion ausprobiere . Also, um den Gedanken zu testen, Ah zu erstellen, wird eine
zufällige Nummer diesen einen Test beim Erstellen aufrufen, dann werden wir testen, ob
wir es auf einmal löschen können. Also, wenn ich die Leads behandle, kriegen
wir unser Pop-up. Möchten Sie diesen Datensatz wirklich löschen? Das ist also, dass der Dialog durch unseren JavaScript-Code ausgelöst wird. Dann klicke ich auf OK. Dann wird es handeln und umleiten,
also ist es fast so, als wäre nichts passiert. Aber die Aufzeichnung fehlt nicht, also sind es nicht die Seiten, die viele sind. Die Aktualisierung des Datensatzes ging fehl, und selbst wenn ich aktualisiere, bemerken Sie es, Wo ist die Datenbank wieder? Darauf kommt nicht zurück. Das ist also ein netter, sauberer Weg, um ein Löschen zu machen, ohne auf eine ganze andere Seite zu gehen. Nur um die Frage zu
stellen: Bist du sicher, dass du es damit machen willst? Wir haben unsere Crowd-Operationen in den nächsten Videos abgeschlossen. Wir werden das Aussehen und das Gefühl ändern, dass wir uns verändern werden. Halten Sie die Bearbeitungsdetails gedrückt und löschen Sie Verknüpfungen. Schauen Sie auf, ändern Sie ganze oder Ansichten. Es wird nein, nur ein paar Verbesserungen. Machen Sie es einfach ein bisschen ansprechender auf unten. Wir werden mit der Ästhetik fertig sein, und dann werden wir unsere Änderungen überprüfen, um uns zu unterhalten
21. Hintere Type und Font Symbole hinzufügen: Hey, Leute, willkommen zurück zu einer anderen Lektion in dieser Sitzung. Wir werden etwa acht Noten für unsere Indexseite implementieren. Wir werden einige Icons implementieren. Wissen Sie, fügen Sie
einfach ein wenig mehr Stil auf unseren Seiten Bisher jetzt, nur um die Arbeit zu überprüfen, die wir bisher getan haben, haben
wir Crowd-Operationen für unsere Blatttypen abgeschlossen. Wir haben über Index-Seite getan, wo wir alle Blatttypen derzeit in der Datenbank auflisten . Wir haben unsere kreierte Form geschaffen und verstehen, dass jeder in seiner eigenen Spitze offen ist. Wir haben unsere Löschung oder Details auf unserer getan. So haben wir unsere kreierte Form,
einfach, aber elegant. wo das Formular bearbeitet wird. Wir können auch die Details sehen und wir sehen, dass wir auf Löschen klicken Did es wird uns versprechen . Sind wir sicher? Und dann, wenn wir auf OK
klicken, wird das Löschen tatsächlich passieren. Also, wenn abgeschlossen Menge jetzt, was wir in diesem Tu Toro tun wollen, ist die Art und Weise das Aussehen ändern und fühlen sich vom Tisch. Du siehst also den Tisch. Es ist statisch, es ist buchstäblich nur auf HTML-Tabelle. Wenn es 100 Datensätze gibt und es einfach aussieht. Nein, weil es nur zwei gibt. Wenn es 10 gäbe, würden Sie wahrscheinlich in der Mitte der Seite erreichen, wenn es 100 gäbe, würden Sie am Ende scrollen. Also werden wir acht eine Tabelle implementieren. Wir sind die Nummer, die nicht im Rekord ist. Nun, die Datentabelle wird tatsächlich die Präsentation von den Aufzeichnungen transformieren, die uns Paging geben . Auch die Suche wird keine Suche implementieren. Nein, wir werden nur die Datentabelle einfügen und dann können wir sie verfeinern, während wir weitergehen. Aber zumindest werden wir die Datentabelle dort haben, so dass, wenn mehr Datensätze beginnen, wir uns schwer Sorgen machen, dass der Tipp nur weiter Regeln hinzufügt, und das muss scrollen. Schließlich wird
Body in Paginierung hinzufügen, so dass es vielleicht 10 Datensätze auf der ersten Rede zeigen wird und dann müssen wir zum zweiten bezahlt für die nächsten 10
usw. gehen . Wir werden auch einige Stile zu unseren Links hinzufügen a c neue erstellen. Es ist nur ein Bett-Link. Details bearbeiten, Lead. Sie sind alles nur du weißt, Spielen von Links wird einige Stile hinzufügen und auch einige Symbole in unsere Anwendung importieren um dem Look and Feel ein wenig mehr Flair hinzuzufügen. Nein. Bevor ich all diese wunderbaren,
aufregenden Aktivitäten
beginne , möchte ich einfach wieder ins Visual Studio gehen, etwas wirklich schnell raus. Also früher hätte ich erwähnt, dass, wissen
Sie, wenn Sie im Debug-Modus eine Änderung an der ursprünglichen Seite
vornehmen, die Änderungen widerspiegeln würden. Wenn Sie nur aktualisieren, haben
Sie möglicherweise nicht diese Erfahrung, und Sie würden Browser-Link aktiviert haben immer noch nicht diese Erfahrung gehabt haben. Also Visual Studio tatsächlich tut die Schule Sache, wo man es tatsächlich hostet die Website in einem. In einer sehr kleinen Version von Internet-Informationsdienste sind s wie auf sie ausgedrückt ermöglicht es
Ihnen , tatsächlich Launcher Anwendung unabhängig von das Boot, Stimmung auf Änderungen zu machen und zu aktualisieren und sie zu sehen. Zum Beispiel Zum Beispiel bin
ich gerade nicht im Debug-Modus, aber ich gehe zu meinem Bruder und starte die Anwendung auf. Ich kann voran gehen und klicken Sie auf erstellen neue auf Sie sehen, dass der pH-Wert geändert. Ich werde in einen Testtyp klicken Sie auf die Anwendung erstellen, die es erstellt wurde. Also mache ich all diesen unabhängigen Debug-Modus, weiß der Nachteil daran ist, wenn ich
einen Breakpoint setze , dann wird es nicht in der Lage sein, in der Mitte des Prozesses zu stoppen und mir tatsächlich erlauben,
die Variablen zu sehen und tatsächlich die Anwendung. Also wissen Sie, wenn wir vielleicht Designänderungen machen, wissen
Sie, Benutzer stört Änderungen, dann wäre diese Methode wahrscheinlich schneller, wo, besonders wenn Sie zwei Monitore haben, wenn wir vielleicht Designänderungen machen,wissen
Sie,
Benutzer stört Änderungen,
dann wäre diese Methode wahrscheinlich schneller, wo,
besonders wenn Sie zwei Monitore haben,
haben die Bro auf der einen Seite, irgendeinen Platz auf der anderen Seite. Sie haben die Änderung zu Ihrer Aktualisierung vorgenommen. Sie sehen genau, was passiert, wenn Sie andere Modifikationen vornehmen, das Gericht und die Logik, und Sie wollen tatsächlich den C-scharfen Akkord debuggen. Dann möchten Sie es wahrscheinlich im Debug-Modus tun, also müssen Sie zu meinen Gedanken. Sie können sie so verwenden, wie Sie es für richtig halten. Also für diese Sitzung werden
wir die Broza Link-Version aus Debugging verwenden. Wir werden nur einige visuelle Änderungen auf wir nur Knochen zwischen Visual Studio auf unserer
Anwendung im Browser machen . Nun, mit allem, was gesagt hat, lasst uns ans Telefon gehen. Also bin ich auf einer Website Datentabellen dot net auf. Sie können sehen, dass es sich um eine fortgeschrittene interaktive Gier handelt. Und hier ist ein Beispiel dafür, was Sie erwarten können, sobald Sie es implementieren, ist
es kostenlos. Die Wegbeschreibung zum Einstieg finden Sie auf der linken Seite. Sie sagen, dass Sie zwei Dateien einschließen müssen, eine für CSS und eine für G s. Nun, wenn Sie sie betrachten, stellen
Sie fest, dass es sich tatsächlich um Weblinks handelt. Wenn ich nur in das CSS auf Kopie klicke und wenn ich eine neue Registerkarte öffne und einfüge, dann bemerken Sie, dass eine Datei im Bruder erscheint. Das sind also was? Da CD und Links CD und versichert für Content Delivery Netzwerk auf das, was die Leute tun, ist stattdessen aus,
erfordert, dass Sie nicht laden die harte CSS-Datei wie, Oh, wir haben die Bootstrap CSS-Datei in unserer Anwendung, zum Beispiel. Und andere gehen dorthin,
stellen Sie sicher, was? Ich meine
, in w w haben wir das CSS Sorry. In der lib haben
wir den Bootstrap auf einem undeutlichen CSS, und wir haben das eigentliche Feuer hier. Also anstatt zu verlangen, dass wir die physische Datei auf dem Computer haben, was sie tun, ist es im Internet zu hosten und ich verlor nur das Kabel über ihr
Hosting einzubetten Also noch einmal, der erste Schritt ist die Einbettung sind, die CSS oder den Link zur CSS-Datei in unserem Gericht. Einige wollen zurück zu Visual Studio auf der Suche stündlich, alte Seite. Also gehe ich zu Ansichten, die auf offenem Layout geteilt wurden, auf unserer Leo-Seite finden
wir die Ära,
in der die CSS-Dateien irgendwo aufgenommen wurden, um sie unter
den Bootstraps aufzunehmen . Also habe ich das gesagt, bevor diese Reihenfolge wichtig ist, wenn Sie CSS und JavaScript abgelegt sind. Sie stellen also sicher,
dass Bootstrap wahrscheinlich an der Spitze ist, weil viele Dinge viele andere Frameworksvon Bootstraps
erben. Bootstrap wahrscheinlich an der Spitze ist, weil viele Dinge viele andere Frameworks CSS-Datei. Also bin ich nur, ich habe nur die Kontrolle de auf dupliziert diese Datei auf. Dann werde ich nur den Air Treff Toe Bootstrap durch CD und Link ersetzen. Was das also tut, ist, wenn die Leo-Seite rendert, wird sie den Verweis auf das
CSS-Feuer enthalten , das wir gerade über unseren Browser gesehen haben. Dann sagen sie auch, dass wir eine Js-Dateien auf vegetate diesen Js-Link einschließen müssen und dann
ging ich zu einer ähnlichen Operation, bei der ich zum JavaScript-Abschnitt gehen werde. Ich werde nur diese Linie mit den Stiefelgurten duplizieren. Noch einmal setze
ich es nach Jake, wo ich es nach dem Bootstrap anlege. Dann werde ich nur diesen Link durch die CD und Link ersetzen. Ich weiß, dass wir diese einbezogen haben. Die nächste Direktive besteht darin, eine einzelne Funktion aufzurufen, also müssen wir etwas JavaScript schreiben, um diese Funktionskarte zu erhalten. Also werde ich nur dieses Boot kopieren, zurück auf unser Visual Studio
gehen und zu unserem Indexstück gehen, weil unsere Indexrede die
Tabelle hat , die wir gerne in die Datentabelle verwandeln möchten. Und nur zur Erinnerung, ich gehe zurück zur Bewerbung. Und das ist dieser Tipp, von dem ich rede. Diese Tabelle muss also etwas mehr wie diese Demo aussehen, die wir hier sehen. Also werde ich hinzufügen, dass ich auf dieses JavaScript-Schnipsel verweise. Aber das erste, was ich tun werde, ist es auf i d geben. Also werde ich sagen, ich d. Und wenn Sie mit jedem ähnlichen vertraut sind, dann wissen Sie, dass eine Idee ist wie eine eindeutige identifizieren, wo für jedes HTML-Element jemand sagen, ich d ist gleich und ich werde nur dieses eine tbl Datum nennen. Also, nachdem wir unsere Tabelle mit den i d tbl Daten beschriftet hatten, gingen Sie einfach an den unteren Rand
der Seite. Und wir werden einen Abschnitt für die Skripte erstellen. Nein. In unserer Layout-Seite werden
Sie feststellen, dass die,
Sie wissen, Sie wissen, unter allen die Einbeziehung aller Skriptdateien,
wir haben einen Abschnitt, in dem wir sehen, Renderabschnitts-Skripte . Das erlaubt uns die Zehe in Stan. Sie aß einen Abschnitt, wo wir JavaScript-Gericht setzen können, wenn es sein muss. Also, um das zu tun, werde
ich am Zeichenabschnitt sagen, und dann werde ich den Namen angeben müssen
, der Skripte ist. Wenn wir also zurückblicken, das Namensskripte und dann öffnen wir uns auf Kleidung, Hosenträger an, dann innen aus diesen Klammern. Nein, Wochenend-Rechte sind JavaScript. Also verstehe ich, einen Skript-Abschnitt zu öffnen und dann werde ich das Kabel
von der Website zu beschleunigen . Also werde ich nur die Formatierung hier ein bisschen reparieren, so dass es jetzt da ist, innerhalb dieser g A-Abfrage. Also das ist Jake Sorge auf innen aus diesem Block, Was es tut, ist zu sehen, dass ich nach einem Element mit dem i d suche. So dass Hashtag und Jake oder er in JavaScript im Allgemeinen wirklich auf intim mit, dass ich d. Und was auch immer nach dem Hashtag kommt, ist das i d, nach dem es sucht. Da diese Tabelle TBL-Daten diejenige sind, die ich in die Datentabelle konvertieren möchte, werde
ich sicherstellen, dass ich Hashtag TBT l Daten nicht Datentabelle sehe. Das ruft also unsere Funktion auf, und diese Funktion wird innerhalb unserer Datei angerufen, dass wir Datentabellen weit sind, die wir
gerade aufgenommen hatten . Da gehen wir. Also die Gefahr aus, einschließlich dieser Referenz, nachdem wir unseren Jake oder unsere Akte anrufen,
ist, dass es eine Pflege geben und Dysfunktion finden wird, weil wieder Sequenz wichtig ist. Also, sobald wir alle diese Aktivitäten gemacht haben, wollen
wir es sehen So können Sie sehen, dass einmal eine Familie zu sehen, ob es ein Sternchen hat, können
sie sehen, ob Sie bauen können, wenn Sie wollen. Ich werde nur Steuerverschiebung und s verwenden und was das tut, ist, dass es alle Änderungen scheint, so viele Fakten, wie Sie auf unserer ungespeicherten Kontrollverschiebung geöffnet haben, werden sie alle speichern weil wir den Client mit Blick auf Gericht ändern, was bedeutet Javascript in HTML, müssen
wir nicht bauen. Wenn Sie also c scharfe Änderungen vornehmen, müssen
Sie bauen, um sicherzustellen, dass jeder weiß, was los ist. Wenn Sie nur visuelle Änderungen vornehmen, ist
das Speichern in Ordnung. Aber jetzt werde ich zu unserer Anwendung zurückkehren, und dann werde ich aktualisieren, und das könnte nach der Aktualisierung eine Weile dauern. Dann solltest du etwas sehen, das so aussieht. Wenn Sie nicht sehen, dass etwas so aussieht, dann haben Sie wahrscheinlich einige fehlende Referenzen sind einige falsch platzierte Referenzen, die sie
immer mit der rechten Maustaste klicken können , gehen Sie zu inspizieren. Und dann hoffe ich, dass Sie wahrscheinlich
grausam mehr verwenden, war die meisten modernen Browser haben die Konsole sowieso, Konsole sowieso,dann würde
der Rat wahrscheinlich eine Reihe von Fehlern in rot hervorgehoben zeigen. Also, wenn Sie diese Fehler bekommen, kann
er sie mit mir teilen, und ich kann Ihnen durch sie helfen. Wenn Sie keine Fehler bekommen und Sie eine saubere Konsole wie ich und vereinbart haben,
angezeigt zu werden , wie es sollte. Dann bist du auf dem richtigen Truck. Sie wissen, was diese Gier Ihnen erlaubt, ist, während Sie einfach mit D beginnen können erstellt alles Ordnung, fast mühelos. Beginnen Sie mit Namen so viele Spalten wie möglich. Es kommt standardmäßig mit Start. Er kommt mit Paginierung. Wie ich schon sagte, also habe ich nur drei Aufzeichnungen und es steht zeigen 10 Verletzungen. Also, wenn ich 20 hätte, dann wäre es ein Alter als Seite zwei. Andi. Ich kann sogar eine Reihe von Aufzeichnungen ändern, die ich auf dem ersten Pfirsich sehen möchte, oder? So ist es ein sehr Es ist eine sehr schöne Möglichkeit, nur einen schönen interaktiven Tisch am Tag zu bekommen, sogar ein wenig Suchfunktion. Aber du musst etwas härter arbeiten, um das zu bekommen. Oh, sie sind königlich. Es funktioniert direkt aus der Box. Es funktioniert. Selbst wenn wir uns die Liste der Mitarbeiter ansehen, wissen
Sie, dass Sie einfach auf die Suche klicken die gewünschte
finden können. Also, das ist ein nettes wir aus der Einrichtung schlagen ein Gitter Andi, dass wir auf die nächste Aktivität zu bewegen . Wissen Sie, wo wir unsere Knöpfe ein bisschen attraktiver machen. Also wissen Sie, dass ich mit den Datentabellen fertig bin. Ich werde diesen Tab auf schließen. Dann habe ich zu anderen Typen zur Verfügung oder offen für mich. Also werden wir mit Mitteln genial sein, um irgendwie etwas Leben in unsere Anwendung mit
einigen Symbolen zu bringen . Richtig? Also muss ich hier oben. Ich habe einen, der Bootstrap cdn dot com slash Fonds ist. Awesome auf Ich habe eine andere, die Spaß macht. Awesome Punkt com Schrägstrich die 4.7 Punkte oder Schrägstrich Symbol. Also möchte ich genau erklären, was ich in mir mache, und ich werde mit dem mit dem Symbol beginnen So lustig. Awesome bietet, wissen
Sie,
schöne, schöne, saubere Symbole, die wir einfach einbetten gerade Ausgabe männlich. Alles, was wir brauchen, ist eine CSS-Datei, und dann können wir einfach einbetten Symbol Also ein Pluszeichen für Anzeige, vielleicht Bleistift suchen Symbol dafür. Was auch immer der Zweck ist, sie haben ein Symbol für fast jede Situation. Die Website ist schön und sauber, aber dann werden Sie sehen, wo sie Sie auffordern, auf Version fünf zu aktualisieren. Also bin ich auf vier. Verweilen Sie, um spezifisch 4.7 zu sein, denn mit 4.7 ist die neueste Version, die vier zu bieten hatten und Version vier ist viel einfacher, sich aus der Box zu begleichen als Version Feuer. Also werde ich bei 4.7 bleiben. Ah, viele moderne Anwendungen verwenden immer noch 4.7, und sie haben immer noch gute Symbole, die wir für einige Zeit verwenden können. Also benutzen wir. Wieder einmal sind
4.7 auf den Symbolen wie aufgeführt. Andi,
ich meine, fast für jeden Anlass hast du eine Nikon, wenn du willst. Ich Verhalten schlägt E-Mail vor. Sie geben Ihren Umschlag, wenn Sie etwas für die Datenbank wollen. Wenn Sie etwas für Informationen wollen, haben
sie Symbole für fast alles. Und wenn Sie eine Idee im Kopf haben, kennen
Sie nicht unbedingt das Icon Boot. Sie haben eine Idee, auf der Sie immer suchen können. Mehr als wahrscheinlich ist der Name des Symbols viel, was Sie denken, so dass Sie immer ganz einfach filtern können. Also, wie gesagt, brauchen
wir wirklich nur eine CSS-Datei, um Schriftart zu verwenden. Ehrfürchtig. Andi, sie geben Ihnen die CSS-Datei zum Herunterladen. Sie können tatsächlich die CSS-Datei über die Website erhalten, aber dann, wenn Sie nur Google Fonds Awesome 4.7 CD und dann werden Sie dazu geführt, Bootstrap-CD in On zu entscheiden, sie geben Ihnen den CDN-Link, den sie hosten, so dass wir einfach das Cdn verwenden können , anstatt eine physische Datei zu
erhalten und zu versuchen, sie in unsere Anwendungen einzubetten. Also sagen sie,
Alles, was Sie tun müssen, ist in diesen Abschnitt klicken und es wird in die Zwischenablage kopiert auf. Dann verlasse ich das Management und gehe zurück zu meinem Leo oder Paige. Dann füge ich unter allen anderen Referenzen ein neues CSS für jemanden hinzu. Also habe ich nur die Kontrolle, dass diese Zeile für die Datentabelle CSS-Datei dupliziert wird. Und dann ersetze ich diesen Link durch diese CD in. Also, genau wie mit dem Datentabellenbeispiel, wenn ich sage, dass Cdn Lincoln im Browser Tempo und Bro es ist, dann werden Sie sehen, dass es nur eine große CSS-Datei ist. Und der Grund, warum diese CSS-Datei so durcheinander und kompliziert aussieht, wenn Sie nicht bereits wissen
, ist , dass es das ist, was Sie Männer nennen. Wenn ich so Vereinigung ist wirklich nehmen Sie alle weißen Räume alle aus der Sie wirklich Spaß Charaktere und war Arten und Bremsleitungen. Auf mich. Die Datei ist kleiner, weil ein Computer es so mag. Es sieht für menschliche Computer verwirrend aus. Absolut kein Problem, dies zu lesen. In Ordnung, also ist es nur ein Haufen Sterne und Essens-Stil ziemlich viel gibt uns auf Symbol, also muss es auf die Ikone Stern verweisen, die wir mögen. Dann können wir es in unserem Alter einbetten, also gehe ich zurück, nachdem ich das Stylesheet aufgenommen habe. Dann können wir zurück zur Indexseite in gehen. Wir können einige Änderungen vornehmen. Zehe sind Glieder. Beginnen wir also mit unseren Links erstellen. Also habe ich einen Onkel Schlepper, der einfach ein paar Klassen hinzufügt. Es ist also ein Flugzeug-Onkel Tag. Und wenn ich sage Klasse gleich, sehen
Sie, dass die Intelligenz Ihnen, ah ganzen Host von Bootstrap-Klassen, die verfügbar sind, gibt. Also zuerst werde ich es wie einen Knopf aussehen lassen. Also werde ich nur Bt sagen und so folgt Bootstrap ihm. Machen Sie einen Link. Ein normaler Onkel Tug sah aus wie ein Knopf, also sagte ich btm auf dann wollte ich eine blaue Bindung sein, Jemand zu sagen BT und Dash Primary. In Ordnung, aber dann will ich ein Pluszeichen, also wird es wie ein blauer Knopf aussehen, auf dem „Erstellen“ steht. Aber dann möchte ich, wie, ein Pluszeichen, bevor die Wörter neu erstellen. Also will ich gehen, um Awesome zu finanzieren. Dann werde ich suchen und sehen, ob sie irgendwelche Pluszeichen auf Sie haben sehen, dass sie plus
und bis nah Kreis haben und sie haben verschiedene Variationen von einem Plus sind was? Ich werde mit einem einfachen gehen. Also werde ich auf diese dann klicken. Was sie tun, ist mir das Embedded-Gericht zu geben, damit ich es nicht tue. Wenn Sie jemanden sehen können , können Sie das Kabel wahrscheinlich ein bisschen besser sehen, also kann ich tatsächlich diesen Block-Text kopieren. Geh zurück zu meinem Kabel an lege es
dann von der ANC oben. Also haben wir den Ankerschlepper an. Dann haben wir den Text innerhalb der Knöchel-Tag auf in der Nähe angezeigt werden,
Jemand, um es innen aus dem Textbereich zu setzen. Also das Knöchel-Tag no hat diese ich zerren, was Effie auf F A plus referenziert. Diese Klassen kommen also von vorbei. CSS Vater, wir haben nur für Spaß enthalten. Awesome, richtig? Also f A und F A plus weiter. Dann haben wir irgendwo neue erstellen. Stehen Sie, um den Raum zwischen dem Symbol Andi oder Wörter neu erstellen setzen. Und dann ging ich, um die Verschiebung zu steuern, um Entschuldigung einstellbare Layout auf der Indexsprache
zu sehen , dass ich zu meiner Anwendung zurückgehen und nur aktualisieren, um die Änderungen zu sehen. Ok? Und das ist ein Anfang. Also haben wir Index und wir haben neue Andi erstellt. Ich möchte eigentlich den Text ändern. Index geht Index sagt mir nicht, welche Seite? Amman. Ja, ich weiß, es ist Index, aber wir werden viele Indexseiten haben. Sie wollen wahrscheinlich spezifisch jemand sein, um die Stöcke zu wechseln. Das ist eine kleine Änderung, aber das Rial-Ziel hier war es, den Knopf zu bekommen, um ein bisschen mehr zu sehen. Weißt du, der Pop ein bisschen mehr. Also haben wir dich erschaffen. Wir haben das kleine Pluszeichen dort. Dann werde ich die gleichen Änderungen für alle löschen,
löschen und Details vornehmen. Ich gehe zurück zu meiner Schnur. Erstens, lassen Sie mich in Extra-Urlaubstypen ändern und wahrscheinlich wie ein jeder sind. Das ist also kurz für horizontale Regeln. Das setzt eine kleine Zeile dort auf wissen Sie, ein wenig Trennung und dann haben wir oder erstellen Schaltfläche und dann kann ich auf scrollen und dann
haben wir oder bearbeiten auf Löschen und Details. Also zuerst, sie werden nur die Klasse kopieren. Die Klassendirektive. Das bedeutet, dass der Button der Link wie eine Schaltfläche aussieht. Also werde ich das in jedem Schritt auf dann, basierend auf der Operation, können
wir die Farbe ändern. Also ja, primär. Aber dann werde ich vielleicht warnen, weil ich will, dass Eddie orange ist. Ich will Details. Vielleicht um ein Erfolg zu werden. Grün. In Ordnung, Eigentlich werde
ich es umdrehen. Ich werde gehen, schlagen uns primär, und dann werde ich mich ändern, um den Erfolg zu
schaffen. So erstellen wird ein grüner Knopf mit einem Pluszeichen sein, und es wird Warndetails sein. Diese primäre und löschen wird Gefahr sein, was ein roter Knopf wäre. Also, wenn ich meine, diese Änderungen schnell, sparen Sie nur eine schnelle re frisch tun, nur um zu sehen, was passiert. Dass wir sehen sollten, dass sie eher wie Knöpfe aussehen. Alles klar, da gehen wir. Also haben wir irgendwelche Details löschen unter dem grünen Knopf erstellen, der in der Textur auf Behar auf Regeln. Also, weißt
du, ich meine, das ist mein kleiner Stil. Ich halte es einfach. Sie können andere Ideen haben, so wie Sie sich weiterentwickeln, dann können Sie Ihre Anwendung anpassen und Ihre eigenen Farben verwenden, wie Sie es für richtig halten. Aber wenn Sie verstehen, was bisher passiert, dann sind Sie auf dem richtigen Weg. Also, zum Bearbeiten, werde
ich irgendwo einen Bleistift verwenden, um zurück zu finanzieren. Awesome auf. Dann suche ich nach etwas wie einem Bleistift. Wenn ich das Wort tippe, hätten sie vielleicht etwas für mich. In Ordnung. Also tippe ich einfach das Wort bearbeiten, und sie gaben mir ein paar Symbole, die eine Bearbeitung vorschlagen. Also werde ich einen einfachen Bleistift verwenden. Also diese Verwendung Bleistift, kann
ich darauf klicken. Diesmal bekomme ich den gleichen Augenkontakt mit einer anderen Klasse. Einer für den Bleistift. Andi,
ich gehe die Zehe. Fügen Sie dies zu der Schaltfläche Bearbeiten sind aktiviert, dann für Details. Ich werde eine voll verwenden. Das kann ich. Also gehe ich zurück, dann sehe ich in vier. Also suche ich einfach in vier. Dann geben sie mir Informationen. Also, ich meine, du kannst hin und her gehen, hin und her und schnell kopieren und einfügen. Oder Sie können einfach erkennen, dass, was auch immer der Name ist, den sie Ihnen geben, das im Grunde
der Klassenname ist . Also weiß ich, dass Info, wenn ich das einfach in vier will. Lass uns Info, Schreibtisch, Kreis. Also, um vorne zu kommen, behaupten, dass die gleiche Doug wiederverwenden kann, die ich Effie auf habe. Dann habe ich Effie Dash in vier Strichkreisen. In Ordnung. Auf Espo-Kreis, Falsch Kreis. In Ordnung. Dann auf, wegen Gefahr. Ich werde nur einfügen oder surfen oder löschen. Ich werde ein anderes Mal einfügen, und ich denke, zum Löschen sind ich denke, sie haben ein Symbol namens Papierkorb. Wenn sie es nicht tun, dann haben wir den Zeh verlassen. Rückgängig machen. Bestätigt, dass ich auch all diese Bars nehmen werde. Also die Bars lassen Sie mich einfach Box gehen. Sie können sehen, was ich mit den Bars meine. Das sind die Gitter. Diese Linien sind Pfeife, die manche Leute als Auswirkungen bezeichnen. Also nehme ich die aus dem Display auf. So haben wir bearbeiten Details auf jedem, hat sein All-Symbol auf einem Leerzeichen auf. Dann spare ich weiter. Dann gehe ich zurück und lass uns überprüfen, ob das, was wir tun, funktioniert. In Ordnung, also sehen wir hier, dass die Bearbeitung einen Bleistift Details hat, wie ich anrufe und lösche den Papierkorb hat . In Ordnung. Aber dann, ich weiß nicht, vielleicht sehen mir die Knöpfe etwas wortwörtlich aus. Also denke ich, dass eine typische Verwendung, wenn sie den Bleistift und die Orange sehen, sie wahrscheinlich ableiten, dass dies an ihm ist. Wenn sie nur die sehen, impliziert ich wahrscheinlich, dass sie mehr Informationen sehen. Und wenn sie den Papierkorb sehen, das bedeutet löschen, vor allem angesichts der Farbcodierung jeder Taste. Also werde ich einfach wieder Medizin modifizieren, weil ich die Worte dort nicht mag, und ich werde einfach das Symbol verlassen. Also geh ich wieder in meinen Onkel schleppen. Ich werde nur die Grenze brechen, damit du genau sehen kannst, was in meinem Onkel zerfällt. Also setze ich nur einen Knöchel-Tag ein und ich nehme das ganze Wort löschen aus meiner Orange . Aber ehemaliger Editor auf dann für die Details, die ich über die Welt Details auf Ich bin nur mit dem Symbol für Informationen über dann nur die gleiche Weise, wie ich das Wort löschen
aus dem roten Knopf auf nehmen möchte . Ich benutze nur den Mülleimer. Also, ich meine, wieder
einmal, Ihr eigener Stil wird einplatzen und Sie können ihn anpassen, wie Sie es für richtig halten. Aber und das ist so will ich meine Indexrede. Sieht aus, ich sehe davon. Und dann werde ich noch eine Zeitkunst auffrischen, und da sieht es ein bisschen sauberer aus. Und so haben wir nur den Bleistift, die Info und löschen Andi. Ich meine, diese Kolumne hatte eine religiöse haben irgendwelche Worte. Ich werde nur die Titelaufgaben dort platzieren. Also für Taten, ja, das wird Aktion sein. Also, um diesen Titel Hitter zu setzen,
denken Sie daran, dass wir in der Tabelle hatten, wir hatten die Tabellenkopfzeilen und wir hatten den Anzeigenamen für den Namen, wo das Datum erstellt wurde, und dann, wo dieser leere auf diesem leeren auf MT dargestellt wurde. Tabelle Kopf aus für die Spalte mit den Aktionen, die ich buchstäblich nur gehen Zehe waren an dem Wort Aktionen auf dann das würde Art off vervollständigt die Änderungen, die wir machen. Und da gehen wir. Also werde ich nur mit einem Vorschlag gehen. Also, wenn wir die Datentabelle einrichten und wir das Skript Abschnitt vier Datentabelle setzen, wissen
Sie bitte, dass jedes Mal, wenn wir einen Index Pitch haben, weil jedes Mal, wenn wir krähte
Operationen für eine bestimmte Datenklasse tun , unsere Tabelle werden wir enden up mit dem Meer und vier Ansichten Die ganze Zeit Index erstellen Details auf hat es? Nein, Das bedeutet, dass jedes Mal, wenn Sie wahrscheinlich möchten, dass die Datentabelle auf den Indexreden zu diesem Zeitpunkt gerendert wird. Die Art und Weise, wie wir es hier gemacht haben, ist, dass Sie das jedes Mal tun müssen, wenn Sie eine
Indexrede haben . Nun, was Sie tun können, ist in der JS-Datei. Also in unserem Layout referenzierte
Page bereits JS-Datei, die wir als Teil von der Vorlage bekommen hätten
, die innerhalb von w w root Js auf der Website ist, dass Js Sie das Javascript-Gericht hier setzen könnten. Dann könnten Sie diszipliniert genug sein, um zu wissen, dass, wenn Sie, wissen
Sie, eine Indexrede haben, und Sie möchten, dass etwas eine Datentabelle ist, die Sie es nennen. Ich würde DT für Daten tbl. Entschuldigung. Tibial-Daten. Nein, das mögliche unten ist, dass Sie zu diesem Zeitpunkt nur ein Element mit
einer Idee haben können. Also, wenn Sie mehrere Tabellen auf der gleichen Seite haben, die Sie Tabelle Evita
Datentabelle Tut mir leid,
Dann werden Datentabelle Tut mir leid, Sie tohave, um das Kabel Abschleppziel ändern, jedes von vorne. jedoch Ich kann dieses Skriptjedocheinmal schreiben, und ich werde diesen Abschnitt nur unterrichten, indem ein Mal außerhalb der Website dot gs
einfügen konnte, damit ich es einmal schreiben und dann diszipliniert
genug sein kann , um zu wissen, dass jedes Mal, wenn ich eine Index, ich werde sicherstellen, dass ich der Tabelle das i d t b a später gebe, so dass eine Seite Jesse
enthalten ist , was es immer sein wird, weil es sowieso in der Layoutseite ist, Dann wird diese Tabelle mit dem i d automatisch eine Datentabelle sein. Also habe ich gerade diese Änderung vorgenommen, und dann werde ich nur die Show auffrischen, dass es noch funktioniert. In Ordnung, also die Aktualisierungen nicht und wir haben noch oder Datentabelle. Und dieses Mal verschiebe ich das Gericht direkt in der Ansicht toe sind JavaScript-Datei, die von der lag niedrigen Tonhöhe referenziert wird. Ich erinnere mich an die Layoutseiten, die wirklich alles regeln, was wir sehen, zumindest richtig? Nein. Also das ist es für die Änderungen an diesen beiden Ansichten Sind diese wenigen Ansichten könnte ich diese
Gelegenheit nutzen , um Ihnen zu sagen, dass, wenn wir zur Seite erstellen gehen, sehen
wir, dass es bereits einige der Seite einnimmt, wenn Sie wollten, dass es mehr oder alle von den Schmerzen. Sie sehen also, dass sich die Seite wirklich von diesem Rand erstreckt, Zehe diesen Rand nachrechts, rechts, also können Sie diese Linie verwenden, um die Spur zu entfernen, wo sie beginnt und stoppt. Aber dann nimmt das nur einen Teil des Platzes ein. Also, eigentlich, was passiert, ist, dass im kreativen Du und ich es einfach schnell finden werden. Lassen Sie Typen erstellen es einen Diff-Klassenaufruf verwendet. MD vier. Also, in Bootstrap, können
Sie die Breite von Ihrer gesamten Seite mit dieser Aufruf-MD-Direktive oder -Klasse festlegen. Vielmehr. Also, wenn ich wollte, dass es nimmt, geht es von einem Zeh. 12. Entschuldigung. Ah, ja, 12 12. Also ich das nehme eine vorher. Also, das ist es, was ich dritter von dem potenziellen Raum. Wenn ich das zu ihm auf sterben, sparen Sie auf, dann gehe ich einfach zurück und erfrischen. Dann sehen Sie, dass der gesamte Inhalt mehr Platz einnimmt. In Ordnung, auf. Da gehen wir. Es ist also nicht, es von den potenziellen 12 Spalten zu nehmen. Das bedeutet, dass das Textfeld und die Schaltflächen auf der rechten Seite anhalten. Die meisten Marge, die 12 Arten auf Öl war. Vier Räume eher auf berücksichtigt werden nicht belegt. Also Menschen, die Formen haben, die Bahre am Kreuz Manchmal sie nur nennen MD 12 oder manchmal logistische, die geben. Sie stören nicht Zehe angeben und eine niedrige die Steuerelemente nur das Gefühl, den gesamten Raum. Also ändere ich es einfach auf 12 und da sehen wir, dass es den ganzen Raum füllt. Andi,
ich habe gesagt, Bt und Blöcke des Knopfes füllen den ganzen Raum. Nein, unsere Gefechtslisten-Links sehen immer noch tot aus. Ich fordere Sie heraus, kreative Art und Weise zu beenden, um Ihre Schlacht ist Links in innen von
den einzelnen Ansichten für erstellen bearbeiten Details auf, was Führer, die eine Ansicht mehr haben. Aber ich fordere Sie heraus, eine schöne,
kreative Art und Weise zu finden , die Zehe die Kampfliste auf jedem anderen Link darstellt, der schlicht aussehen könnte.
22. Übersicht und Änderungen in GitHub: Hey, Leute, in dieser Lektion werden
wir unsere Änderungen an unserer Quellcodeverwaltung einsehen. Aber bevor wir darauf eingehen, möchte
ich nur zusammenfassen, was wir nicht in der vorherigen Lektion gemacht haben, wo wir die Links modifiziert haben,
um möchte
ich nur zusammenfassen, was wir nicht in der vorherigen Lektion gemacht haben,
wo wir die Links modifiziert haben,
umetwas lebhafter in
irgendeiner Farbe auf den Seiten auf Guy haben Sie mit einem Herausforderung, tatsächlich einige Stile im Schlepptau einzugeben. Die Knöpfe und, du weißt schon, kreativ
sein. Also nahm ich die Herausforderung selbst an, aber ich habe nicht zu viel getan. Alles, was ich getan habe, war gut für die Seite Bearbeiten. Ich habe Stil hinzugefügt. Ein Schlagen begann zurück, um an diesem Strand in Stil Liste wäre Bt und Dash skizziert Bindestrich sekundär. Wenn Sie also mehr Referenzen für die Tastensterne und was möglich ist, dann könnten Sie immer alle Schaltflächen in unserer Bootstrap-Dokumentation überprüfen. Also gibt es Bootstrap dot com on, dann wissen Sie, in der Dokumentation, suchen Sie
einfach nach Komponenten auf Tasten direkt an. Also zeigen sie dir jede von deinen Optionen. Sie haben primäre sekundäre Andi jeweils, während der Name in jedem Rahmen im Grunde die Klasse
und die Farbe ist , die Sie erwarten können. So haben Sie in vier anders als primär. Also hätte ich eigentlich Informationen anstelle von primär für die Details verwenden können oder hätte verwenden sollen . Also gehe ich zu mir, die sich schnell ändern. Das ist also etwas, das für mich angeheuert wurde. Also alles, was ich für Details tun muss, anstatt zu sagen, beaty und Primary S A Bt und Dash-Info auf DSO, es ist Metzger macht es einfach, diese Anzeigenfarben und dann haben sie einen anderen Satz, wo sie sagen Umrisse verkauft. Sie erhalten den Farbumriss und Sie sehen die vollständige Schaltfläche, wenn Sie den Mauszeiger bewegen. Das ist es, was ich für meinen Rücken getan habe. Aber ich habe es online gemacht und Sie bekommen eine Farbe, wenn Sie schweben. Karte. Das habe ich dafür getan. Es habe ich es für Details getan. Auch auf Di hat es für die Behandlung aber und vier schaffen. Ich hatte die Schaltfläche für erstellen als Bt und Block. Also habe ich gerade eine Liste gesichert, auch schlagen Block und ich sehe, dass sie nur als mehr Platz, wissen
Sie, voll mit off beiden Zeilen. Das sind also die Änderungen, die ich dir zum Problem gemacht habe. Acht weitere Änderungen und ich bin gespannt darauf, was du getan hast. Aber das Ziel dieses Videos ist es, unsere Änderungen einzuchecken. Nein, Da wir mit gehen, seit wir hinzugefügt oder projizieren, um Quellcodeverwaltung mit jedem Vater, die wir modifiziert haben, Sie bemerkt, dass es eine rote Ticks. Einige haben Vorhängeschlösser und einige haben Ketzer. Das Vorhängeschloss bedeutet, dass es eingecheckt wurde, wurde seit der letzten Version
, die der Quellcodeverwaltung hinzugefügt wurde, nicht geändert . Der Reddick bedeutet, dass es gewollt wurde. Also, wenn Sie einfach schweben, sehen
Sie, dass es endet. Das bedeutet, dass einige Editoren, die darauf erstellt wurden, ein Einchecken in das Repository aussteht. Es wurde nicht im Quellsteuerelement als geänderte Datei registriert. Also, anderen
Worten, wenn ich dieses Projekt jetzt verlieren würde,
wenn mein Projekt, wenn Michel Butor sorry, abgestürzt, dann alles, was ich beendet hätte, dass alles mit einem roten Häkchen wäre verloren sind, dass diese Änderungen verloren gehen würden, weil ich das Gefühl habe, sie in die Quellcodeverwaltung zu überprüfen. Das sind also diejenigen, die Ketzer. Sie werden auch einige mit grünen Pluspunkten bemerken. Und die sehen anhängig bei So. Das Pluszeichen ist, dass seit der letzten Version aus dem Projekt. Diese Datei wurde hinzugefügt. Was? Ich wurde modifiziert oder nicht. Ich meine, es wurde hinzugefügt. Ich weiß nichts über diese Akte. Also der lokale Tracking-Mechanismus auf dem Computer, der
die Get-Engine ist, die wir ursprünglich eingerichtet hätten, dass der lokale Tracking-Mechanismus sieht, dass ich die vorherige Version des Projekts kenne. Auf diese sind die Veränderung, die Sie mich haben. Du musst mich sie lagern lassen, damit ich, wenn du deine Schnelligkeit von mir erholen musst, Aufzeichnungen von ihnen
habe. Also, wie ich sagte, wenn ich jetzt alles verlieren würde, wäre
alles mit einem Ketzer und jedem grünen Plus verloren. Dann müsste ich die Version wiederherstellen, die zuletzt in die Quellcodeverwaltung eingecheckt wurde . Also in diesem Video werde
ich nur einchecken oder ändern. Wir haben einige Änderungen vorgenommen. Wir haben Crowd-Operationen für unsere Relief-Typen hinzugefügt. Auf haben wir Ansichtsmodelle hinzugefügt. Wir haben Autumn Oper hinzugefügt. Wir ändern einige Schnittstellenschnittstellen und haben einige neue Dateien auf dem Weg hinzugefügt. Und nein, wir müssen einchecken, also checken Sie ein. Ich kann die Lösungen ablenken. Denken Sie daran, dass die Lösung an der Spitze des Baumes steht, Irak, die Lösung auf. Dann gehe ich und sehe Commit, obwohl der Kometen-Bildschirm mir sagen wird, dass sie 18
Änderungen sind , die alles in Ordnung sind. Dann fragen sie nach einer Nachricht. Nein, die Nachricht muss aus zwei Gründen beschreibend sein. Wenn ich das selbst entwickle, wenn ich eine Änderung begehe, dann kennst du die Schnur. Ich möchte mich daran erinnern, was in dieser Version getan wurde, die ich zur Quellcodeverwaltung hinzufüge. Das dient einem doppelten Zweck. Denn nein, wenn ich in einem Team arbeite, dann kann jemand, der kommt, nachdem ich Gericht begangen habe, meine Commit-Nachricht betrachten und irgendwie die Art von Arbeit ableiten, die ich gerade auf das, was es ist. Ich checke ein. Also in diesem Abschnitt, wissen
Sie, sie benötigen es tatsächlich. Und ich sagte nur, dass Sie beschreibend sind. Also werde ich sehen, dass ich Typ-Repositories verlassen habe. Andi hat hinzugefügt. Peter Tabellen, Onda Fonds ehrfürchtige Ikonen. Alles klar, damit ich denke, dass das alles für uns zusammenfasst. Wir haben Repositories hinzugefügt. Oh, und ich werde sagen und roh, also haben wir hinzugefügt, lassen Sie Typ Repositories und roh auf eine Datentabellen auf Fonds genial Icons. Jetzt, wenn du auf Komet klickst, geht
es auf den Kometen. Lokal es nicht schieben, um aufzustehen. Es wird vor Ort beginnen, also alles zu tun. Einmal benutze ich einfach den Abwärtspfeil und sage Commit all und sinke, also werde ich es lokal tun. Nehmen Sie alle Änderungen hier auf. Dann wirst du eine Verbindung herstellen, um Hoffnung zu bekommen. Dann schieben Sie alle Änderungen, um Kunst aufzustehen. Und wenn das erledigt ist, sollten
Sie sehen, dass eingehende und ausgehende Zahlungen erfolgreich synchronisiert werden. Also macht es zwei Dinge. Es führt eine Synchronisation durch, bei der wenn Sie vor Gericht einchecken, nachdem jemand anderes
dies getan hat , dann wird es nicht die neueste Version geladen, die sich im Quellsteuerelement befindet, dann bei Ihren Änderungen. So stellen Sie sicher, dass gewährleistet ist, dass es Parität in der Schnur zu allen Zeiten und in Ihrem Hof. Also wieder einmal in einem Teamszenario, wenn Sie mehrere Personen haben, die Änderungen an derselben Anwendung vornehmen, Sie diese Synchronisation durchführen, schiebt
es Luftänderungen an, schiebt
es Luftänderungen an,lädt
nicht die Änderungen anderer Leute. Punkt, wenn jemand anderes Änderungen beim Erstellen eines Autumn anderen Modells vornimmt, während ich mit
diesen Typen zu tun hatte , sobald ich diese Synchronisation durchgeführt habe, dann hätte ich ihre Änderungen, die sie hätten. Meine Änderungen sind Also ging ich oben zu bekommen, und ich bin einfach sehr gut, dass die Änderungen, die ich gemacht haben, vorhanden sind. Sie können die Verwaltung im Ordner sehen und verlassen. Ich werde sehen, dass die Kometennachricht „Leave type“ hinzugefügt wurde. Also, wenn Sie darüber stolpern. Aber das ist das neueste Commit, das vor einer Minute gemacht wurde. Wir können immer eine Geschichte aus sehen. All das Komitee, das Sie sehen, sind insgesamt sechs Commits. Wenn ich auf sechs Commits klicke, dann zeigt es mir die Geschichte von allem, was ich getan habe. Ich habe einige Projektdateien erstellt, die ich auf der letzten oder letzten gelesen habe. Eine, die ich getan habe, war immer noch die leave leave type Repositories hinzuzufügen. Der letzte, den ich gerade gemacht habe, hat auch die Marke zusammengeführt, so dass ich in einem anderen
Vortrag Niederlassungen betrachten kann . Ich will nicht, dass Zehe in Zweige in diesem speziellen zu Tora kommen, aber am Ende des Tages haben
wir unsere Quelle eingecheckt, um aufzustehen. Unser Team hat Zugriff auf die Schnur, wenn sie es brauchen.
23. ASP.Net Core übersicht: Hey, Leute, willkommen hierbei. Hör zu, wir werden eine Tour von SP .net Cores Identity machen, was ich sage. Identity features Identity ist die Feature-Set oder die Bibliothek, die eine Geschwindigkeit auf dem Kern verwendet um die Authentifizierung zu verwalten? Andi-Benutzer Bisher haben
wir in unserer Anwendung ziemlich viel Arbeit geleistet. Wir haben die Layouts bis zu einem gewissen Grad eingerichtet. Wir haben im Fußball einige Crowd-Funktionen für Relief-Typen gesetzt, wo wir Urlaubstypen hinzufügen können. Entfernen Sie Ablasstypen, bearbeiten Sie sie. Onda überprüfe sie. Nein, ich bin sicher, dass Sie wahrscheinlich am Ende dieser Lektionen sind und denken, Nun, ich bin mir sicher, dass
es in einem Urlaubs-Management-System nicht so offen für jemanden wäre, in der Lage zu gehen und den Blatttyp zu verwalten. Etwas wie Leave Typen sollten für vielleicht einen Admin-Benutzer reserviert werden und Mimi Nüsse sind reguläre Benutzer auf die gleiche Weise. Wir beabsichtigen, Feature-Toe einzusetzen, um Urlaub zu
beantragen und, durch Erweiterung, verlassen Anträge
zu verwalten, was bedeutet, sie zu genehmigen oder abzulehnen. Auch Managed Mitarbeiter und diese Funktionen würden irgendwie darauf hindeuten, dass die Benutzer in
verschiedenen Kategorien sein müssen , oder? Jemand muss ableto eine Protokollierung sein, was bedeutet, dass bei einem Wettbewerb, der irgendwo existiert, damit sie meinen Benutzernamen auf das Passwort eingeben und sich tatsächlich gegen das authentifizieren, was wir wissen. Was wir also wissen, ist, was in der Datenbank die Informationen für einen bestimmten Benutzer in der
Datenbank ist . Jemand kommt rein und legt die Informationen ein, und dann überprüfen wir, dass die Informationen, die sie eingegeben haben, korrekt sind. Dann gewähren wir ihnen Zugriff auf die Anwendung,
ganz gleich, ob es sich um die Anwendung handelt oder um bestimmte Aspekte außerhalb der Anwendung handelt. In diesem Video gehen
wir durch, was nötig ist, um die Anmeldefunktion tatsächlich einzurichten,
so dass die Leute sich in unserer Anwendung registrieren können,
um ihnen den Zugriff auf die Anwendung zu ermöglichen oder sie abzulehnen. Nein. Als wir diese Anwendung erstellt
haben, hatten wir angegeben, dass wir sie mit individuellen Benutzerkegel erstellen wollten. Unterstützung für DSO, weil wir diese Optionen in unserem Hauptmenü in oder genug Bar ausgewählt. Bevor wir anfingen, in andere Links setzen, bemerkten
wir, dass wir ein Login in Link Onda Register Ling hatten. Ordnung, also gaben sie uns die Lüge, das zugrunde liegende Framework, damit dies geschieht, und so ist die Funktion da, eine Sache,
die wir tun mussten, war eine anfängliche Migration durchzuführen, wo wir tatsächlich die Tabellen ausrollten, die dafür benötigt wurden -Funktionalität unterstützt werden soll. Also, weißt
du, bevor nein, hätten wir
vielleicht Zeh gehabt. Und wenn ich vorher sage, nein, In früheren Versionen von dotnet Framework auf dwell dotnet Programmierung und in den meisten anderen Anwendungen, müssen
Sie sich tatsächlich hinsetzen und Ihre Benutzertabellen aufbauen und, Sie wissen, Outfit all diese Dinge. Was passiert ist, ist, dass sie uns tatsächlich den Rahmen geben. Also mussten wir nur ein paar Befehle ausführen, auf denen sie tatsächlich für uns erstellt wurden, und wir können es nutzen. Dann haben sie eine Reihe von Funktionen aus Sicherheitsgründen und die wir nutzen können, aufbauen auf verbessern, wie wir es für richtig halten können. Aber dann ist die Tatsache, dass es ein ziemlich robustes Login-System ist, dass sie uns aus
der Box geben , und wir wollen nur ein besseres Verständnis davon haben, bevor wir anfangen zu ändern. Jetzt, zurück in Visual Studio, ging
ich zu meinem SQL Server-Objekt-Explorer auf. Denken Sie daran, dass Sie, wenn Sie diesen Schmerz nirgends sehen, immer auf Ansicht klicken können. Dann wären Sie in der Lage, nur wählen Sie es aus der Ansicht, und dann können Sie es ziehen, je nachdem, welcher Abschnitt von Visual Studio Fenster, Sie fühlen sich wohler damit, Ich mag es auf das Feuer links. Also werde ich nur die Zehe dunkel. Es ist auf dieser Seite, Andi. Ich ging in SQL Server als in meine Ortsansässigen. Lokaler db Schrägstrich m s SQL db Instanz Auf Datenbasis Lassen Sie die Verwaltung, da dies der Name für
Datenbank auf ist . Dann zeige ich Ihnen nur, dass es hier eine Zahl von Tabellen mit dem Namen SP gibt, die
Punktnetz oder vielmehr die dort vorgegeben haben, dass die Namen der Tabellen mit s als nächstes vorgegeben werden. Alles klar, alle aus, diese wären in diese anfängliche Migrationsübung einbezogen worden, bei der wir zunächst die
Datenbanktabellen angegriffen haben. Jetzt spielen alle Tabellen eine Rolle bei der Verwaltung unserer Benutzer. Also ich bin sicher, Sie können ableiten, dass s P Net-Benutzer ist, wo die Benutzer gespeichert werden, wenn wir dies
erweitern und nur auf die Spalten schauen, sehen
Sie, dass wir ein I D haben die eindeutig identifiziert jeden Benutzer. Ich benutze den Namen und die E-Mail-Adresse auf Wir haben Passwort Still auf Telefonnummer. Und als wir dann unsere Modelle aufbauten, haben wir tatsächlich ein Mitarbeitermodell erstellt, das von der zugrunde liegenden SB-Netto-Benutzerklasse
auf geerbt wurde. Wir haben es erweitert, indem wir eine weitere Sicherung hinzufügen, die wir für unser System als notwendig erachten. Aber die Tatsache ist, dass wir von Diskriminator Zehe I d oder von I D bekommen, um zu diskriminieren. Obwohl wir Standard mit unseren Identitätsbibliotheken skalieren, haben
wir auch SP Net Roll. Also die Regeln Tabelle so ziemlich die Geschichte. Der Name, um und normalisiert den Namen und ich d auf d einige andere Daten. Also, was wirklich wichtig ist, ist der Name und ich bewege sagen, dass das das wichtigste zwischen Ayman Normized Name ist, weil das der Name von der Regel ist ein Administrator oder ist es eine Mitarbeiterrolle? Ist es ein Vorgesetzter? Oder, wissen
Sie, verschiedene Anwendungen haben unterschiedliche Ebenen von Benutzern, und das ist, was wir Regeln nennen. Die Regeln selbst werden also in dieser Tabelle gespeichert, weil Sie dann keinen
Benutzer erstellen und dann eine Regel zuweisen möchten . Und vielleicht Sie buchstabieren Sie Administrator in derzeit bei dieser Gelegenheit, und dann am Ende mit der gleichen Regel mit verschiedenen Variationen. Also fangen wir gerade erst einmal auf entstanden. Dann haben wir eine andere wichtige Tabelle genannt ist Net-Benutzerregeln. Also, das ist, wenn Sie wissen, Datenbank gut. Dies ist eine viel-zu-viele-Beziehung, weil Sie viele Benutzer haben. Viele Benutzer können viele Regeln verkörpern, da Sie für einen Administrator haben können, der auch ein
Mitarbeiter ist , also müssten sie mehrere Regeln haben. Um also Duplikationen in beiden von diesen Tabellen zu vermeiden, haben sie eine andere Tabelle erstellt,
die auf
halbem Weg trifft haben sie eine andere Tabelle erstellt,
die auf
halbem Weg trifft,
nämlich die ESPN. , Es ist Benutzerrolle stabil, wo es den Benutzer i D und die Rollenidee speichert. Mit anderen Worten, wenn ich ein Benutzer bin auf Ich bin ein Mitarbeiter und Mitarbeiter Rolle I D, dann ist die Aufnahme
Netto-Benutzer sein . Rose wird aussehen wie Benutzer I d. Eins mit Regel I d zu. Wenn Sie vielleicht ein Supervisor auf Waffenadministrator sind, dann haben Sie zwei Einträge in der Anwenderidee und lassen Sie uns ihre I. D. war fünf. Also gingen wir aus 5 zu 1, die verabreicht wird und fünf Zehe drei, was Supervisor ist. Was auch immer es ist, dass der Punkt
ist, ist, wo wir die Verbindung zwischen I Benutzer Andi er oder ihre Regel Onda erstellen. Für dieses Video sind das die drei. Am wichtigsten war
es unter drei Tabellen, auf die ich mich konzentrieren werde, während wir genau verstehen, wie
Benutzerauthentifizierungen funktionieren, kein Zurück zu unserer Anwendung. Unser erstes Experiment ist immer noch einen Benutzer erstellen,
Also, wenn wir über die Erstellung eines Benutzers sprechen, es ist wirklich Registrierung. Sie gehen zum ersten Mal auf Facebook dot com. Sie möchten Ihre buchstäblich erstellen. Ich benutze einen Datensatz innerhalb der Facebook-Registrierung so buchstäblich,
wenn Sie zu Facebook und einem Kollegen gehen , das Formular und klicken Sie auf registrieren,
alles, was sie getan haben, war, dass Informationen vom Bildschirm zu bleiben, legen Sie es in eine Datenbank wie die, die ich gerade gezeigt habe . Sie setzen es in einem Benutzerstable auf. Dann sind sie gering, dass Sie sich anmelden, und jedes Mal, wenn Sie Ihren Benutzernamen eingeben, den Sie angegeben haben, und dieses Passwort,
alles, was sie tun, ist, diese Informationen zu bleiben und zu überprüfen, ob es einen Datensatz in der Benutzerstabilität gibt, dass tatsächlich, wie ich den Namen benutze, der so aussieht, Ana Pastor
, der so aussieht. Sie sagen ja, es ist richtig. Hier, hier sind die Informationen. Es ist falsch. Bitte, Dragon, das ist buchstäblich alles, was auf DSO passiert. Eine Geschwindigkeit macht es einfach, so dass ich buchstäblich auf die Zehenregistrierung gehen kann. Ich kann eine E-Mail-Adresse angeben und ich werde Ah verwenden, eine legitime E-Mail-Adresse,
jemand, um eine von meinen weniger benutzten E-Mail-Adressen zu setzen. Und ich werde ein Passwort eintragen. Das Passwort, das ich einfüge, ist also das Wort Passwort. Und dann ging ich zu Klicken Registrieren. Wenn ich also auf Registrieren in Ordnung klicke, wird angegeben, dass mein Passwort bestimmte Standards erfüllen muss, und das ist in Ordnung. Wir können die Standards so out of the box sein. Sie sehen, dass sie uns irgendwie die Passwortstärke sagen, die erforderlich ist. Also die Haltungen Stärke sie sagen, dass ich über diese eine nicht-Mary Mais nicht alphanumerisch. Also, anderen
Worten, ich muss Großbuchstaben haben. A Capital P. Ich muss einen Charakter haben, der keine Zahl ist, oder, ah, wo ist unser Brief? Also werde ich das at Zeichen setzen für,
Sie wissen, Passwort s W O R d Andi. Sie sagten, ich brauche eine Nummer, also werde ich eine setzen. Das ist also ein großes P am Zeichen. S W O R D Eins Ich will es nicht nochmal versuchen. Alles klar, dann geht es
weiter zu einer Seite namens Registerbestätigung und dann geben sie uns eine kleine Nachricht, die besagt, dass wir keinen wirklich E-Mail-Absender registriert haben, also können Sie Docks an Seo lesen, um es zu konfigurieren, was später tun wird. Aber normalerweise wäre das E-Mail, aber sie geben uns Ah, wie ein heftiges Gefühl so in Standard-Englisch. Falls Ihnen dies nicht viel bedeutet, wenn Sie sich heutzutage für die meisten Websites abmelden , können
sie keinen Frieden sehen. Überprüfen Sie Ihre E-Mail, um Ihre Identität zu bestätigen. Wenn Sie zur E-Mail gehen, sehen Sie
in der Regel eine E-Mail von ihnen. Wo ist die Heiligkeit verbunden? Dann sind Sie offiziell registriert. Das ist alles, was sie sagen. Dass wir etwas konfigurieren müssen, das tatsächlich eine E-Mail auslöst, die
so etwas tut . Aber in der Zwischenzeit, hier ist der Link, den Sie sowieso in der EMEA bekommen hätten. Also noch einmal, wir können das tun. Das ist ein späterer Tag. Aber lassen Sie uns einfach mit der Bestätigung oder Registrierung fortfahren. Also klicken wir hier, um zu bestätigen. Dann sagen sie OK, bestätigen Sie die E-Mail. Also? Also ging ich zurück auf meine Homepage und nein,
ich kann versuchen, mich anzumelden. Also, wenn ich auf Plug in klicke, werde ich in die E-Mail, die ich gerade auf das Passwort verwendet, die p at sign. Tut mir leid. Kapital P außerhalb s S W O R d eins. Für den Fall, dass es im gleichen Passwort wie ich auf. Dann klicke ich einfach auf einloggen, dann sehen Sie, dass geliebt wurden und bemerken, dass Nein, der Text in der hier, die sagte einloggen und registrieren Nein ändert die hallo? Irgendwas, das ist meine E-Mail-Adresse. Andi, sie haben einen Logo-Knopf. Also, wenn ich auf Langboote offensichtlich, dass ich die Sitzung beenden würde. Aber nur wenn sie hier sind, wissen
sie, dass ich kein Login bin. Jetzt gehe ich zurück in Visual Studio, gehe zurück in unsere Datenbank und ich werde Ihnen die Änderungen zeigen, die passiert sind, als wir
diesen Registrierungsprozess durchgeführt haben . Also in s Erdnuss Benutzer verstehen nach rechts, Klicken Sie auf diese Tabelle und dann werde ich Sie Daten speichern. Und dann das, Lords, dass Daten PN zeigt alle Daten in der Datenbank und speziell alle Benutzer in der Datenbank seit SB Net Benutzer der Speicherung der Benutzerinformationen auf Wenn Sie genau darauf achten , Sie bemerken, dass der erste wahre tatsächlich in Informationen für diesen Benutzer hat gerade erstellt der Benutzername ist Lone Crusader 1989 bei Gmail oder die gleiche E-Mail, die ich eingegeben. Normalisiert normalisieren bedeutet in der Regel, dass sie im Schlepptau einen Standard bringen. Also, wenn du es in gemischten Fällen geschrieben hast, werden sie alles Großbuchstaben machen,weißt
du, weißt
du, genau wie ich mich sicher fühle, falls, ähm, du weißt schon, verschiedene Leute geben bestimmte Bits von Informationen anders. Also dort, normalisiert es auf einen Standard, um Fehler zu reduzieren. , Die E-Mail-Adresse ist die gleiche,die sie normalisiert, so dass Sie alle diese sehen können, sehen
Sie, E-Mail bestätigt ist wahr. Wenn wir also nicht auf den Link geklickt haben, wäre
dies auf gefallen. Solange dies für uns ist, könnte sich dieser Benutzer nicht einloggen. Aber dann, weil wir auf den Link klicken oder unter normalen Umständen, Die E-Mail wäre an die registrierende Partei gesendet worden. Dann würden sie denken, dass E-Mail es dann dieses Flag auf true ändern würde. All das ist also buchstäblich in seinem eigenen Off-the Box eingebaut. Dies ist alles, was diese großen Unternehmen mit Registrierungssystemen, die so fortschrittlich und
robust scheint ,
bitten, E-Mail zu bestätigen. Das ist alles, was sie tun. Sie haben, ah auf Sie geflogen. Klicken Sie auf diesen Link. Diese Flagge wird nicht geändert. Also, wenn du dich einloggen , sagen
sie ,
Junge, du musst diese Flagge ändern. In Ordnung, also haben wir E-Mail Bestätigt ist wahr. Wir haben das, was Sie nennen, ein Passwort hat und verstehen, um diese Spalte zu erweitern, und wir werden einige Zeit damit verbringen, die Werte dort zu betrachten. Also denken Sie daran, dass mein Passwort groß P am Zeichen S W o R d eins war, dass es in Englisch oder in
welcher Sprache wir sind. Aber es war auf der Avenue, einer Kombination aus Buchstaben, einer Zahl und einem Charakter. Nein, schau dir an, was in unserer Datenbank gespeichert ist. Eins. Sie sollten niemals Passwörter im Klartext speichern. Das ist gefährlich, denn wenn jemand Zugriff auf die Datenbank hat und Ihr Passwort gesehen nur Louis, um das Wort wahr zu
sagen, könnte er einfach Ihr Passwort sehen, dann ist das ein klares Sicherheitsrisiko. Sie wissen, dass Sie genügend Informationen haben, um voranzukommen und auf Ihre Kegel zuzugreifen. Also, wenn Sie Passwörter speichern und das ist universell für jedes System oder alle Entwicklungen, die Sie verwenden, stecken Sie
immer, was wir eine Stille nennen. Jetzt,
sofort, das Identitätsframework Oh, sind Bibliotheken abgesetzt. Diese Funktion hat tatsächlich das Passwort verschwiegen, so dass Sie nicht viel mehr Arbeit tun müssen, nachdem die Person für die Haltungen
gefragt haben, vielleicht einen Standard erzwingen. Aber dann wird die Speicherung von ihm durch die Funktion abgenommen. Ordnung, diese Stille kann man nie sagen, was mein Passwort ursprünglich war, indem man sich den blockierten Text
anschaut, der sich dort bewegt. Andere Spalten, die für dieses Video sind, für die Zwecke aus diesem Video. Weniger wichtig, Junge von Sicherheitsstempel gleichzeitiges System. Wir haben eine vollständige Nummer, ähm, Feld Onder, wenn es nicht bestätigt wurde. So sehen wir vier Zahl und volle Zahl bestätigt Fall. Also dann diese Szene, die Sie in einer Funktion bauen können, wo Sie eine SMS an die Nummer senden einige etwas beginnt wie das, was bestimmte Messaging-Plattformen tun. Ähm, dann können Sie fortfahren und Sie sehen, dass alle diese anderen Felder sind nicht wirklich wissen ,
weil,
Nun, Nun, der Benutzerdatensatz wurde basierend auf Informationen erstellt, die auf der Farm gegeben wurde. Der Bauernhof hat nicht beantragt, Geburtsdatum beizutreten. Vorname, Nachname Steuer. Ich weiß genug, was zum Zeitpunkt der Registrierung erforderlich war. Natürlich bei der Änderung unserer Anwendung entweder die Informationen verlangen, können
wir
bei der Änderung unserer Anwendung entweder die Informationen verlangen,indem wir das Formular ändern, um sicherzustellen, dass an
die Datenbank gesendet wird . Oder wir können, wissen
Sie, eine Schnittstelle
einrichten, die wir tatsächlich,
ähm,diese Informationen zu einem späteren Zeitpunkt
anfordern können ähm, . Aber am Ende, abseits der d, wollen
wir unsere Registrierung einfach für dieses System halten. Natürlich schauen
wir ins Loch. Wir könnten es später ändern, aber zum Zweck dieser Freiheit wollen wir es einfach halten? Wir brauchen einen Benutzernamen und ein Passwort oder eine E-Mail-Adresse und ein Passwort, und Sie sehen hier, dass in der E-Mail-Adresse als Benutzername verwendet wurden. Außerdem ist
dies auch etwas, das wir wahrscheinlich ändern möchten, weil ich den Namen nicht
immer schreit Passwort verwende . Sorry, ich benutze den Namen, weil es immer kriechen E-Mail. Also wollen wir dies ändern, dass wir ihnen erlauben, Benutzernamen
eingeben, eine E-Mail auf ein Passwort eingeben, und dann sind sie in das System. Jetzt, wenn wir auf hallo klicken. Wenn Sie den Mauszeiger über den Textblock zeigen, der Ihnen Hallo sagt, bemerken
Sie, dass die Hand angezeigt wird, was darauf hindeutet, dass sie direkt auf klickbar ist. Wenn wir das tun, sehen
wir, dass wir, ah, verwalten Art von Dashboard, und Sie sehen wahrscheinlich eine Nachricht sagen Danke für die Bestätigung Ihrer E-Mail. Das ist in Ordnung, aber du wirst das alles sehen. Und von hier aus können Sie das Profil aus dem Benutzer sehen oder der Benutzer, der
Lobbyarbeit ist, sondern kann sein Profil sehen. Sie können ihre E-Mails einsehen und wahrscheinlich ein Update vornehmen. Sie können ihr Passwort ändern, indem Sie das aktuelle eingeben und ein neues hinzufügen. Es unterstützt zwei Faktoren. Authentifizierung DieAuthentifizierung
müsste dies natürlich richtig auf konfigurieren. Dann ermöglichen sie Ihnen die Ansicht, machen Sie ein Backup von Ihren persönlichen Daten und löschen Sie auch Ihr Konto. Ich zeige Ihnen das alles, denn wieder sind
all diese Dinger aus dem Kasten. Alles, was Sie tun müssen, ist eine Wertschätzung für die ganze Sie arbeiten, dann ändern. Aber der erste Build, der funktioniert, ist nicht da, weil Microsoft sieht, Lassen Sie uns diese kleinen Dinge, die jeder will aus dem Weg und konzentrieren Sie sich auf die Dinge, die wirklich wichtig sind. Also geben sie dir das aus der Box, und dann sagen sie:
Okay, Okay, nun, wenn du ändern musst, dann geh sofort. Nein, wir haben uns die ganze Zeit Ansichten und Modelle und Controller angesehen. Andi, das
habe ich dir vor Gericht gezeigt. Wenn Sie zu Visual Studio sehen und verstehen wollten, gehen Sie zurück zu der Lösung, dass, wenn wir die Controller sehen wollten, dass wir immer gehen
und den Controller auf dem Controller sehen konnten , die Aktion verursacht. Also wissen wir, wann er es verursacht hat. Indexaktion wird nach dem Ansichtsindex auf suchen. Dann sehen wir den Index. Wir sollten uns wohl genug mit dem Konzept aus, dass durch nein, Aber wenn Sie einen tieferen Blick nehmen, Sie bemerken, dass es keine Controller, die Benutzer erwähnt. Hier gibt es nichts, was mit Benutzern zu tun hat. Aber wenn wir uns den Link ansehen, deutet
es darauf hin, dass es einen Abschnitt namens Identität auf einem Grafen gibt und verwalten, wenn wir
etwas anderes als über den Lincoln wissen . Andere gehen zu verlassen Typ, da das ist eine, die wir gebaut haben, wenn wir sagen, Schrägstrich verlassen Typen wird nach dem Controller
namens Blatttypen suchen . Wenn wir auf einen Link klicken, wie wenn wir auf Bearbeiten klicken, dann wissen wir, dass es nach dem Controller namens Leaf Types sucht, und es sucht nach der Aktion, nannte es und dann das Übergeben der erlaubten an. Tatsache ist also, dass
wir basierend auf dem Link die Gebühren abnehmen können, wo genau im Gericht diese Aktionen ergriffen werden, also kann ich leicht feststellen, dass Oh, es ruft die Editieraktion auf, die Holen Sie das Werkzeug an. Dann gibt es die Ansicht zurück, von der wir wissen, dass wir innerhalb des Views-Ordners finden können. Wir können es einfach ansehen. Nein, wieder
einmal, der Punkt ist, dass die Identitätsstruktur nicht da ist, wo Sie die Ansichten finden können. Onda. Ich meine, ich kann etwas Zeit damit verbringen, es durchzuschauen. Oh, können
Sie das Video anhalten und einfach durchschauen und mir sagen, ob Sie sie finden, aber sie sind nicht so leicht identifizierbar auf. Das liegt daran, dass sie keine Struktur wie diese Modellansicht-Controller-Struktur haben
, die wir erstellen. Das haben sie nicht für die Identitätsmerkmale getan. Jetzt können Sie auf etwas sein, wenn Sie Pause, dann haben Sie angefangen, nach sich selbst zu suchen. Und dann, wenn Sie in Bereiche in erweiterten Bereichen gehen, würden
Sie sehen, dass es hier einen Ordner namens Identität auf gibt. Dann innerhalb der Identität. Sie haben Seiten, aber dann haben Sie nur einen bezahlten Reichtum von Ihnen starten, was nur sagt, welches Layout es verwenden sollte. Sie können mehrere Layouts haben, aber das ist etwas für einen anderen Tag. Aber Tatsache ist,
das ist alles, was wir sehen, was darauf hindeutet, dass es irgendwo ein Identitätsmerkmal gibt. Also bin ich als letzter Akt für dieses Video. Wir bauen Hafer. Alle Seiten oder andere haben Visual Studio-Anbieter mit Zugriff auf alle Seiten, die innerhalb der Identitätsverwaltung verwendet
werden . In Ordnung, also können Sie einfach diese paar Schritte machen und dann haben Sie alle Seiten und dann können wir
unsere Modifikations-Store-Formulare starten und unsere ganze Logik funktioniert. Also zuerst, Ich gehe Zehe rechts Klicken Sie auf Bereiche auf dann werde ich klicken. Dann hinzufügen und Sie nicht. Es muss keine Epochen sein, aber genau richtig. Klicken Sie auf und sehen Sie neue abgewürfelte Artikel. Sehen Sie, das ist, was wir getan haben Controller, Sie nicht Klasse dieses Mal, wenn wir tun Sie gekratzt Artikel Also wir klickt auf neue gekratzte Artikel auf dann wird dies dann fragen, was wollen wir es leben? Und dann in dieser Seite hier werden wir Identität sehen. So klicken Sie einfach auf Identität und klicken Sie dann auf. Add on dann wird etwas Arbeit zu tun. Dann geben sie uns dieses Dialogfeld, wo es sagen OK, wir sind im Begriff, Identität hinzuzufügen Welche FAZ wollen Sie, damit wir wählen Sie wissen, eins nach dem anderen, auf
welche wir wollen, wenn wir sie auswählen, dann werden sie uns zur Verfügung gestellt werden Aber dann bin ich Ich werde nur sagen, ich will sie alle Also werde ich einfach auf Überschreiben schnell klicken, also sind die Dateien impliziert, sozusagen und ich sehe impliziert, weil wir keine Sichtbarkeit auf sie haben, also sind sie impliziert, dass sie da sind. Also sagen sie, sie wollen das imply it schnell mit dem physischen schnell überschreiben. Also sage ich, es ist vorbei an allen Akten. Geben Sie mir physischen schnellen Angriff und sehen Sie auf ändern, wie ich möchte. Dann werden sie sagen,
OK, OK, was ist die Datenkontext-Klasse? Wir wissen, dass wir Anwendungs-DB-Kontext als unseren Kontext haben. Russ auf. Dann können wir einfach voran gehen und auf klicken. Wir müssen keine weiteren Informationen über. Dann werden wir noch etwas mehr Arbeit tun, so dass vielleicht eine Weile gedauert haben. Aber sobald es fertig ist, Sie bekommen diese schöne Hündin mit einem Lese mich, lassen Sie wissen, dass die Unterstützung hinzugefügt wurde. Andi, wenn Sie weitere Dinge tun müssen, dann sagen sie Ihnen, dass Sie diese Zeilen zu Ihrer Startpunkt-CS-Datei hinzufügen können. Aber wenn ich in meinen Anfang dieser Serien-Datei schaue und ich würde sehen, dass sie irgendwie schon
da sind , habe ich bereits meine Annäherung an eine Authentifizierungsautorisierung. All diese Dinge waren vorher da, also lassen sie dich nur wissen, dass du das für den Fall tun kannst, richtig? Aber wir haben es bereits, also können wir das wirklich einfach abnehmen und dann weitermachen. Nun, wenn wir nach links von den Seiten innerhalb von Entität und Bereichen schauen, dann werden wir sehen, dass wir eine Reihe von neuen Dateien haben. Und wenn wir Konten erklärt haben, sehen
wir, dass wir viele neue Tarife haben. Jeder dieser neuen Brände entspricht einer Ansicht, die wir sehen würden, wenn einige
benutzerbezogene Option sind einige benutzerbezogene Operationen. So zum Beispiel haben wir
zum Beispieleine Registrierung vorgenommen. Ich weiß es nur. Wenn ich also auf das Register klicke, dann sehen Sie, dass es Ihnen das Gericht für das Anmeldeformular gibt. Sie fragen Sie nach der E-Mail, sie fragen nach dem Passwort und bitten Sie dann, das Passwort direkt am zu bestätigen. Das hat uns dann das Anmeldeformular gegeben. Eine andere Sache zu beachten ist, dass wir immer noch keinen Controller haben, also fragen Sie sich wahrscheinlich, OK, also sehe ich das Frontend oder sehe das HTML und ich sehe auf dem Formular ist, wissen
Sie, gerendert
werden. Was passiert, nachdem ich auf Senden geklickt habe? Also denken Sie daran, dass mit unseren NBC-Modelle, NBC Nach, wenn wir treffen, Senden Sie es verursacht, aber der Controller und was wir tun, nachdem Sie auf senden klicken, würden
wir innerhalb von einem Controller angegeben haben. Es gibt immer noch keinen Controller hier für irgendetwas identitätsbezogenes. Und das liegt daran, dass diese Ansichten verwendet werden, so dass die Identitätsansichten etwas namens
Razor Pages verwenden . Also, Onda, damit werde
ich dieses Kapitel schließen, und dann können wir uns ein bisschen mehr damit beschäftigen. Aber ich möchte nur eine Wertschätzung für das haben, was passiert. So haben wir unser Register, dass CS html. Wir wissen, dass das eine Aussicht ist, oder? Und wir sehen, und das sehen wir. Aber wenn wir genau hinschauen, sehen
wir, dass es ah richtig auf der linken Seite,
oder das ist der Pfeil, der darauf hindeutet, dass es etwas anderes an der Spitze der Ansicht angebracht ist. Also, wenn ich das mit den Ansichten, die wir haben, vergleiche, also ging ich gerade zurück in meinen Views-Ordner auf Ich schaue mir die Blatttypen Ansichten an und Sie bemerken, dass dieser Benutzer nur so schnell, es gibt keine korrekte links. Sonst gibt es nichts. Diese Ansichten entsprechen nur mit dem, was im Controller sind, Aber dann in dieser Situation, diese Ansicht, die die gleiche HTML-Front ist und Sie wissen, Raisel Front-End. Es hat tatsächlich eine C scharfe erweiterte Erweiterungsdatei, die darunter ist. Also, wenn ich jemanden von diesen Reden, die generiert wurden, erweitern und erweitern, sehen
Sie, dass sich darunter eine C scharfe Datei befindet. Also, wenn ich in das Register gehe nicht sensationell, dass c scharf, dann werde ich anfangen, Gericht zu sehen, das irgendwie aussehen würde, wie wir
zwischen unseren Modellen gemacht haben , wo wir eine Klasse gebaut haben. Also in diesem Jahr habe ich eine öffentliche Klasse und ich nenne es Eingabemodell auf. Ich mache einige Eigenschaften mit einigen Datennotationen, die die Validierungen angeben. Andi,
ich mache auch einige Funktionen, bei denen ich sehe, dass Onda posiert. In Ordnung, ich werde noch einmal nicht in die Tiefe eintauchen. Ich lasse Sie nur wissen, dass jede Logik, die das Verhalten von der
Registrierungsseite außerhalb des Front-Ends steuert , tatsächlich innerhalb der
Punkt-CS-Datei ausgeführt wird, die an die Ansichtsdatei angehängt ist. Also im nächsten Video gehen
wir voran und ändern das Register auf dem Protokoll informiert
24. Anpassen von Registrierungsseite und Prozess: Hey, Jungs in diesem Video werden die Registrierung durchmachen. Also in unserem vorherigen Video gingen
wir voran und wir haben alles von den Identitätsseiten abgerissen. Wir haben auch einen Blick auf die Registerseite, wo wir sahen, dass diese Ansicht hatte das Formular oder diese Datei, die bei CSE Channel registriert ist, war die Ansicht, die das Formular für die E-Mail-Importe und die Passwörter auf hatte. Dann bemerkten wir,
dass es auch
einen Code hinter der Datei in Form einer C-scharfen Datei oder einer C-scharfen Klasse hatte ,
dass ich uns lade, um den Fluss von der Anwendung zu steuern. , Nein, wir werden etwas Zeit damit verbringen, und genau zu verstehen ist hier los. Und dann bekommen wir ein besseres Verständnis. Halten Sie die Rasiermesser-Seiten arbeiten. Also diese Luft genannt Rasiermesser-Seiten, wo der C Sharp Court direkt an die wenigen Akten angehängt ist. In Ordnung, also lass uns Abschnitt für Abschnitt gehen. Wir wissen also, dass der Using Abschnitt ist, wo wir alle unsere Bibliotheken einschließen. Wir öffnen unseren Namensraum, das ist unser Projekt. Das ist die Ordnerstruktur, die auf die schneller kommt, die Epochen denken Identität, dunkle Seiten und Sie sehen, dass es entspricht, die CONed auf sind. Dann ist unsere Akte in ihrer Maismappe. Das ist der Namensraum. Ich habe eine Klasse, und wir nennen es Register-Modell. Also mit nein, Sie sollten vertraut sein, wenn wir Modelle sagen, wir meinen Ansichtsmodelle. Wir meinen Klassen, die speziell für die Partikelansicht auf der Ansicht ausgelegt sind, ist so konzipiert, dass Zehe Interaktion mit den Eigenschaften aufgegeben werden direkt von der betreffenden
Klasse oder dem View-Modell in Frage auf dann diese besondere Ansicht Modell erbt von einer ah-basierten Klasse namens Page Model. So Page-Modell ist in die Geschwindigkeit auf einem Kern auf unserer Klasse in dieser Situation
eingebaut ,
die es zu bestimmten Dingen erlaubt, die unsere regulären Ansichtsmodelle wahrscheinlich nicht getan haben . Oder wir hatten nicht die Notwendigkeit zu tun, weil unsere Funktionalitäten mehr Hafer verbreiten als im Hof hinter für die direkte Sicht. Alles klar, dann gehen wir weiter und initialisieren einige. Unsere Abhängigkeit ist, und wir wissen bereits über Abhängigkeitsinjektion. So haben wir Abhängigkeiten auf, weil Signing-Manager Benutzer-Manager. Diese beiden sind also sehr wichtig, um uns zu helfen, einige Funktionen zu erhalten, die mit der
Benutzerdatenbank und Benutzerdaten interagieren , während Sie weitergehen. Wir haben den Logger so länger halten Sie einfach abgeschlagen Was passiert An
welchem Punkt haben wir die Entfernung
des E-Mail-Centers auf Tour-Konstruktor, der initialisiert wird, ist jede dieser Abhängigkeiten auf. Dann gehen wir zu irgendeinem Grundstück. So sehen wir hier, dass wir Eigenschaft als Eingabemodell bezeichnet werden. Andi Input-Modell ist eine Klasse auf seine Eigenschaften Eingabe und dann sehen wir es als eine Datenannotation , die Kauf von Immobilien. Also Kauf von Immobilien im Grunde sagt, dass, wenn wenn etwas das in der Klasse gesagt wird oder ja , wir haben das Modell, richtig? Also, wenn etwas, das sie in einem Modell gesagt auf geben wir die Immobilie kaufen Immobilien, es gibt im Grunde die Sicht Sichtbarkeit von dieser Eigenschaft. In dieser Situation sagen
wir der Ansicht, dass sie Sichtbarkeit von einer Klasse haben sollte, die Input on genannt wird. Dann, wenn wir uns auf Eingabe bewegen, ist aus dem Typ Sorry, ein Objekt namens Eingabe auf seinem aus dem Klassentyp Eingabemodell. Auf haben wir eine Rückkehr Euro, die ich in den Zweck bekommen schließlich auf. Wir haben eine Liste von Authentifizierungsalternativen sind externe Protokollierung. Das ist, wenn wir vergessen können, wie verlinkt in und Facebook und all die, die Sie kennen, Google. All diese anderen Arten von Single Sign-On-Lösungen können integriert werden, und wir können sie zu einer Liste hinzufügen, werden aber heute nicht darauf eingehen. Wenn ich also weitermache, sehen
Sie, dass die nächste Sache die Implementierung oder die Definition aus dem Eingabemodell ist. Also haben wir hier implementiert Eingabemodell implementiert, und es ist in dem Typ in der Form oft Objekt namens Input Shore implementiert. Aber dann wird die Definition von unserem Klasseneingabemodell unten geschrieben. So ist das Eingabemodell eine Klasse auf. Es hat die Eigenschaften, die Zehe der Form entbeint werden. Also gehe ich zu Knochen zwischen der Form auf dem Modell, ähm, weit ist es hier. So sehen wir, dass wir die Eigenschaften haben, E-Mail, Passwort und Passwort bestätigen. Sie sehen, dass jeder von ihnen eine Notation hat, die die Validierungen sprechen, die
durchgeführt werden müssen . Wir sehen also, dass dies erforderlich ist. Die E-Mail ist erforderlich. Es soll eine E-Mail-Adresse sein, die so validiert ist. So können Sie basierend auf dem Datentyp eine E-Mail-Adressen genau dort validieren. Sie können sehen, dass es eine E-Mail-Adresse sein soll. Darauf. Wir können sehen, die Anzeige Name ist genial. Ich kann leicht ändern, sagen wir, E-Mail-Adresse. Ich möchte nicht den Namen anzeigen, um nur E-Mail zu sein. Also dieser hübsche Name, denken Sie daran,
ist, was auf dem Formular als Beschriftung für die Eingabe für die Eigenschaft angezeigt
wird, für die er oder höher festgelegt wird. Nun, wenn ich zurück zu meiner Ansichtsdatei gehe und einen Blick werfen, werde
ich hier sehen, dass ich den Abschnitt für die E-Mail darauf habe, da das Etikett vor der Eingabe dieser E-Mail ist. Denken Sie also daran, dass
wir in O. P, sobald Sie ein Modell haben, P,
sobald Sie ein Modell haben,auf die öffentlichen Eigenschaften zugreifen können, indem Sie einfach den Punkt-Operator verwenden. Also habe ich Eingabe als Modell oder wir haben Eingabemodell als Klassenschritt, und dann haben wir die Eigenschaft. Das ist Knochen zu der Form, die eingegeben wird. Also Eingabe ist unser Objekt aus Typ Eingabemodell, was bedeutet, dass wir sagen können, Eingabe, dass E-Mail-Eingabe, die pastored Eingabe, die Passwort bestätigen, auf dem wir all das auf dem Formular tun können. Also nein, es heißt, dass dies die Beschriftung für die E-Mail-Eigenschaft in einem vier Eingabeobjekt ist. Und ich möchte auch eine Eingabe für diese Eigenschaft auch auf der Validierung scheinen. Und dann macht es dasselbe für Passwort und dasselbe für Posser bestätigen,
was dann bedeutet, wenn wir mehr zu diesem Formular hinzufügen müssten, all das zu sagen, dass, wenn Sie mehr zu diesem Formular hinzufügen wollten, als wir
zurückgehen müssten zu unserem Eingabemodell hinzufügen, um dem Formular zusätzliche Eigenschaften hinzuzufügen, um mehr Details zu
erhalten . Also werde ich einfach weitermachen,
sehen, dass vielleicht unten, die meine Angestellten referenzieren. Denken Sie daran, wir Mitarbeiter als Datenklasse für Mitarbeiter haben. Darüber hinaus sind alle diese Eigenschaften hier. Ich schaue nur zurück, ich sehe, was wir sonst noch brauchen. Wenn sich jemand anmeldet, möchte
ich, dass sie zumindest ihr Datum abgeben. Unsere Lemina hat es danach benutzt. Verwenden Sie ihre Steuer I d. Alles klar,
Also, wenn Sie sich registrieren, müssen
Sie in Ihrer E-Mail-Adresse setzen eine Steuer I d onda Passwort. In Ordnung, wissen
Sie, was? Verwenden wir Vorname, Nachname, da das üblich genug ist. Also wollen wir den Vornamen auf dem Nachnamen ausschalten,
jemanden, der sich anmeldet, wenn sie bei der Registrierung sind. Richtig? Also, nur mit diesem Beispiel, werde
ich zurück gehen, um Punkt c assoziative SCS zu registrieren. Dann werde ich diese beiden Eigenschaften zu dem Eingabemodell hinzufügen, also werde ich sehen, erforderlich, weil ich benötige, dass Sie Ihren Vornamen eingeben. Andi. Ich werde sehen, dass der Datentyp hier erwartet. Ich bin mir nicht sicher, ob die Datentypzeichenfolge so streng sein wird, wenn man bedenkt, dass Sekunden ein
Datentyp anzeigt, dann würde es auflisten. Oh, die Art der Datentypen, auf denen es unterstützt. Die sind drin. Ähm, also sehen Sie, es hat ziemlich viele Denham für die Datenzeit, die es erlauben wird,
aber ich denke, okay,
es klebt so dass aber ich denke, okay, ich einfach Text sagen kann, um anzugeben, dass, weißt
du, Texte sollte sein, was in dieses Feld geht, wenn es überprüft wird. Dann kann ich einen Anzeigenamen festlegen. Also sagen, Anzeige auf dem Namen ist gleich auf diesem wird Vorname sein. In Ordnung, das ist
also mein 1. Das sind also die Validierungs- oder Detailnotationen, die in der Validierung übergehen. Aber dann brauche ich die Immobilie selbst. Es ist also eine Requisite an dann. Das ist Vorname, äh, das falsch, und er spricht das einfach schnell. Also String Wanne zuerst in Person. Geben Sie auf DSO Wir haben Vorname hinzugefügt und l diese Kopie all dies, weil es gut ist,
sehr ähnlich für den Nachnamen zu sein . Obwohl Änderung ist der Anzeigename auf dem Eigenschaftsnamen zuletzt auch auf den Nachnamen. Also nein, ich fügte hinzu, um das Modell zu fühlen. Soweit die CIA-Station oder die Ansicht weiß, kann
sie zwei zusätzliche Felder unterstützen. Also, nein, ich muss eigentlich Schnur Zehen schreiben, sie dem Formular
hinzufügen. Also werde ich nur die Grenzen schieben. Ich werde diesen ganzen Block nehmen, der diese ganze deformierte Gruppe für E-Mail ist. Ich werde es kopieren, dann werde ich es einfach zweimal oben hinzufügen. Aber dann wird die 1. 1 Eingabepunkt Vorname auf dem Die Eingabe ist für die Eingabe. Dieser Vorname auf alles in dieser ganzen Formgruppe ist relativ zum Vornamen auf. Dann wird die 2. 1 für den Nachnamen sein. Also ist hier alles relativ. Der Nachname, den ich kenne. Sie sehen, dass das Anmeldeformular dachte nur ein größeres Nein, Sie fühlen sich für Vorname, Nachname auf E-Mail. Ah,
Passwort, wenn Sie das Passwort bestätigen müssen. Wenn du ihn benutzen
musstest, könntest du ihn benutzen, wenn du in andere Dinge setzen willst, die in andere
Dinge stecken könnten . Ich werde Ihnen später zeigen, warum die E-Mail-Adresse landet als ihn zu verwenden. Aber der Punkt ist, wenn Sie nicht wollten, dass jemand ihnen angibt, dass ich ihn benutze, dann könnten Sie tatsächlich nur ich die Eigenschaft mit der erforderlichen Validierung haben oder die, wissen
Sie, was auch immer als -Validierung für dieses Feld auf. Stellen Sie dann sicher, dass es innerhalb des Formulars dargestellt wird. Ich gehe auch Zeh, ähm, änderte diese Raumschönheit und Strich primär in BT und Dash Block. Nur, weißt
du, kleine Änderungen. Aber ich das Ende des Diakons. Was auch immer. Und wenn Sie im Formular weiter unten schauen, sehen Sie den Abschnitt, in dem sie
es erlauben , sich bei einem anderen Dienst zu registrieren. Also, weil diese Liste, die ich Ihnen vorhin gezeigt habe, unsere auf der Linie Modell gibt es es nichts in der Aufzüge. Nichts geht dahin. Es gibt also ein wenig Wertschätzung und das wird ausgeführt, was besagt, dass, wenn die Liste leer ist, diese Nachricht angezeigt wird. Wenn die weniger Liste ist nicht leer als Erzeuger-Button pro geben Sie in dieser Liste,
richtig,
so dass richtig, Sie kontextuell drucken können, sind nicht HTML oder was auch immer basierend auf verschiedenen Bedingungen mit einfach, wenn sonst mit, wissen
Sie, sehr C scharf aussehende Gericht. In Ordnung, also werde ich diese Änderungen speichern. Ich kann einfach Control Shift und s tun, um alle Änderungen zu speichern. Eigentlich fühle
ich mich besser, einen Build jemanden zu tun, um die Verschiebung
zu kontrollieren , so halten Sie die Kontrolle und Verschiebung und Ausdruck auf einen Build zu machen. Nein. Nach einem erfolgreichen Build sind
wir sicher, dass wir keine Fehler haben. Und ich werde nur einen Bruchpunkt innerhalb unserer Modellklasse hier setzen, also werde ich nach unten zu einer dieser Funktionen auf scrollen Dann werde ich einen Punkt
auf die get-Funktion setzen , und ich habe einen Haltepunkt auf den on-post gesetzt. Also haben wir ungh ETS. Ich werde dort ein Heilmittel haben, ein Waschbecken auf wir haben auf Post mit Blick. Also werde ich nur genau diese Punkte dort setzen und dann mehr entlarven als und mal sehen, was passiert, dass es vom Weg abtritt, Ordnung, also jetzt sind wir im Debug-Modus. Lassen Sie uns versuchen, einen Benutzer zu registrieren, also werde ich auf Ben registrieren klicken. Es geht Zehenpause, und dann wurde Visual Studio aufleuchten und sagen, dass alles, was Sie einen Punkt getroffen haben. Also sehen Sie, wenn ich auf Registrieren klicke, was es tut, ist das Laden. Es ruft diese Funktion auf, die nur sagt,
Setze eine Rückgabe deiner und richte die externe Loggin-Liste ein, so dass die Liste hier
initialisiert bekommt sie von einem Dienst, der wissen würde, wenn wir irgendeine externe Protokollierung konfiguriert hatten Listen sind nicht das, was wir nicht haben, also ist dies leer, aber die Rückkehr, die Sie sind, ist im Grunde wie, wenn Sie oben sind, sagen
wir, Sie sind auf Amazon dot com auf Sie waren auf dem Produkt Sprache. Aber dann sagte er:
Oh, Oh, du willst dich einloggen oder du willst dich registrieren? Entschuldigung. So klicken Sie auf Registrieren, während Sie auf der Produktgeschwindigkeit sind. Sie füllen das Formular aus und Sie sind registriert und sie melden sich automatisch an. Aber sie geben dir die Produktsprache zurück. Das ist ein Zweck der Rückkehr, die Sie sind. Oh, also die Rückkehr, die Sie sind, werde ich kontextuell basierend darauf gesetzt, dass Sie wissen, wo es ist, welches Gebot Sie sich von nun an registrieren. Dann war es also, das ist die Seite, auf der er war, als du dich registriert hast. Der Grund sagt, Equals und alles ist, dass es nur sagt, dass, wenn keine Werte zur Verfügung gestellt werden und es machen, nein, das ist alles, was es sagt. Wenn also kein Wert innerhalb dieser Variablen angegeben wurde, ist
es Standard. Aber es sollte nein sein. So wie es steht, erhalten
wir einen No-Return-Wert. Geben Sie Ihre URL auf einem leeren,
vermieteten externen Loggins zurück , aber es ist nein, es weiß, dass es in die Ansicht geht, also kehrt es nicht von Ihnen oder irgendetwas zurück, weil das heißt, das ohnehin hinter der
Ansicht läuft . Nein. Wenn wir auf unseren Bildschirm schauen, sehen
wir in Ordnung, wir haben den Vornamen der Nachname die E-Mail-Adresse das Passwort unter dem bestätigten Posser auf sehen wir auf der Seite hier, wo sie sagen, dass. Okay, erinnerst du dich an die Aussage Wenn es keine externen Protokollierungsdienste
gäbe, dann zeigen Sie, Frau, dass kein
Wasser , Wasser, was auch immer dort angezeigt wird. Also, nein, ich kann fortfahren und dieses Formular ausfüllen. Also werde ich sagen Testbenutzer, das ist Vorname Nachname und ich ging, um einen Test an E-Mail zu sehen, die com wissen, dass die E-Mail nicht eine legitime sein muss, weil ,
na ja, es wird sowieso keine E-Mail senden, auf dann der Pastor, Ich werde das gleiche Passwort p am Zeichen S W Apple rd verwenden auf gehen, um das auf wiederverwenden. Dann werde ich zuerst No registrieren. Dann mache ich einen Fehler in der Pastorate und bestätige das Passwort. Ich klicke auf Registrieren. Es überprüft und sieht die Passwortbestätigung, dass sie es auf der Bestätigung übergeben . Nicht viel. Andi, wenn du auf unser Modell
zurückblickst, würdest du sehen, dass das die Nachricht war, die gesendet wurde. Also haben sie tatsächlich Ah compere gitano t zeigen, dass es in Ordnung ist. Ich vergleiche nur den Wert, der in das geht, mit dem Wert, der zu Fuß geht, welche von anderen Eigenschaften, die in diesem Fall Passwort ist. Also unser Eigenschaften-Passwort und dann die Datenanmerkungen sind Vergleichspasswort, das ist diese Eigenschaft mit dieser Eigenschaft auf dann die Aramis. Es sollte der Pastor und Konfirmation Pastor sein. Nicht viel so richtig Es gibt nicht einmal die Einreichung an die Post und zu wissen, ob es gültig ist oder nicht, ist nur sagen, dass sie nicht viel. In Ordnung, auf DSO werde ich voran gehen und es in einer Weise wieder eingeben, dass es viel seifig ist. Bei San Assessed A Bort gewann auf die gleiche Weise weiter. Wenn ich den Vornamen-Wert nicht eingegeben habe, sagt
es mir, dass es erforderlich ist, weil ich die Daten in der Notation angegeben habe, die erforderlich sind . So ist alles im Formular auf DSO beim Ausfüllen des gesamten Formulars erforderlich, es wird Sie automatisch auffordern, im Grunde zur gleichen Zeit. Im Gegensatz zu den Controllern, bei denen es toe hat, gehen Sie zur Post-Aktion und überprüfen Sie dann, ob sie gültig ist, kehren
Sie dann mit einer Nachricht zurück. Es ist, als würde es das gesamte Modell laden und es verbrauchen und Sie unter Fly wissen lassen ,
dass ,
Hey, Sie sind in Violets Sohn aus Was das Modell sieht, sind
die Werte niedrig, um so Vorname, letzte Name E-Mail-Adresse gesponsert. Alles ist in Ordnung. Ich klicke auf registrieren und dann haben wir die nächste Pause getroffen. Die Punkte sind die nächsten. Bruchpunkt hier ist in der Post auf wir hier sehen, dass gut, wir werden Schritt durch und schauen, was jede Zeile tut so gut,
die Rückkehr, die Sie religiös festgelegt wird, basierend auf dem, was übergeben wird. Wenn ich also sehe, ob es nicht leer ist
, will ich den Wert. Wenn es leer ist, dann schicken Sie sie einfach zurück auf die Homepage. Das ist alles, was es scheint. Ähm, die externen Loggins. Sie wissen, dass diese bereits leer sind,
jemand, um einfach einen anderen Breakpoint zu setzen. Und eine coole Sache ist, dass man F 11 verwenden kann, um Zeile für Zeile zu gehen, aber ich muss wirklich nicht zu diesen beiden Zeilen gehen, weil sie keinen Wert für mich haben. Also kann ich irgendwo anders einen Bruchpunkt setzen, und dann kann ich einfach fünf drücken, und es wird bis zum nächsten Haltepunkt weitergehen, so dass die gelbe IRA Ihnen zeigt, welcher
Bruchpunkt oder welche Linie ist das? Also habe ich die beiden entfernt und nirgendwo. An diesem Haltepunkt können
Sie auch mit der Maus auf die Linie bewegen und dieses Symbol tatsächlich anklicken. Dann läuft es sowieso nur die Ausführung bis zu dieser genauen Zeile, also haben wir mehrere Optionen, um Ihr Gericht zu debuggen oder zu zerstören, während Sie weitergehen. Ich bin Model State durchgegangen. Es macht die Überprüfung auf. Ich werde nur eine 11 machen und es steht, dass es gültig ist, also bewegt es sich im Schlepptau. Das oh, hier ist es. So ist der Modellzustand gültig ist, dass er als wahr ausgewertet wird, dann was er tut, ist
es mir von ah var geben. Benutzer unseres Benutzers, der eine neue Variable ist, sind neue Objekte. So viers ein sehr großes er Wort, das Sie verwenden können, um zu sehen. Ich will eine Variable. Ich weiß nicht, welcher Datentyp es sein könnte. Also gib mir einfach eine Variable. Andi. Es wird davon ausgehen, dass es eng ist, basierend auf dem, was zugewiesen ist. Also, wenn ich sagte, Vier Nome, Andi sagte,
gleich, dass er weiß, dass es eine Interfacette von Eisen Kuppel ist gleich Zehe offene Anführungszeichen auf setzen in einem Satz als Gnome ist keine Zeichenfolge. Das ist also die Unterstützung des Wortes Varty. Wenn Sie nicht sicher sind, welchen Datentyp Sie erwarten, können
Sie auf DA einen Variablennamen speichern. Dann wird es. Es wird diesen Objekttyp danach annehmen. Also sehe ich hier. Dieser var Benutzer ist gleich einem neuen Identitätsbenutzer. Andi übergaben die Verwendung von ihm auf Dies ist alles, was der Benutzername Wert endet die
E-Mail-Adresse , weil es den Benutzernamen als Eingabe übergeben wird. Diese E-Mail in der E-Mail als Eingabe, dass E-Mail. Jetzt gibt es kein Gefühl für den Benutzernamen. Wenn Sie ein paar für den Benutzernamen eingegeben haben,
dann sagen Sie einfach, verwenden Sie den Namen ist Gleichheitseingabepunkt Was auch immer Feld eine gegenseitige E-Mail ist gleich der Eingabe, die E-Mail, es sei denn, Sie ändern diesen Eigenschaftsnamen Hinweis,
der den Benutzer erstellt mit nur denen, die Eigenschaften. Aber wir hatten eine tote andere Eigenschaften in der früheren Vor- und Nachnamen. Also müssen wir unser Gericht ändern, um sicherzustellen, dass, wenn wir diesen Entitätsbenutzer erstellen, er
den Benutzernamen kennt . E-Mail. Vorname Onda Nachname nach all dem zu tun, geht
es in der möglichen. Es ist ein erstellt eine andere Variable namens Ergebnisse auf. Dann ist das Benutzermonitor, Doc. Erstellen Sie einen Sing, so dass er in diesem Benutzerobjekt übergibt, das wir gerade über Identität erstellt haben. , Der Identitätsbenutzer,den er in diesem Objekt übergibt, sowie das Passwort, das wir gerade eingegeben haben. Diese Funktion wird Sie so ziemlich das Hashing vom Passwort und das Einfügen in die Datenbank auf all diesen wunderbaren Dingen auf Dennis entfernen. Wenn Ergebnis, das gelungen ist. heißt, haben wir diesen Benutzer erfolgreich in der U in der Datenbank erstellt, dann liebe ich, dass er erstellt wurde. Also log EA wurde gut erstellt auf, dann generiert das Kabel. Also erinnerst du dich an das richtig? Nirgends tun einige E-Mail-Bestätigungs-Sachen. Also werden wir diesen Akkord erzeugen. Ähm, und dann macht es die nötigen Mittel. Im Allgemeinen ist
es das ganze Gericht, und dann sendet es es an die Bestätigungs-E-Mail-Seite. Das ist also eine Weiterleitung. So bestätigen Sie den pH-Wert. Dann geht es auf die Beteiligung des E-Mail-Center-Dienstes
, auf den wir nicht konfiguriert haben. Senden Sie diese E-Mail an die E-Mail, die gerade mit dem Text zur Bestätigung Ihrer E-Mail bereitgestellt wurde. Bitte bestätigen Sie Ihre Identität, indem Sie auf den Link in der Leiche aus der E-Mail, die
Senatssitze waren Senden eines Knöchel-Tags mit einem Link zu was auch immer, wer gerade als die
Bestätigungsschnur in diesem Block vor Gericht generiert hier in diesem Block. Cooler Block. Scheint Leid. In Ordnung. Nein, nachdem es all das erledigt hat, überprüft es. Muss nicht wirklich bestätigen, ähm, Konto Andi. Wenn ja, dann lesen Sie Eric auf die Seite. Das ist also eigentlich eine Option. Wir können jemanden ausschalten, um zu zeigen, dass Sie ihn ausschalten. Aber ich werde immer noch den E-Mail-Absender konfigurieren, damit wir Holter überprüfen können. Wir können es rausbringen. Es klebt also. Ist es ausgeschaltet? Wenn es eingeschaltet ist, dann wollen wir diese Rede umleiten, was eine weitere Identitätspapiere ist, die wir in der Abnutzung mit dieser E-Mail-Adresse auf dann ansonsten wollen
wir nur weitergehen und die Person einloggen . Das ist also, was der Block vor Gericht hat der Unterzeichnungsmanager mit Ihren Schildereinschnitten zu tun . Wenn Sie sich in Protokollierungsstraßen anmelden, ist
diese Signatur-Manager-Punkt-Dysfunktion, die diesen Benutzer auf DSI schleppt, persistent, fällt auf. Dann leiten wir den Zeh um, woher du kommst. Wenn dort überhaupt eine Verknüpfung zugewiesen wurde, wenn Pfeile vorhanden sind, geben wir die Pfeile an, die generiert werden. Am Ende all das, wir zurück Seite. Nein, das war ein Bissen. , Ich meine, das Gericht ist ziemlich unkompliziert. Es ist irgendwie sehr Ja, es ist unkompliziert. Wenn Sie nur der Sequenz folgen, können
Sie irgendwie gesehen haben? Achten Sie auf die Namen der Objekte und die Namen der Funktionen. Sie können ableiten, was passiert,
und es ist tot, weil eine Spüle erstellen. Ich sehe Benutzer. Ich bin sicher, Sie können herausfinden, dass dies den Benutzer mit dem Passwort erstellt, oder? Kleben Hat das gelungen? War das erfolgreich? Dann tut es, was du weißt, dass es so tun soll, wie es geht. In Ordnung,
jemand, der auf den Kontinenten vorgeht, eigentlich nur irrtümlich. Aber ich klickte auf die Play-Schaltfläche, die Zeile. Also, wenn ich einfach auf diesen Play-Button klicke ,
siehst du springt
nur auf diese Linie, es wird nur ausgeführt, während es entlang geht. Alles, was unterstützt wird, wird erledigt, und wenn Sie nur sehen möchten, was in einer bestimmten Zeile passiert, wird
es sich einfach bewegen. Aber am Ende ist
es noch nicht fertig. Es pausiert nicht mehr für mich, auf zu debuggen. Dann sehen Sie, dass wir zu dieser Rede umleiten, Sie sehen schneller, um Ihre Anrufzeit zu bestätigen, Justin, um zu bestätigen. Und das ist vielen Dank, dass Sie Ihre E-Mail bestätigt haben. Das ist also die nächste Seite, auf die es sich bewegt, sobald die bestätigt wird. Dann möchte ich aus dem Boot kommen, festgemacht, und dann werden wir uns die Datenbank ansehen und ich bin nur mit der Tabelle interagieren und speichern Sie Daten auf. Dann sehen wir das noch ein anderes. Oh, ich hatte es schon geöffnet. Also, wenn Sie es bereits geöffnet haben, Sie können einfach klicken Sie auf diese Schaltfläche Aktualisieren erscheinen und dann wird es erneut ausführen, dass die Daten, die es gibt, und wir sehen hier wissen, dass wir Benutzer haben. Wir haben jetzt einen Test. Wir haben gerade erstellt, und wir haben Crusader auf Ankündigung bekannt, dass wir immer noch keinen Vornamen oder Nachnamen für niemanden haben. Also werde ich das Gericht so modifizieren, dass versichert wurden, dass die zusätzliche Sicherung tatsächlich die Datenbank
geschoben wird. Bevor ich das mache, werde
ich Testbenutzer löschen. Ich habe es gerade erschaffen. Ich werde es nur löschen, damit ich diese E-Mail-Adresse wiederverwenden kann, die Onda eingebaut ist, ist auch Validierung, dass Sie nicht wiederverwenden können und die E-Mail-Adresse Sie verwenden. Nun, ja, ich justiere ihn sogar, wenn es bereits existiert. All off, diese Validierungen sind bereits integriert. Also nein, ich werde zurück zu meinem Rasiermesser Zeremonie bei CSE Schimmel registriert, dass CS Datei und dann werde
ich unsere Erstellung ändern, die Identitätsbenutzer sind bedingt. Bett in den Benutzer sagt, verwenden Sie den Namen E-Mail auf Nein, Ich möchte Komma auf sagen, wenn ich sage kommen. Ich sehe alle anderen potenziellen Sicherungen, die auch aus der Datenbank kommen,
aber dann beachten Sie, dass Identitätsbenutzer nicht die zusätzlichen Ängste hat, die ich erstellt habe, als ich den Mitarbeiter
einfüge . Wenn ich also zusätzliche Felder betrachte, die entweder alle Standardfelder sind,
sehe ich keinen Vornamen, der keinen Nachnamen sieht. Ich kann einfach die Mitarbeiter-Datenklasse zurückbringen, in der erweiterte Identitätsbenutzer, und ich habe diese Treibstoffe toe gemacht, über die ich nicht benutzt habe, wirklich. Ich habe sie dem Tisch hinzugefügt, aber nicht zur Klasse. Anleitung für den Benutzer. also einen neuen
Identitätsbenutzer erstellen, weiß er nicht wirklich darüber, weil dies Teile von Mitarbeitern sind. Also, was ich tun werde, , ist,anstatt einen neuen Identitätsbenutzer zu erstellen, werde
ich einen neuen Mitarbeiter auf dann abseits des Kurses erstellen, ich werde die Einschlüsse nach dem Lauf, der durchläuft die Datei, und ich sehe neue Mitarbeiter auf Benutzernamen E-Mail-Benachrichtigung noch Schlagzeilen, weil Mitarbeiter wissen, über die Identitätsbenutzer Sicherung mit ihm auf E-Mail auf Wenn ich Komma drücken, verwende
ich Kontrollräume, um die Liste zu sehen. Dann werde ich bemerken, dass ich alle von der Identität sehe, ihre Felder zusätzlich
benutze, meine zusätzlichen Felder für Mitarbeiter. Also werde ich auch sagen, Vorname ist gleich Eingaben Punkte. Vorname auf. Dann werde ich sehen, Nachname ist gleich Eingaben Punkt Nachname,
alles klar, alles klar, und ich verstehe, um den Löwen zu atmen, so dass ich es nicht zu viel aus dem Bildschirm gehen. Ordnung, also diese Form des Gerichts ein bisschen. So, jetzt habe ich eine neue Mitarbeiter erstellt und erinnern, Mitarbeiter erweitert Identitätsbenutzer soas, faras Alles, was Identitätsbenutzer erfordert betroffen ist. Mitarbeiter sehen aus wie Identitätsbenutzer. Also erstelle ich einen neuen Mitarbeiter und dass ich in die A-Senke gehe. Erstellen. Und wenn Sie in der schauen, wenn Sie diskret, Mauszeiger über, erstellen Sie eine Spüle und dann schauen, was es erfordert, sehen
Sie, dass es Identitätsbenutzer erfordert. Ich überlasse einen Angestellten. Wieder einmal erweitert
es Identitätsbenutzer. Soweit zu schaffen ISS Senke betroffen ist. Es bekommt ein Objekt, das genug aussieht wie Inseln Benutzer, es hat mehr Probleme. Ich werde meine Breakpoints entfernen. Da wir wissen, was in dieser Post Facing Funktion passiert, werde
ich eine weitere Registrierung machen. Einige speichern nur alle Änderungen auf. Dann werde ich eine weitere Registrierung machen und dann sehen wir die volle Funktion. Nein, dieses Mal werde ich nicht mehr in Debug gehen, wie ich zuvor sagte. Was ich tun werde, ist Bros Flugverbindungen zu benutzen. Also diese Aktualisierungspfeil neben dem Stern-Button verstehen, dass Dawn Iro Andi zuerst klicken , müssen Sie eines der Mädchen Airlink, wenn Sie noch nicht getan haben, so werde ich bro Erling Dashboard klicken, die öffnet dieses Dashboard auf der linken Seite. Nun, zu meinen Rechten, es könnte es irgendwo anders auf Ihrem Bildschirm bringen. Aber dann will ich dich retten, Bruder. Sir. Nun, wenn Sie das tun, wird tatsächlich eine schnelle Version starten aus. Ich nenne Eyes Express, die irgendwie in Visual Studio eingebaut ist, aber dann wird es tatsächlich Host Ah, Inszenierung von Ihrer Website, ohne dass Sie in D beide Morneau wieder, wenn Sie in diesem mehr sind, wenn Sie jede Anpassung, werden Sie Ihre Änderungen verfolgen können, wie Sie können Wenn Sie in Menschen defensive sind, Rick Punkte hart. Also werde ich voran gehen und registrieren und ich werde Sie wiederverwenden den gleichen Testbenutzer Andi E-Mail-Adresse und die einige nicht ihr Ende des militaristischen auf verwenden. Dann ist das Passwort der gleiche Pastor p bei Zeichen-Assistent der Organisation ein auf. Ich benutze nur ein Passwort, weil ich nicht zu viele Pastoren haben will und mich nicht daran erinnern dass
du weißt, was was ist. Also nein, ich verstehe. Vorname, Nachname E Militaristen. Oh, nein, ich füge die zusätzlichen hinzu und Erwartungen hinzu, dass, wenn ich auf Registrieren klicke und ich
registriert bin , wenn ich in der Datenbank schaue, ich sehen sollte, dass ich einen Datensatz mit dem Vornamen auf der letzten Name. Wenn ich also auf Registrieren klicke, geht
es weiter zur Bestätigungsillustration. Und ja, wissen
wir alles. Wir klicken hier, Toe registrieren, dann können wir nicht gehen und überprüfen in der Datenbank. Ich werde Visual Studio zurückbringen Immer noch nicht im Debug-Modus. Aber ich gehe zu meinem Objekt-Explorer auf In meiner Tabelle schauen. Ich glaube, ich habe es schon geöffnet. Ja, das tue
ich. Und dann, wenn ich klicke,
aktualisieren, wird mir der Datensatz für den neu erstellten Benutzer angezeigt, Testbenutzer auf dem Vornamen ist. Der Nachname hat Werte. Also für alles, was wir betreten wollten, könnten
wir einfach, wissen
Sie unser Registrierungskabel
ändern und sicherstellen, dass wir dafür zählen. Sie werden auch feststellen, dass bei der diskriminierten Anzeige von Mitarbeitern im Vergleich zur Anleitung für Benutzer, so dass Diskriminator tatsächlich anzieht, welche Klasse basierte Klassen sind, die verwendet werden, um
diese Benutzerdatensätze zu erstellen . Er weiß also, dass Identitätsbenutzer die Klasse in dieser Situation ist, weil dies
ein Standardbenutzer war . Aber dann haben wir es geändert und wissen, dass wir Mitarbeiter schaffen. Sind Sie Datensätze erstellen, ist in der Mitarbeiterklasse statt deaktiviert. Das bedeutet, dass Sie tatsächlich verschiedene Klassen pro Benutzertyp verwenden können. Sie können leicht diskriminieren, was ist, basierend auf dem Diskriminator. Aber das ist eher eine Klasse von hören so real. Es ist wie für Rollen sind so etwas nur zu sehen Oh ja, diese Basisklasse wurde für diesen Datensatz verwendet. Vielleicht ist es für Sie einfacher, im Steinbruch zu verwalten. Nein, für die Registrierungsanforderungen oder die Anforderung, dass
wir am Ende unserer Registrierung Registrierungeine Mahlzeit senden. Ich werde diese Funktion deaktivieren, indem ich den Anfang von Punkt CS so kam es für
mich aktiviert . Ich bin mir nicht sicher, ob es nicht für dich ist. Wenn nicht, dann ist das in Ordnung. Aber wenn es für dich ist und du Lee täuschen willst, dann können wir einfach sehen, dass wir diese Linie entfernen. Also, wenn wir sitzen von den Standard-Identitäten Dienste, die bei der Standardidentität, Identitätsbenutzer auf Sie können diese Weise ändern. Du musst nicht und ich will. Aber wir könnten dies den Mitarbeiter oder jede andere abstrakte Klasse ändern, aber ich überlasse die Standardwerte auf die Standardwerte. Richtig. Aber dann für die Optionen. Ich will diese Optionen nicht. Sie können viele weitere Optionen hinzufügen. Sie können einfach Komma-Optionen Punkte auf sagen. Dann werden sie Ihnen irgendwie die anderen Optionen zeigen, die Ihnen zur Verfügung stehen. Entschuldigung. Eigentlich Eigentlich Eigentlich müsste
ich das Gericht refraktieren. Entschuldigung. So könnten Sie mehrere Optionen haben. Sie beginnen einfach mit dem Ausdruck „Lambda Options“ im Nackt. Offene Zitate. Entschuldigung. Brise. Rennen ist offen und nah an. Dann werden mit jeder Option die Semikolon- und Anisa-Optionen aktiviert. Dann sehen Sie einen Punkt und dann würden Sie in der Lage sein, die anderen Optionen zu sehen, die Sie ergreifen können und geben Sie eine Passwortstärke von hier aus. Sie wissen, wenn Sie Großbuchstaben
benötigen, Kleinbuchstaben
benötigen, eindeutige Zeichen benötigen oder einfach sein wollten. Sie könnten das von dieser Ebene durchsetzen. Sie könnten die Standardzeit über Tarlac Hafernummer gelegentlich ausschalten. Sie wissen, dass es so viele Dinge von diesem Punkt begrenzen könnte oder so viele Dinge von
diesem Punkt aus ermöglichen könnte. Also eins von den Dingen, die aktiviert ist, ist die Option, das Require-bestätigte Konto
wahr ist . Das bedeutet, dass sie bestätigen müssen, dass sie durch die E-Mail gehen. Ich werde nur deaktivieren, dass wir ziemlich viel Arbeit gemacht haben, also werde ich das deaktivieren. Wir werden nicht sicher sein, dass E-Mail-Dienst zumindest nicht wissen Also nein. Wenn
sich jemand registriert, muss er seine E-Mail-Adresse nicht erneut auf DSO bestätigen. Wir müssen wahrscheinlich zu unserem Register über DCI zurückkehren und etwas, das noch dieses Gen widerspiegelt . So haben wir hier, dass die Person bereit ist gerührt auf. Dann haben wir, dass wir die E-Mail senden. Wenn wir also die Notwendigkeit für die E-Mail deaktivieren, als wir tatsächlich keine von dieser Schule brauchen, der einzige Anruf, istder einzige Anruf,
der passieren muss, nachdem die Person erfolgreich Lobbyarbeit hat, die Tatsache , dass wir sie anmelden werden und leitet sie dann weiter, weil alles oben, was abgesehen von auf die längeren setzen wird, desto länger blind
sind. Aber alles, was länger ist, ist darauf ausgerichtet, diese E-Mail zu senden, sie auf die Seite
umleiten, indem sie auf etwas klicken, um zu bestätigen. All das verschwindet, wenn wir der Person erlauben, sich anzumelden. Also übernehme ich den ganzen Block vor Gericht. Andi,
ich nehme nur die ganze Brise an. Was passieren wird, ist, dass, wenn jemand erfolgreich registriert wurde, es einfach eingeloggt bekommen, dann zurück zu ihren Wasserwiederholungen gab es auf. Ich sehe, dass wissen, dass die Registrierung, ähm, Block off Court sieht, was einfacher jemand Zehe Test das Salz und ich ging wieder registrieren. Ordnung, InOrdnung,
also bin ich dabei, all diese Form zu fühlen und tatsächlich versucht, dieselbe
E-Mail-Adresse zu verwenden , und es sagt mir, dass es bereits genommen wurde. Also noch einmal, diese Validierung ist da für, wie, den Benutzernamen und,
na ja, na ja, das ist auf der Verwendung von ihm. Nicht unbedingt auf der E-Mail, aber ich lasse das für später, so werde ich einen Test bei Test dot com sehen, und wir verwenden die CMP am Zeichen S W O R d eine der at sign assistieren der bereits, und dann klicken wir auf registrieren und dann wir beobachten, dass wir gehen straits toe erlaubt die in Zuständen a leitet auf die Homepage auf Wir sind nicht mehr so. Es gab keine Notwendigkeit für eine Registrierung auf Bestätigung. Wir registrieren uns einfach und dann sind wir eingeloggt. Das ist alles, was wir tun können, um unsere Customizing- oder Registrierungserfahrung zu vereinfachen. Jeder wird eine andere Erfahrung für seine Benutzer wünschen.
25. Review: Hey, Leute, in diesem Video werden
wir nur durch die Login-Funktion suchen. Wir werden keine Modifikationen oder Arbeiten zu viel machen. Ich möchte nur, dass wir eine Wertschätzung haben, was ein Login-Prozess wirklich ist. Nein, ich bin sicher, Way benutzen alle Systeme. Ich meine, Sie haben sich wahrscheinlich in irgendeiner Form von System einloggen, um dieses Video auf DSO zu konsumieren Sie sind vertraut mit der Tatsache, dass, um sich in ein System einzuloggen, müssen Sie einige Namen angeben, einige einzigartige, identifizieren Luft für Sie auf, dann geben Sie ein Passwort, das, na ja, wenn einer in Karten ist, werden
sie Ihre Versuche, Zugriff auf das System zu erhalten, ablehnen. Nun, in einfacheren Worten oder in Begriffen, über in einfacheren Worten oder in Begriffen,
über
den gesamten Fluss zwischen der Form und der Datenbank und die Logik dazwischen Was wirklich
passiert ist, ist, dass Sie einen Namen eingeben, den Sie in eine den gesamten Fluss zwischen der Form und der Datenbank und die Logik dazwischen Was wirklich Passwort, klicken
Sie auf, geben Sie etwas sammelt Ihre Informationen und überprüft dann. Wenn dieser Name auf diesem Passwort in den Datenbienen vorhanden ist. Und das ist es, was wir genau sehen wollen, ähm, unsere Anwendung, unser ganzer dunkler Netzkern hilft uns tatsächlich, diese Art von Funktionalität zu erreichen. Also liebe ich hier schon als Test, dass Test gemeinsam mit dem Click Lago. Und dann sind wir wieder auf Platz eins, wo wir Logging und registrieren. So haben wir bereits ein paar Benutzer im System. Ich werde nur auf Anmelden klicken und dann auf unserem Anmeldebildschirm. Sie fragen uns nach unserer E-Mail und Pastor, und wieder haben wir Zugang zum Login in Ruhe, damit wir das anpassen können. Wir können das entfernen, wenn wir wollen. Wir können die Etikettierung ändern. Wir können unsere Textfelder größere Schaltflächen,
größer machen . Was auch immer wir tun wollen. Wir können das tun, aber nein, ich störe die Ästhetik nicht zu sehr. Ich konzentriere mich nur auf die Funktionalität. Also, wenn wir eine E-Mail zur Verfügung stellen und ich ging, um einen Test Punkt com zu sehen, dann ging ich eine Passerin Herzogin p bei signierten S S W O R d ein auf zu verhindern. Dann klicke ich auf Einloggen, was passieren wird, und ich rufe das Gericht an. Ich bin nicht im Debug-Modus, aber verstehe, um das Gericht aufzurufen und wir schauen uns unsere Funktion zusammen an. Also finde ich Bloggen und schaue auf das Gericht hinter oder die Rays sind das Gericht, die Gerichtsakte für die Rays of PGE. Also werde ich nur diese Gerichtsakte öffnen und dann schauen wir uns einfach durch, was
zusammen passiert . Wir sehen also, dass wir ein Modell haben. Es erbt von dem Seitenmodell, wo die Kriegsinitialisierung ist, und dann das Einspritzzeug, das da oben passiert, haben wir oder Eingabemodell. Also versuchen sie, den gleichen Namen zu behalten, wie sie gehen. Es gibt nichts Besonderes am Namenseingabemodell. Es versucht, den gleichen Namen zu behalten, damit es nicht,weißt
du,
zu verwirrend aussieht weißt
du, . Aber es könnte dieses eine Protokollierungsmodell und ein anderes beim PGA Call nennen. Es hat ein Modell veröffentlicht, etcetera, etc., aber gut gewährt, Sie können das nicht tun, weil sie das bereits haben. Also zeige ich nur,
oder dass die Verwendung von Eingabemodell sowohl in der Anmelde- als auch auf der Registrierungsseite. Es ist kein Schlüsselwort, Percy. Es ist nur so, dass sie die Klasse nennen. Also haben wir unsere Modelle und unsere Eigenschaften, die an das Formular gebunden werden und dann innerhalb des Eingabemodells sehen wir hier, dass wir ah,
Feld für E-Mail haben , was erforderlich ist, und es ist aus Typ E-Mail-Adresse, Das bedeutet, dass es ein E-Mail-Adressformat sein muss. Wir haben auch unser erforderliches Passwort, und dann haben wir etwas, das ein Anlaß für Remember me oder nicht auf bekommen es macht die Seite ziemlich viel. Das ist es, was es tut. Das tut es, sagt Rückkehr. Sie sind, wenn es keine RMT-Anzeigemeldungen sind, wenn Sie eingerichtet werden müssen. Die Rückkehr Euro Sino tiff, Wenn überhaupt, so dass Sie einen sauberen Protokollierungsprozess haben können, versucht
es, alle Cookies zu löschen, die dort sein könnten und dann auf der Post. Dort wird die Arbeit wirklich erledigt. Also, sobald ich klicke, senden oder ich könnte in das Formular verstopfen. Es löst die Post-Aktion aus, die dann die Rückgabe festlegt. Sie Earl validiert den Zustand der Daten. Das ist die Gültigkeit von den Daten, die gesendet werden, und dann geht es weiter, um
Ergebnisse zu sehen , ist gleich dem signierenden Manager angedocktes Kennwort, das eine Senke signiert, so dass die postulierte Signatur übergeben
wird und Sie können einfach mit dem Mauszeiger über die Funktion bewegen und dann erhalten Sie eine Hinweis darauf, was es erfordert. So benötigt er wirklich ruhig den Benutzernamen auf dem Passwort, um sich anzumelden. Es sieht also „Gib mir“. Ich benutze den Namen, gib mir ein Passwort, gib mir einen Tyrann und gib mir einen Barren. Das ist, was es darum bittet, also geben wir in der E-Mail weiter, weil wir
die E-Mail als Benutzernamen verwenden , zumindest standardmäßig. Das ist es, was es ist. Also, es sei denn, wir ändern seine unter Registrierungsformular und ändern die Logik und wir müssen dies nicht ändern, aber E-Mail-Eingabe, nicht E-Mail bei Eingabe des Passworts auf dann fragen sie, Möchten Sie mich erinnern? Also, das ist, was sie bedeuten weiterhin, dass ich die Informationen dieser Person auch nach dem
Schließen des Browsers beibehalten . Sollten sie zurückkommen und trotzdem eingeloggt sein. Also, wenn du nicht denkst, erinnere dich gut an mich, was auch immer du entscheidest, das wird eingestellt. Dann sagt es irgendwie aus, dass die Sperre bei einem Fehler wahr ist. Das bedeutet also, wenn jemand kommt und übertragen, sich einloggen oder jemals fehlgeschlagen Logging versuchen und es richtig sperren. Also dann nimmt diese Funktion wirklich Ihre Informationen Hashes dispostued, weil denken Sie daran, unser Pastor speichert nicht die Art und Weise, wie wir es buchstabieren, oder wir würden es auf einem Stück Papier identifizieren , das nicht so sicher Datenbank ist. Diese Funktion ist also verantwortlich für die Umwandlung der Daten im Schlepptau. Was für eine Reform ist notwendig, Überprüfen Sie es gegen die Datensätze in der Datenbank auf, dann sehen Sie ja oder nein auf. Dann wird das gespeichert. So werden die Ergebnisse gespeichert und es hat ein Flag. War es erfolgreich oder nicht? Also, wenn es erfolgreich war, bedeutet
das, dass die Person geliebt wurde, da drauf zu sein. Keine umgeleitete Zehe der Homepage. Alles klar, dann. Wenn die, wenn Sie wissen, basierend auf den allen kommen aus den Ergebnissen, dann können verschiedene Aktionen ergriffen werden, und das ist ziemlich viel es Zehe Anmelden. Dann,
später, später haben
sie tatsächlich diese Funktion bei Beiträgen und Verifizierung. E-Mail, was bedeutet, Ähm, das ist ähnlich ist, wird immer auf der Registrierungsseite gesehen, wo es eine Überprüfung sendet, um Ihre Kegel zu bestätigen. Wenn Sie versuchen, sich einzuloggen, bevor Sie ihre Kegel bestätigt haben, dann können sie dies auslösen. Also alle von denen sind da für den Einsatz von natürlich wir nehmen können oder was wir nicht wollen auf anpassen was wir wollen, wissen
Sie, in einem Partikel weg Aber die Stiftung ist bereits gesagt, Es ist verstehen bestätigt, dass das Login funktioniert, indem Sie einfach auf Anmelden klicken. Dann ist die Erfahrung, dass wir umgeleitet werden. Tore Homepage auf. Wir können sehen, dass wir eindeutig eingeloggt sind
,weil sie uns anhand unseres Benutzernamens oder
in diesem Fall
der E-Mail-Adresse identifizieren , in diesem Fall . Unabhängig von dem Wert, der im Abschnitt Benutzername gespeichert ist, das ist, was der Norden hat. Wenn ich klicke, dann gehen wir über die Zehe, verwalten und dann verwalten Aloes ein Setup oder Profil. Also alle diejenigen wieder,
unsere Seiten, die wir zugegriffen haben oh auf wir wissen, dass Profil hat viel mehr, als nur einen Namen und Telefonnummer
verwenden,
nicht Ihre Weiter, um das Namensrecht zu verwenden sind standardmäßig freigegeben. Sie sagen, dass Sie ihn nicht ändern können, aber wir können all die verschiedenen ändern. Wir gehen nur zu einem Profil über mich. Finde es einfach, damit es in der Verwaltung ist. Also müssen wir in verwalten gehen und dann kann ich die Profilansicht finden, was es mir leid tut,
vielleicht bin ich auf der Suche nach dem falschen, also ist es Schrägstrich Geld Schrägstrich Index sind so ist es wirklich ein Kegel Schrägstrich verwalten auf erinnern, dass die erste Rede, die Sie Herr wäre in der Regel Index. Also muss ich nur die Indexdatei finden. Da gehen wir. Und das ist unser Profil. Wir sehen oder benutzen ihn auf die volle Nummer auf, wenn wir ins Gericht gehen hinter. Wenn wir dann das vollständige Profil vom Benutzer wollten, dann hätten wir mehr Eigenschaften innerhalb des Modells, das zur
Ansicht entbeint wird , und dann eine niedrigere, tatsächlich, weißt
du, ungerade sind von der Person Profil Pfirsich auf das, was sie können und nicht ändern können, subtrahieren. Alles klar, und sehen Sie hier, wo sie in die Fahne stecken. Deaktivieren. Das ist also buchstäblich alles, was diese Eingabe für die Verwendung von ihm deaktiviert. Sie sagten gerade „ Behindert“. Ich kann das entfernen. Dann lade ich den Benutzer, um sein Profil ändern zu können, sind Changer Benutzername. Wenn sie brauchen Zehe auf, dann auf Post,
was bedeutet, dass diese Person eine Änderung eingereicht hat. Dann können wir vor Gericht stellen, um sicherzustellen, dass wir alle Änderungen berücksichtigen, die sie möglicherweise an ihrem Profil vorgenommen haben. Nun, als letzte Akt, werde
ich Sie einfach durch das führen, was passiert oder wie das Gericht für den Header aussieht . Sechs auf. Okay, also diese Verwendung schien anders Leo Seite als die, die ich habe. Ich gehe einfach zurück und gehe wieder zurück. Onda, ich werde dich einfach durch den Kern führen, der regelt, was in diesem Abschnitt passiert. wenn wir in dem geliebt werden, was wir sehen, und wenn wir geliebt werden,
alles, was wir sehen, auf, dass innerhalb der gemeinsamen Ansichten verfügbar ist, verstehen den Zusammenbruch, sind Bereiche insgesamt und gehen Sie nach unten zu Ansichten als geteilt auf. Dann können wir in über Logging teilweise schauen, so sind lang, unparteiisch. Grundsätzlich erbt
es die CME-Signatur und verwenden Sie einen Manager, den wir auf gesehen haben. Dann sagen sie einfach, wenn Schleifen Manager, das ist angemeldet. Dies ist also wie eine Überprüfung, um zu sehen, ist ihre aktuelle ist, dass sie sich gerade auf einer aktiven Benutzersitzung befinden . Wenn es eine aktive Benutzersitzung gibt, die bedeutet, dass sich jemand angemeldet hat, dann möchte ich in genügend Leiste Ah anzeigen, mit der Verwaltung auf dem Text
verknüpfen. Hallo an Benutzer Punkt Identity diesen Namen. Also was auch immer der Benutzername ist Was der Grund, warum die Benutzernamensspalte von diesem Benutzer geliebt wird, das ist, was als Ergebnis aus dem gedruckt wird, so kann ich alles ändern wenn ich nicht hallo sagen will. Ich wollte nur den Benutzernamen sagen. Das ist in Ordnung. Ähm, und auch gibt es die Gesetz-Ziegen-Taste, dass, wenn wir auf Sperre klicken, gehen Sie zu gerade geposteten Logo Pass, die Termini seine Entscheidung über, wenn es keine gibt. Das ist also, wenn es eine Menge von der in Sitzung gibt, dann die anderen. Sie sagen, dass Geben Sie mir den Register-Link und geben Sie mir den Logging-Link auf. Das ist im Grunde alles, was es gibt, um sich einzuloggen. So können
Sie noch einmal Ihre Erfahrung anpassen, wenn Sie Hilfe benötigen. Sie wissen, dass Sie eine bestimmte Idee im Sinn haben und Sie sich nicht sicher sind. Genau. Halten Sie ausgeführt. Fühlen Sie sich frei, mir eine Linie fallen lassen und gerne helfen
26. Standardfunktionen und Admin-Benutzer hinzufügen: Hey, Leute, in diesem Video werden
wir ein paar Standardeinstellungen einrichten, einige Standardregeln. Onda Standard, Admin-Benutzer. Der Sinn, diese Standardwerte zu haben, wäre, dass, wenn wir unsere Anwendung dort bestimmte Regeln haben, die dort sein werden, wir sicherstellen wollen, dass mindestens ein Benutzer erstellt wird , denn wenn wir die Entwicklung hier beenden und dann verschieben wir es
in eine neue Umgebung mit unserer ersten Datenbank. Der Punkt ist, dass, wenn die Anwendung in Verwendung gestartet wird, um bestimmte Dinge in der
oberen in der Datenbank zu erstellen , so dass gut, können
wir einige Authentifizierung und jemand mit einer Funktionsfunktionalität haben, so dass zwei von diesen Regeln werden Administrator und beschäftigen Jahr alt auf. Außerdem wollen
wir sicherstellen, dass wir mindestens einen administrativen Benutzer gewonnen haben, denn , wenn
sich alle registrieren sollten
sie sich unter einer Mitarbeiterregel registrieren. Nein, nur eine kurze Erinnerung. Unsere Rolle definiert grundsätzlich, wer Sie im System sind. Was ist es, was Sie tun können, dass ein Administrator, als diese Rolle impliziert, oder dieser Rollenname impliziert, dass diese Person in der Lage sein sollte, alles zu tun, wissen
Sie, administrative Dinge im System, Onda-Benutzer. Nun, wir wissen, was ein Benutzer ist. Ich verwendet eine persönliche Lautstärke in, Also die Regel identifiziert, was dieser Benutzer im System tun kann und nicht. So wollen
wir wieder auf Mitarbeiter und eine Administratorrolle auch auf mindestens einem administrativen
Benutzer haben . Also, um loszulegen, werden
wir in Visual Studio auf springen. Dann gehen wir in unsere Start-up-Klasse. Also gehen wir für den Start dieser Serie und dann müssen wir hier einige Änderungen vornehmen. Also, was wir tun werden, er hat eingerichtet, was wir eine Seed-Klasse Seeding nennen, ist etwas, dass es ein Begriff ist, der
verwendet wird, um zu beschreiben, was Sie mit einer Datenbank tun, wenn Sie Standardwerte einrichten. Indem wir also Standarddaten in die Datenbank einfügen, rufen
wir das Seeding der Datenbank auf oder setzen Dinge ein, ohne tatsächlich
die Bewegungen aus dem System zu durchlaufen . Also zwingen wir Daten in das System, und das werden wir jetzt einrichten. Die erste Änderung, die wir tun möchten, ist in Stunden konfigurieren Dienste Funktion. Wir wollen die Linie finden. Das ist ein Service. Ist das unsere Standard-Identität auf Dad in andere Arbeit? Also müssen wir eine zusätzliche Lügen hinzufügen. Ich setze nur etwas Platz auf. Dann nach dem Teil, in dem es Standardidentität hinzufügt und Identitätsbenutzer sagt, gehen
wir zur nächsten Zeile und dann sage ich Punkt, was ich hinzufügen möchte, sind Regeln. Also werde ich eine Repräsentation hinzufügen. Vier Regeln. Also sage ich Regeln hinzufügen. Aan den. Die Standardklasse für wurde aus der Identität kommen, sind Identitätsregeln. Sorry es Identitätsregeln und dann öffne und schließe ich Klammern auf. Dann muss ich vielleicht etwas hinzufügen, um die rote Linie loszuwerden. Eigentlich, was ich hier habe, ist ein Rechtschreibfehler. Es ist also eine Entitätsregel, keine Identitätsregeln. Tut mir Leid. Also haben wir bei Entität Benutzer und wir haben Identitätsregel. In Ordnung, also fügen wir das einfach zu den Diensten hinzu, wenn wir den Motor initiieren oder vorgeben. Wir sorgen nur dafür, dass auch Regeln eingeleitet werden. Also, nachdem
wir das getan haben, gehen wir zu unserer Konfigurationsfunktion über zu verstehen, um diese Zeilen zu atmen, weil ich diesem Parlament weitere Zeilen hinzufügen werde. Eine Liste über das, was ich hinzufüge. Die 1. 1 Ich gehe einfach nach Ende. Wenn ich Komma anlege, werde ich den Benutzer-Manager hinzufügen und dann werde ich meine unter Klammern öffnen. Und dabei übergebe ich die Identitätsklassen für Benutzer, auf denen
ich standardmäßig Identity User verwende. Also werde ich den Identitätsbenutzer hier wiederverwenden, also was auch immer der Standard ist. Wenn Sie also fortgeschrittener sind, als Sie wahrscheinlich Änderungen am Mitarbeiter oder an der
Datenklasse haben würden , die Sie verwenden, um fertig zu werden, dann ist das in Ordnung. Aber was auch immer die Klasse ist, in der Sie vorbeigehen, lassen Sie uns einfach die Klasse wiederverwenden, für die ich Identity User verwende. Ich werde diesen Benutzer-Manager anrufen und dann habe ich aufgebraucht Come off on, dann wird die nächste Zeile rollen. Meine Natur war unter Klammer und dann bin ich tastisch, indem ich Identitätsregeln eingebe und das einfach kopieren und einfügen. Dann wird dies Regel-Manager sein. Alles klar, dann haben wir diese beiden neuen Parameter im Inneren oder Konfigurationsfunktion. Nein, Was wir tun müssen, nachdem dies abgeschlossen ist, ist eingerichtet. Ah, ich werde eine statische Klasse einrichten,
unsere Klasse, die inside off aufgerufen wird oder Funktion konfigurieren, damit wir
die Funktionalität hier einstellen können . Aber es ist eine gute Praxis, dieses Gericht so sauber wie möglich zu halten. Also verschwindet jeder kräftige Lift oder jede zusätzliche Schnüre, die nicht unbedingt nur die
Initialisierung ist . Sie sollten wahrscheinlich woanders setzen und es dann einfach in dieser Funktion oder in
dieser Quelle aufrufen , beginnen Sie über CS-Datei. Also verstehe ich, um weiterzugehen und zu meinem Projekt im Projektmappen-Explorer zu gehen, oder? Klicken Sie auf mein Projekt, und ich werde eine Klasse hinzufügen. Ich werde es Seed Data nennen. Also erstellen Sie diese Klassen-Seed-Daten, in
Ordnung, also nicht bewusst unserer Klasse, das erste, was ich mit dieser Klasse tun werde, ist es statisch zu machen. Also in C scharf, wenn wir uns eine Klasse statisch in bedeutet, dass wir die Elemente in der Burg nennen können. Die Eigenschaften sind die Funktionen, ohne ein Objekt aus dieser Klasse initialisieren zu müssen. Also werde ich das in ein paar zeigen. Was genau? Ich meine, aber lass es uns einfach statisch machen, dann werde ich,
ah,
öffentliche Statik haben ah, . Sobald die Klassen statisch sind, muss alles andere darin statisch sein. Wenn Sie also eine Formation haben, muss
sie begonnen werden. Wir haben eine Grundsteuer, seien Sie statisch, aber ich rufe diese Funktion auf. Dann, innerhalb der Parameter dafür nehme ich Keks. Die gleichen zwei erlaubten, dass ich gerade in Startups eingerichtet habe. Verstehen Sie, Koba, und kopieren Sie sie. Also haben Sie den Benutzer-Manager auf dem Roll-Manager. Ich kopiere sie einfach als die Parameter innerhalb der Seed-Funktion auf. Dann bin ich Fuß offen gegangen und schließen verschiedene und dann weg von natürlich, ich muss gehen und alle fehlenden Namensräume enthalten. Also bin ich nur, um Punkt zu kontrollieren, über alle fehlenden Namensräume zu bringen. Da gehen wir. Alles klar, dann ist das, was eine Funktion. Aber dann habe ich zwei andere Funktionen, die jemand einen hat. Das ist ein Seed-Benutzer und einer, der Seed-Regeln sagt. Also bin ich wirklich nur in Kopie dieser Zeile, weil ich nicht werde, um es von Grund auf neu erzählt tippen. Aber ich werde erklären, was genau die Veränderungen sind. Also dieser ist nicht zurückgerufen Seed-Benutzer auf diesem wird nur den Parameter für
die Benutzer-Manager sehen . Ich entferne nur diesen Rollenmonitor aus dem ursprünglichen und wir öffnen und schließen. Klammer auf. Dann kann ich diesen Schritt unten wiederholen. Aber dieser hier nennt man Samenrollen auf. Dann hat dieser nicht den Benutzer-Manager. Aber dieser hat den Rollenmanager. Am Ende dieser Übung sollten
Sie also einen Formularsong namens Seed haben
, der
mit Benutzer-Manager und Regel-Manager-Perimeter einen Seed-Benutzer genannt hat . Das nimmt nur die Benutzer-Manager-Genehmigung er auf einer namens Seed Rose. Das dauert nur den Rolles-Parameter. Alles klar, nein, fangen
wir mit der Festlegung unserer Regeln an. Also mache ich es so, weil wir wollen, dass die Regeln vor dem Benutzer existieren. Also am Tag, das ist der logische Fluss. Also mache ich es nur als logischen Fluss. Dies ist nicht wirklich erforderlich, um in diese Richtung zu gehen. Ich mache es nur ein logischer Fluss. Also lasst uns aufstellen oder aufsteigen. So haben wir bereits identifiziert, dass wir Admin-Benutzer und Admin-Benutzer werden diejenigen, die
entfernen Urlaub Typen hinzufügen , die Zuteilungen verlassen, Um, genehmigen oder ablehnen Urlaub Anfragen und so auf Dann werden unsere Mitarbeiter diejenigen, die nur loggen Sie sich ein und bewerben Sie sich für Urlaub und schauen Sie sich vielleicht ihr Profil an und seien Sie nicht ihre eigenen Profile, so etwas. Also müssen wir noch einmal Regeln, Administrator auf Mitarbeiter. Also das erste, was ich möchte, sehen Sie, ob auf ich überprüfen möchte, ob die Regel existiert, denn wenn die Regel existiert, muss ich sie nicht erstellen. Und nach dem ersten Mal wird
die Rolle existieren. Aber es ist nicht so, als würde ich das zu mir gehen. Möge diese Klasse oder schreiben Sie diese Punktzahl, setzen Sie sie in den Start, machen Sie es, erstellen Sie die Regeln und nehmen Sie sie dann aus dem Start. Ich werde es beim Start lassen. Und das bedeutet, wenn ich es 20 Mal
ausführe, möchte ich nicht, dass diese Regel 20 Mal erstellt wird. Also, was ich sagen werde, ist, wenn die Regel nicht existiert, dann erstellt alles in Ordnung, also jedes Mal, wenn
es läuft, wird es nur sagen, Oh, Rolex
nicht okay? Das ist mir egal. Wenn es dann nicht bedeutet, ist es
vielleicht eine neue Datenbank. Ah, frisches System da drauf. Es gibt anfangs nichts in der Datenbank. Dann wird es weitergehen und es schaffen. Das ist also eine schlechte Aussaat. Und wenn Sie richtig im Kern sind, können
Sie, wissen Sie, weitermachen, viele Redundanzen und Fehltritte
umgehen. Also, wo Winter an dieser richtig und sehen, wenn nicht Roll Manager. Ein Notizregel-Manager ist hier das Objekt, das im
angedockten Parameterregel-Manager übergeben wurde. Sie wollten eine Funktion vom Regelmanager verwenden. So sehen wir, dass wir eine Reihe von Funktionen haben. Was? Der, an dem ich für diese Operation interessiert bin, ist Rolle existiert. Alles klar, es ist
also zu sehen, wenn nicht rollen existiert, dass eine Spüle und dann werde ich meine Klammern auf den
Parameter öffnen, den ich übergebe. Weißt du, der Wert beim Übergeben in diese Funktion ist ah, String mit Well, der Name aus, der aus den Regeln. Ich überprüfe, ob der Roll-Ad-Administrator auf existiert, dann werden wir den Tyrann in der tatsächlichen Aufzählung bekommen. Und dafür muss ich sagen, nicht Ergebnis. Alles klar, also wird all das einen booleschen Wert zurückgeben und sagen: Gibt es es es? Ja oder nein? Aber dann zwinge ich es nicht. Ich überprüfe nur, wenn nicht so. Wenn es nicht existiert, besteht die Aktion, die ich ergreifen möchte, darin, eine neue Regel zu erstellen. Jemand, der Ire retten kann. Rolle ist gleich neu auf der DSI-Identitätsregel. Also der Zyklus, wenn wir erstellen, verwende
ich einen Web-Identitätsbenutzer. Wenn wir eine Rolle erstellen, haben
wir Identitätsrolle, und dann werde ich dieses neue Objekt initialisieren, indem ich einen Namen auf dem Namen übergeben wird gleich der Rolle sein, die ich an der Erstellung interessiert bin, wirdgleich der Rolle sein, die ich an der Erstellung interessiert bin,
die -Administratoren. Name ist gleich Administrator und verwenden Sie dann ein Semikolon. Also überprüfe ich. Wenn es nicht existiert, Dann möchte ich ein neues Rollenobjekt namens Administrator erstellen, der das zynische entfernt hat. Und so erstelle ich eine neue Rolle namens Administrator. Das ist nur das Objekt. Jetzt muss ich tatsächlich handeln, um die Schöpfung. Also die Aktion, die Schöpfung, die ich sehen werde, Roll Manager Punkte erstellen, denken Sie? Und dann bin ich in der Rolle auf, dass es tut. Also im Grunde heißt es, wenn der Rollenadministrator nicht existiert, dann erstellen Sie ihre alten auf, dann werde ich dasselbe tun, also werde ich nur diesen Block kopieren. Ich werde das gleiche tun für die Angestellten stieg. Also schon den Scheck. Wenn Sie das nehmen, ändere
ich nur diese Zeit von Administrator zu Mitarbeitern auf. Ich werde sicherstellen, dass ich eine Rolle namens Mitarbeiter auf erstelle. Wir kümmern uns einfach so darum. Also nein, wenn es ausgeführt wird, wenn dieser Block off court oder Dysfunktion beim Start aufgerufen wird, wird
es sehen, ob kein Roll-Call-Administrator erstellt wurde. Wenn es bekannt ist, genannt Mitarbeiter erstellt auf für so viele Regeln, wie wir benötigen, können
wir ähnliche Blöcke vor Gericht tun. Nein, ich muss den Admin-Benutzer sehen. Also werde ich wieder einen ähnlichen Block vor Gericht schreiben. Ich werde sehen, ob Benutzer-Manager Ich erinnere mich mit Managern das Objekt, das wir im
Vorbeigehen und Abteilung er etwas verwendet haben , wenn Benutzer-Manager auf diese Zeit angedockt Ich verwende eine andere Funktion, so dass ich nicht sehen will, ist vorhanden. Aber ich werde versuchen, es zu finden. Nun, ich wollte versuchen, mit Namen zu finden. Alles klar, also finde meinen Namen auf Sie benutzen den Namen, den ich meinem Standard gebe. Admin ist buchstäblich nur bei mir. Also jeder Admin-Benutzer, die Standard-Admin-Benutzer wollen nur, weil Acme auf, Dann werde ich zu sagen, dass Ergebnis. Aber dann sind die Ergebnisse dieses Mal nicht geben mir einen Tyrann. Und es gibt tatsächlich den Benutzer zurück. Also, um zu überprüfen, ob ich den Benutzer nicht bekommen. Ich werde nur sagen, ob das Ergebnis nein ist. So gab der 1. 1 ein Anlagebarren zurück. Dieses Mal bin ich auf Objekte unter sehen Habe ich ein vollständiges Objekt oder das Bein bekommen? Ewiges Objekt. Wenn ich also ein Null-Objekt habe, bedeutet das, dass der Name diesen oder kein Benutzer mit diesem Namen nicht annimmt. Also werde ich Zehe retten, dass unser Benutzer Gleichheit neu ist, auf die wir erstellen. Ich benutze diesen amüsanten Identitätsbenutzer dann T-Benutzer Andi, öffne meine geschweiften Klammern auf Dann initialisiere ich den Benutzernamen. Nun, ich habe immer noch Identität falsch ausgegeben. In Ordnung, lass
mich das noch mal versuchen. Also, wenn ich den Raum jetzt kontrolliere, bekomme ich meine Intelligenz. Ich kann sehen, dass der Benutzername gleich ist auf Ich sitze den Benutzernamen toe Zulassung auf. Dann werde ich auch die E-Mail setzen So e-Mail ist gleich ID Mean auf lokalen Host, einige willkürlich. Ich hatte gemeine E-Mail. Ich meine, es ist nicht, du weißt schon, es ist ein generischer Benutzer. Das ist also mein Objekt. Und dann kann ich schließen oder sorry, verwenden Sie die zynische und und beenden Sie. Dann muss ich sie wirklich erschaffen. Also werde ich unsere Ergebnisse speichern. Ist gleich Zehe Benutzer-Manager-Punkte, die Sie denken? Andi, wenn Sie sich an etwas erinnern oder Registrierungsprozess erinnern, wenn wir eine Senke erstellen, müssen
wir einen Benutzer und ein Passwort übergeben. Also werde ich das Benutzerobjekt übergeben, das wir gerade erstellt haben, das Identitätsbenutzer ist. Sie können Reifen beleuchtet sehen und dann sagen Sie Komma an. Dann erwarten wir eine Schnur. Das wird die Passanten sein, die ich wirklich bin, wirklich nur gehen, um die Pasta zu halten ist einfach auf rechts, das Wort Passwort mit einem gemeinsamen p so Mittelwert auf Passwort hinzufügen auf, dann bin ich will die Ergebnisse. Ich werde sagen, Punktergebnisse. Also, dann sehen wir, speichern Sie die Ergebnisse von dieser Operation bitte. In dieser Variablen, nachdem wir es aus der Operation bekommen haben. Nein, wir müssen nachsehen. War es erfolgreich? Sind nicht so werde ich sehen, ob Ergebnis Das ist gelungen. Dann wollen wir Toe diesen Benutzer zu den Regeln hinzugefügt. Also lassen Sie mich langsamer und ein bisschen zusammenfassen. Sie verstehen also genau, was passiert, wenn Sie überprüfen, ob es einen Benutzer vom
Benutzernamen admin gibt. Wenn etwas zurückkommt, dann ist das falsch, weil wir überprüfen, ob es nein ist. Also, wenn etwas kommt, aber dann ist es nicht wissen. Also, offensichtlich passiert hier nichts. Wenn nichts zurückkommt und wir keine bekommen, dann wollen wir initialisieren ein Objekt vom Typ Identitätsbenutzer namens Benutzer auf erstellen. Wir übergeben die Verwendung ihn Admin in einer E-Mail-Adresse für diesen Benutzer und sie
wollten versuchen, diesen Benutzer zu erstellen. Nun, wenn dieser Benutzer erfolgreich mit dem Benutzernamen aus erstellt wurde, fügen Sie mich in diesem Fall und einen Passer off Bastard auf Kurs. Das ist nur ich schreibe und versuche es einfach zu halten. Sie setzen wahrscheinlich andere Werte ein, aber der Punkt ist, dass
wir überprüfen, ob dies erfolgreich war. Also, wenn dies erfolgreich war und wir finden, dass stützen. Wenn das Ergebnis gelungen ist, dann müssen wir diesem Benutzer die Rolle zuweisen, weil wir gerade den Benutzer erstellt haben. Und wir haben gesehen, dass wir Benutzer erstellen können. Aber es gab keinen Zusammenhang mit einer Regel, zumindest nicht vorher. Nein. Also, nein, ich erstelle diesen Benutzer auf. Ich werde sicherstellen, dass bei der Erstellung dieses Benutzers er einen Scient oder jemand zu
sagen bekommt , Benutzer-Manager Punkt seltsam zu regieren, um auf. Dann füge ich diesen Benutzer hinzu, sodass er das Benutzerobjekt für die Rolle übergibt, die ich Probleme hinzufüge. Itto ist Administrator geht mit dem Administrator, rollt natürlich. Sie möchten sicherstellen, dass Sie dieses Wort richtig schreiben, weil es nach diesem Namen sucht. Es wird nicht versuchen, eine Regel zu erstellen, die zu allem passt, was du da reinlegst. Also, wenn es keine Welt durch den Namen Administrator,
wahrscheinlich, um einen Pfeil zu bekommen, Aber wir wissen, dass die Art und Weise, wo Winter am Gericht ist, dass Administrator am meisten existiert, bevor der Benutzer erstellt wird, richtig? Danach sehen
wir nur Punktgewichte, die im Grunde nur zur Anwendung kommen. Stellen Sie sicher, dass dies beendet wird, bevor viel anderes passieren kann. In Ordnung, Aan den, wissen Sie, dass wir zwei Funktionen konfiguriert haben. Wir müssen sie in vier Hauptfunktion setzen, die heißt, die dann diese beiden nennen wird. Also noch einmal, die Rollen am meisten vorhanden, bevor der Benutzer erstellt wird. Also sehe ich zuerst Saatregeln. Aan den. Nun, es erwartet einen Parameter vom Typ Rollenmanager für den Variablenwert, meist Straßenmanager
, den wir in diesem
Parameter vorher definiert hätten es erwartet einen Parameter vom Typ Rollenmanager für den Variablenwert,
meist Straßenmanager
,den wir in diesem
Parameter vorher definiert hätten. Nein. Also werde ich nur den Wert Seed Rollen übergeben und in Roll Manager übergeben hat Objekt. Und dann auf dem Meer Rose, werde
ich sagen, Samenbenutzer auf. Dann übergebe ich den Wert, den ihr Manager verwendet hat. Nein. Mit all dem erledigt, haben
wir einen weiteren Schritt
, der für mich der Startuppunkt CS Rufen Sie diese Funktion auf. Nun, offensichtlich beim Start. Also müssen wir das Gericht hinzufügen, das dazu führt, dass diese Funktion die gesetzten Funktionen in unserer
Startdatei sind und das innerhalb der Conficker-Funktion auf gemacht wird. Wir tun es, nachdem wir eingerichtet haben, oder Authentifizierungs- und Autorisierungsdienste sind eingerichtet. Meine Schläge auf dann, was ich tun werde, ist die statische Klasse zu nennen. Also wieder einmal, eine statische Klasse erlaubt ihm, es einfach zu nennen, damit ich sagen kann, Seed, es ist, äh, äh,
was der Name der statischen Klasse auf ist. Dann sehen Sie es angedockt. Und dann habe ich Zugriff auf alle Funktionen, die ich kann, weil das, was ich wirklich will nur Samen. In der Tat, was ich tun werde, ist mir diese Privaten. Also habe ich gerade die beiden Funktionen gemacht, die ich nicht von irgendwo anderem privat aufrufen muss. Also meine ich Samennutzer und Saatrose privat Andi Well,
Saatgut ist öffentlich. Also, wenn ich Saatgut nennen wird wissen, dass es Zugang zu Saatgut entstanden und Samennutzer hat. Also nannte ich nur Seed aan den als Parameter. Es erwartet User Manager und Rolled Manager, und wir haben Zugang zu denen von unseren Firma Materialisten. In unserer Konfigurationsfunktion überwachen
Soldaten am Werkzeug Objekte, die es erwartet. Sie ist also nur eine große Gänseblümchenkette. Also haben wir sie nur injiziert, bis die Wohnung eine Auflistung hier, so dass wir wissen, dass wir
Zugang haben können , so dass sie auf dann sind wir Daisy, verketten sie an unsere statische Funktion,
die wir einrichten, die dann wiederum wird sie einfach weiterleiten die Funktionen, die sie erfordern. Nun, die Erwartung, wenn ich beim Bondstart meine Anwendung ausführe, ist, dass, wenn ich in die
Datenbank gehe , ich zwei Regeln sehen sollte. Und ich sollte sehen, dass ich Benutzer Admin Onda mindestens einen Eintrag in der Tabelle Benutzerrollen zeigt, dass admin dem particularize Alles in Ordnung zugeordnet ist. Also ging ich in den Debug-Modus und ich habe diesen Fehler bekommen und es sieht etwas darüber, dass ich
eine andere Operation mit derselben Bedrohung starte . Also werde ich aus dem Boot kommen, das festgemacht ist. Ich werde das Gericht davon refraktieren. Ich werde stattdessen die Ergebnisse der Variablen zuweisen. Also werde ich nur unsere Ergebnisse speichern ist gleich auf. Dann werde ich sagen, Ihsan grausam zu erschaffen dann die Ergebnisse zu bekommen. Also genau die gleiche Art und Weise. Eigentlich erkennen, dass es manchmal stabiler ist, wenn Sie nur zum Ergebnis kommen, oder Sie erhalten das Ergebnis, auch wenn Sie es danach nicht verwenden müssen. Also werden wir nur damit zu tun. Wir werden es nochmal versuchen. Andi messen über den Grad des Erfolgs, dass so der Faktor ist, dass Roe Manager nicht eine
Senke in Rolle übergeben, die ein bisschen außerhalb des Gerichts drängte erstellen . Nein, ich sehe Virus alt ist gleich dem gleichen Block off Court Punkt Ergebnisse jemand Toe
wieder ausführen und mal sehen. Ordnung, also dieses Mal oder Anwendung erfolgreich gestartet. Aber lassen Sie uns überprüfen, ob was für Daten erstellt wurde Einige gehen zurück in mein Projekt gehen in meinen Escalon-Objekt-Explorer auf. Dann werde ich expandieren. Nun, es sind Erdnuss-Nutzer. Erstens, Andi,
ich denke schon an die Top Open. Also nur eine schnelle Wieder frisch auf. Wir mussten Benutzer. Jetzt haben wir drei. Andi,
Ich bin hier, um sie zu betrachten und ich sehe, dass dieses Mittel nicht geschaffen wurde, sind Lassen Sie mich etwas wahrscheinlich schief mit dem Gericht gelaufen und wir können zurück. Aber ich werde nicht nur überprüfen, ob die Regeln erstellt wurden, , also schaue ich einfach in die ESPN, es ist Rose Stabler auf. Nun, okay, so zumindest haben wir unsere Administrator- und Mitarbeiterrollenregeln so gut, wenn der Benutzer nicht erstellt wurde und ich bin sicher, dass der Benutzer und die Rule Association nicht erstellt wurden, also werde ich mich nicht darum kümmern, dort reinzugehen, aber kommen aus dem Buch-Modus auf Wir können unsere Seed Beat Ah überprüfen, Konfiguration unsere Jungs. Also habe ich einen Bruchpunkt innerhalb der Seed-Benutzerfunktion auf Ben gesetzt. Ich habe die Anwendung erneut ausgeführt auf habe einen Schritt durchgemacht. Also mit F unternommen,
trete ich durch jede Zeile off-court und ich sehe den Fehler von meinen Wegen. Das Problem ist mit dem Passwort. Also die Ergebnisse. Wenn ich den Mauszeiger über Ergebnisse führe, dann wird es mir sagen, dass das Objekt mir sagt, dass es fehlgeschlagen ist, weil der Pfarrer nicht alphanumerisch
erfordert. Also versuchte ich ein paar Unbehagen weg, um einen einfachen Passanten einzulegen. Aber es erzwingt die Regel, dass es ein komplexes Passwort erfordert. Also werde ich nur ein komplexes Passwort eingeben und dann sollten wir
danach kein Problem haben . Also bin ich gerade gehen Zehe in der vergangenen Saison P auf Zeichen S S W O R D eins auf. Dann werde ich noch einmal auf ausführen. Dann sollten wir unseren Admin-Benutzer Onda die Zuweisung zur Administratorregel sehen. Alles klar, also war es niedrig tot, fehlerfrei und dann schauen wir zurück in unsere Datenbanktabellen, also erwarte ich, den Benutzer zu sehen. So öffnen sich die Streifen der Spitze. Wenn ich also aktualisiere, sollte
ich vier Benutzer haben. Hier gehen wir weiter, wir haben auf Admin-Benutzer, neu erstellt aan den. Wenn ich in den SP-Net-Benutzerregeln schaue,
denken Sie daran, dass dies eine Tabelle ist. Das ist die Rolle, die der Benutzer hat. Es wird eine Referenz des i d für die Rolle und einen Verweis auf das i. D für den Benutzer haben. Alles klar, so sieht die Rolle aus, die ich d habe. Und so sieht der Benutzer i d gegen ihre beiden für komplexe aussehende Strings . Aber das sind die Ideen. Also, im Wesentlichen, wenn ich möchte, dass die vorhandenen Benutzer zu einer bestimmten Rolle gehörten, dann muss ich finden, dass Benutzer i d also müsste ich zurück zu s Erdnuss-Benutzer auf Nehmen wir an, ich wollte die Benutzer t bei s , die ich möchte, dass dieser Benutzer in den Roll-off Mitarbeiter sein, so dass es nach dem Nehmen Sie den Mitarbeiter I
d. Und ich werde es einfach tun und Jahr alt I D fließen und es in die Regel I D Spalte auf. Dann gehen Sie und holen Sie diesen Benutzer an, legen Sie sie da rein und holen Sie ihr i d und legen Sie es da rein. Fordern Sie den Benutzer i d Spalte an und dann kann ich nach unten gehen. Sobald Sie fortgefahren sind, wird es verpflichtet, in die Datenbank zu wechseln, damit Sie Datensätze manuell in die
Datenbank einfügen können . Also werde ich das tun. Ich werde alle anderen zu den Angestellten machen. Daher haben wir bereits Adminis einen Administrator eingerichtet. Ich sagte gerade, diese 1. 1 als ein Mitarbeiter unter wird weiter gehen. Die Änderung ist kein Grund, warum ich das manuell mache. Ist, dass sie existierten, bevor die Rolle existierte. Alles klar, das bloße, wenn ich, dass sie existierten, bevor die Rolle existierte, bedeutet, dass es keine Möglichkeit gibt,
dass ich
wirklich zurückgehen kann und sagen , dass sie die sind, die Rose sind, ich mache es manuell, weil es keinen anderen Weg gibt mich. Toe assoziieren sie, zumindest noch nicht müssen Lota Dashboard sein, die den Benutzer am nächsten mit
der Regel assoziieren , die wir wollen. Also mache ich es manuell, was eindeutig nicht machbar ist, weil wir ein System einrichten, in dem die Leute in der Lage sein sollten zu kommen und sich bei der Registrierung zu registrieren, sollte einzigartig für Mitarbeiter sein. So gibt es etwas Sonne oder eine sichere Annahme. Ich werde aus dem Debug-Modus kommen, und ich habe nur dafür gesorgt, dass jeder, der nicht im System war, nicht auf dem Mitarbeiterrollen
ist . Wir haben die Admin-Regeln. Also wieder einmal, das System das nächste Mal läuft, wird
es nicht erstellen, den Admin-Benutzer
neu erstellen oder die Regeln neu erstellen, weil sie bereits da sind und wir in
unsere Schecks setzen . Nein, ich war in der Gegenwart zu sehen, dass es nicht praktisch ist, sich zu registrieren und dann wieder in den Datenbankeintrag zu
gehen und sie unserer Rolle zuzuweisen. Also werde ich ändern oder Registrierung Cord jemand zurück in Bereiche und zurück in unsere Kontoseiten und finden oder registrieren Kabel, die hinter gehen gefangen, um diesen
Registrierungsprozess zu ändern , wo es den Benutzer erstellt. Also haben wir das gerade gemacht, es baute ein Benutzerobjekt auf. Dann hat es den Benutzer auf erstellt. Dann sagte
er, wenn die Schöpfung erfolgreich war, dann tun Sie etwas Aber das ist genau das, was wir gerade in unseren Daten gemacht haben. Wir haben auf Objekt für unseren Benutzer aufgebaut. Wir haben den Benutzer auf erstellt und
dann weiter gesagt, ob es erfolgreich war, als wir der Regel hinzufügen wollten, damit wir
diesen Block hier vor Gericht nehmenkönnen diesen Block hier vor Gericht nehmen ihn in unsere Registrierungslogik
setzen können. Also werde ich sagen,
wenn die Registrierung, wenn der Erstellungsschritt erfolgreich war, dann möchte ich hinzufügen, um zu Regel auf, dann müssen Sie den Objekttyp ändern, weil wir Abhängigkeit sind, injizieren oder wir haben die Abhängigkeit oder ein Objekt stellt den Benutzermonitor dar, der andere Benutzer dieses Benutzer-Manager-Objekt verwenden soll, hat die gleiche Funktion bei zu rollen. Es wird den gleichen Benutzer nehmen, weil wir konsistent mit unserer Benennung sind, richtig? Sie sind also konsistent in einem mir in der Anwendung. Es kann die gleichen Namen an mehreren Stellen verwenden und das Viertel mit Leichtigkeit weiterbewegen. Einige Winter weisen diesen Benutzer der Regel zu, nicht Administrator, sondern Mitarbeiter. Also, wenn jemand registriert, zugewiesen sie der Regel von Mitarbeitern auf, dann können wir mit dem, was auch immer passiert ist. So können sie wieder unterschrieben werden und sich wieder vorwärts bewegen. Wenn die Leute sich registrieren, gehen
Sie davon aus, dass Sie sich in einer bestimmten Straße befinden und jedes andere System ausdenken, wenn Sie sich für Sie registrieren ,
würde
auch nie den Fehler machen, indem Sie unseren regulären Benutzer auf fügen Sie mittlere Rolle durch Zufall oder so etwas hinzu. Sie wissen, dass Sie, wenn Sie in Mr. Durch dieses Formular waren, ein normaler Benutzer werden. So wissen wir in unserer Anwendung. Wenn Sie sich über unser Formular registrieren, werden
Sie ein Mitarbeiter sein. Wurden auf Admin Seeding auf. Dann können wir einen Mechanismus Zehe einrichten. Fügen Sie mehr Anzeige bedeutet vielleicht, wie wir es für richtig halten, aber nein, wir haben einen Admin-Benutzer, und wir haben das Potenzial, so viele Mitarbeiter im System zu haben, wie wir vielleicht brauchen. Und damit fertig sind, richten
wir im Grunde nicht die vier Zeilen und Standardbenutzer ein. Wir stellen auch vor Gericht, so dass die Nicht-Standard-Benutzer, Sie wissen,, Ad-hoc-Benutzer,
Benutzer, die heiratet, dass jeder Punkt immer eine Standard-Roll off Mitarbeiter bekommen. Also als nächstes, wo werden einige Berechtigungen einrichten, um zu sehen, dass, wenn Sie ein Administrator als Ihr
Menü sind , ich so aussehen. Und wenn Sie ein Angestellter sind, als Ihre vielen vielleicht auch so aussehen, wenn Sie ein Angestellter sind, haben
Sie keinen Zugriff auf die administrativen Dinge. Ein Administrator sollte nicht in der Lage sein, Urlaub zu beantragen, wissen
Sie, solche
Dinge. Also im nächsten Video, werden
wir die Autorisierungen Parool einrichten.
27. Benutzerzugang mit Role steuern: Hey, Jungs in diesem Video werden sich die Konfiguration regelbasierter Zugriff ansehen. Nein, irgendeinem Kontext. Mit unserer Anwendung haben
wir ein paar Möglichkeiten. Wir haben die Möglichkeit, Urlaub zu beantragen, und wir haben auch einige administrative Optionen, wo sie abrechnen,Zeiten
glauben,Zuteilungen
verlassen,Anträge
verlassen und Mitarbeiter verwalten können Zeiten
glauben Zuteilungen
verlassen, . Nein innerhalb einer echten Anwendung. Und Mitarbeiter sollten nie ein Geschäft haben, das diese administrativen Dinge im
System verwaltet und das auf die gleiche Weise. Und Admin würde sich wahrscheinlich nie um Urlaub auf DSO bewerben. Wir wollen basierend auf den Turow's, die wir haben,
die Admin auf Mitarbeiter sind, einschränken , was jeder 11 sieht im Menü und zwei tatsächlich zugreifen können. Also dieses Video ist darauf ausgerichtet, zu schauen, wie wir autorisierten Zugriff auf bestimmte Teile
der Anwendung basierend auf, na ja, ob Sie lieben oder nicht auf. Außerdem, basierend auf Ihrer Regel, ist
das erste, was ich tun möchte, mehr Kontext zu einem markierten Menü einrichten. Also, wenn jemand diesen Bildschirm bekommt,
wenn er nicht eingeloggt ist, sollte
er wahrscheinlich nur zu Hause sehen. Und ja, wir wissen, wo immer die Homepage spielt, das ist in Ordnung. Aber am Ende wollen wir nicht, dass sie bereit sind. Klicken Sie auf Urlaub beantragen Selbst wenn es angezeigt wird, sollten
sie an diesem Tag nicht mit einem Urlaubsantrag fortfahren können. Loggen Sie sich ein. Wir haben die Funktionen noch nicht gesagt, aber wurde immer noch ganz eingerichtet Wir können, oder schauen Sie sich an, wie wir den Zugriff unabhängig einschränken können. Auch
wenn die Person nicht liebt zu sein und noch mehr, wenn sie liebevoll ist, aber sie kein Administrator sind, wollen
wir nicht, dass sie Zugriff oder Sichtbarkeit von den Verwaltungsoptionen in der
Anwendung haben . Also, was wir tun werden, ist beginnen, indem wir einige Autorisierungen einrichten. Oder wird ein Filter Toe wissen, was im Menü angezeigt wird? Und wenn wir zurück in Visual Studio, wenn wir das Menü ändern wollen, dann müssen wir unsere Layoutseite ändern, weil das
ist, wo unser Menü definiert ist oder genug Balken auf? Dann sehen Sie hier, dass wir den Dave Well haben, wir beginnen mit der Schleppnav Bar und wir haben unseren Knopf, und dann haben wir unsere Links. Das ist also die erste 1, die zu Hause ist. Die 2. 1, die für Urlaub auf dann in diesem Abschnitt gelten, wo wir sehen, dass nur ein Administrator dies jemals in seinem Menü sehen sollte. So kontextualisiert dies können wir wahrscheinlich über Le Guin Teilseite darauf verweisen gibt uns eine Vorstellung davon, was möglich ist. Wenn wir also nicht authentifiziert sind, wenn jemand nicht in der Anwendung geliebt wird, wird er nur einen Link sehen, der Register sagt und einen Link, der ein Kegel ist, wenn sie
registriert sind oder Lobbyarbeit. Entschuldigung. Dann sehen sie das Meer im selben Abschnitt. Ein Link, der Hallo sagt. Du benutzt ihn auf einem anderen Link für das Gesetz, Ziege. Tatsache ist, dass dies, wenn Aussage
ist, behandelt, was sie sehen, wenn die Bedingung ist, dass jemand angemeldet ist? Wenn es dann angezeigt wird die Hallo Nachricht und die Logo-Schaltfläche ansonsten Logging und registrieren, so dass wir diese Art von Logik auf Verwendung es übernehmen können, um in unserer Anwendung zu bestimmen was die Person auf der Navigationsleiste sehen wird, wenn sie dorthin gelangen. Also das erste, was wir tun möchten, ist Wiederverwendung dieser If-Anweisungen Ich gehe nur toe, kopieren Sie dies und fügen Sie es so ein, dass es sehen, ob Signing-Manager, der im Benutzer angemeldet ist. Und dann sehen Sie, dass der Signaturmanager eine rote Linie hat, weil wir eine Bibliothek benötigen, damit der Signaturmanager funktioniert. Aber bevor ich das tue, werde
ich sagen, dass sie, wenn die Person eingeloggt ist, dann müssen sie diesen Block sehen, der
die Dropdown-Listenseitlichkeit ist, um die if-Anweisung zu schließen. Also ist diese Aussage offen. Klammer auf. Wir schließen die Klammer. Also, wenn die Person sich angemeldet hat, dann drucken wir das den Bildschirm, Ordnung? Nein, der Signaturmanager hat erneut eine rote Linie. Wenn ich zurückgehe, um unparteiisch zu protokollieren und ein bisschen mehr Aufmerksamkeit zu schenken, als mir klar ist
, dass oben , einschließlich einiger Bibliotheken, die Identity Library verwenden, auch den
Signaturmanager und die Benutzermanager injiziert haben. Ich werde das alles aus dem Login teilweise kopieren, und dann werde ich es in das Layout oben neben der Grube einfügen. Also schließen wir diese Bibliotheken in das Layup ein. Sein Layout hat tatsächlich Zugriff auf die Objekte für Signatur-Manager und Benutzer-Manager. Und dann, wenn ich allein verarsche, sehen
wir, dass die rote Linie weg ist, weil nein, die Bitte, dass es Bibliotheken sind Gefängnisse. Das heißt also noch einmal, dass der Benutzer angemeldet ist und
dann jemand angezeigt wird, der zu meinem Bruder zurückgeht und dieses Gericht testen kann. Die Erwartung ist, dass, wenn ich aktualisiere, diese Verwaltung nicht angezeigt werden sollte, da ich hier nicht
signiert bin . Alles klar, nachdem
wir uns erneuert
haben, erkennen wir, dass es nicht viele Möglichkeiten für Geld gibt, also zu wissen, dass es eine gab. Aber wegen der Einführung aus oder Aussage gibt es keine mehr. Und dann gehe ich voran und melde mich an, dann habe ich verliebt sein. Wir sehen, dass viele Optionen nicht verfügbar sind. Also das ist alles, was Sie können, wissen
Sie,
bestimmen, was erlaubt wird oder sieht auf Ihrem Bildschirm im Vergleich zu Ich bin nicht im Benutzer geliebt. Nein, wir haben gesagt, wir wollten nur, dass Personen, die außerhalb der Administratorrolle sind,
dies sehen können . Moment ist
dieser Benutzer nicht der Mitarbeiterrolle, weil wir diese Regel vorher auf dso eingerichtet haben wenn selbst wenn sich diese Person dort anmeldet, die Option zum Verwalten nicht sehen sollte. Also werde ich den Großteil des Platzes immer noch ein bisschen erreichen. Also überprüfen wir, ob die Person geliebt ist? Dann müssen wir eine weitere Überprüfung durchführen und sehen, ob die Benutzerpunkte in der Regel auf sind. Dann geben wir die Regel an, nach der wir suchen. Das ist also ein Benennungssträger, der wie eine Funktionskonvention ist. Genau, wenn Sie überprüfen möchten, ist in etwas oder Osten etwas, es ist einfach, was die Aktion ist. Wir überprüfen also, ob der Benutzer in der Regel ist und die Regel, die wir für seine Ad
Ministry Tour überprüfen . Wenn der Benutzer ist ein Administrator und dann öffnen wir und diese Klammern und denken Sie daran, dass ging mit den Aussagen, was immer in der Brise ist, was auch immer wird Aktion zu bekommen. Also haben wir gerade diesen Block angeklebt, ihn da reingesteckt. Also, wenn jemand Liebe ist, wenn sie Administrator sind, dann überprüfen wir. Dann drucken wir das aus. Also, wenn sie nicht administrativ sind und klar, das würde gedruckt werden. Also, wenn ich das speichern und auf die Seite zurückgehe und aktualisieren, ist
die Erwartung, dass
diese Option als Mitarbeiter geliebt wurde, im Menü auf Douala verschwinden wird. Also sind wir immer noch als Mitarbeiter eingeloggt. Aber es gibt keine verwaltungstechnische Option, weil wir keine Administratoren sind. Lassen Sie mich das noch mal versuchen. Ich werde Boote lieben, und dann werde ich mich wieder einloggen und diesmal als Administrator. Also werde ich sagen, fügen Sie gemein bei Rauch. Ein ganzes Zeug. Komm schon, das P außerhalb ssw rd ein, dann loggen Sie sich ein. Oh,
mein, aber das ist nicht Dot Com. Das ist Loca-Gastgeber. Ich denke, ich muss das vielleicht ändern. Ich bekomme wahrscheinlich einen Validierungsfehler. Lassen Sie mich das noch mal versuchen. P am Schild S S W O R D eins. In Ordnung. tut mir also leid. Ich habe meinen Admin-Benutzer mit ein bisschen vermischen. Also der Benutzername, den ich in eine E-Mail-Adresse machen werde. Also im Moment bin ich in der SB-Netzbenutzer-Tabelle in der Datenbank, und ich werde nur voran gehen und sagen, ich war bei Loca hosts dot com, Also, um dies zu ändern, also werden wir eine Konfiguration machen müssen, weil ich etwas war selbstgefällig in Einheiten , also sehe ich nur, dass wir Admin bei Loca Host dot com als Benutzername auf dann
den gleichen Benutzernamen oder E-Mail-Adresse wie die niedrige normalisieren Benutzer in der Nähe in unserer Kapsel auf dann wissen
wir die E-Mail-Adressen. Ich meine beim lokalen Host dot com auf die normalisierte E-Mail-Adresse ist lokal. Host ist räumt lokalen Host dot com So können wir nur diese Änderungen vorgenommen und einreichen. Vielleicht haben Sie dieses Problem nicht. Das tue ich. Also, wenn du mir zum Tee gefolgt bist, dann zeige ich dir nur, um das noch mal zu versuchen. So admin am lokalen Host dot com mit unserem Passwort und es wurden protokolliert Deal sind. Also liebe ich diesen Admin auf Dwell. Die Menüoption ist nicht da, und ich bin sicher, dass das ist, weil ich irgendwo Rechtschreibfehler war, und das ist, was ich habe. Ich habe viele Verräter so Adminis Street oder auf. Dann werde ich nur zu mir, dass Jian speichern und dann aktualisieren und nach einer Aktualisierung, jetzt sehen wir, was wir erwarten. So sieht der Admin-Benutzer die vielen Optionen, die der Mitarbeiter auf diesem
liebenden oder nicht liebenden Benutzer nicht sehen konnte . Noch mehr so nicht bekommen, um nein zu sehen. Das Menü einzuschränken ist eine Sache. Aber dann, wenn Sie klug sind, wissen
Sie, wenn Sie ein kluger Angreifer sind oder jemand, der Assistent angreift, könnte klug sein. Sie könnten genug Aufmerksamkeit zahlen, um zu erkennen, dass, wenn sie gehen, um Typen, die Luchse, lokalen Host oder was auch immer der Link ist Schrägstrich verlassen Typen. Nun, ich werde nur ein Experiment durchführen und Ihnen etwas mit diesem jemandem zeigen, um
diesen Link zu kopieren , wo ich dieses Mädchen kenne. Ich werde Boot lieben und während wir die Sichtbarkeit einschränken, so dass dies nicht die Liebe ist, Benutzer auf, wir beschränken ihre Fähigkeit, auf das Menü klicken und klicken Sie auf Urlaub Typen. Aber dann, wenn sie aufpassen und sie direkt dorthin gingen, dann hätten sie immer noch Zugang, was immer noch unerwünscht ist. Wir wollen nicht, dass jemand, der nicht angemeldet ist, Zugriff auf diesen Bildschirm hat, auch wenn er den Link indirekt eingeben. Es gibt also eine weitere Schutzstufe, die wir hinzufügen können, damit wir zu unserem Projekt zurückkehren können. Und dieses Mal werden wir diesen Schutz dem Controller hinzufügen. Also gehen wir zu Controllern gehen, um Typ-Controller eingeschaltet zu lassen. Dann für den Urlaubs-Zeit-Controller können
wir
für den Urlaubs-Zeit-Controllereine Datenannotation hinzufügen, die seine autorisierte ist. Nein, lassen Sie mich das nur in die Perspektive bringen. Ich kann direkt über eine Aktion autorisiert sehen, und ich werde das tun. Autorisieren. Alles klar drauf. Dann werde ich die fehlende Bibliothek auf einschließen. Dann wird dies tatsächlich sagen, dass, wenn jemand versucht, Bro zu dieser Aktion zu machen oder die Ansicht mit dieser Option
verknüpft ist , sie sich anmelden müssen, bevor sie dorthin gelangen. Jemand, um diese Änderung zu treffen, speichern und dann zurück zu unserer Seite und dann denken Sie daran, dass, wenn wir nur einen Schrägstrich verlassen
Typen wirklich laden den Index. Also, wenn ich das aktualisiere, dann wirst du anfangen, den Anmeldebildschirm zu sehen und dann wird
die Rückkehr, die du bist Sinn machen, wo es tatsächlich speichert. Was die Rückkehr Sie sind, ist, was der Sinn ist. Wenn ich versuche, Bro's direkt Typen zu verlassen, brachte
es mich auf den Anmeldebildschirm, also das ist, was der autorisierte Vortrag für Sie tut. Es besagt, dass, wenn Sie dieses Zeug über eine Ansicht oder eine Aktion innerhalb des Controllers gesagt haben,
wenn diese Ansicht angefordert wird die Person sich angemeldet hat, um fortzufahren. Nun, da die Verletzung darin besteht, dass, wenn
Sie es über die Aktion setzen , Sie über jede Aktion innerhalb des Controllers sitzen müssen, wenn dies gewünscht ist, denn wenn sie den Index nicht anzeigen können
sollten, sollten sie wirklich nicht in der Lage, alle Details anzuzeigen. Sind unsere etwas auf, nebenbei bemerkt, dass wir, wenn wir Aufmerksamkeit wieder werden, würden wir wissen, dass, wenn wir sagen, Schrägstrich auf hier ist ein Beispiel, so dass es ein Schrägstrich, dass Oh ,
na ja, ich habe nichts mit I d ein tun. Vielleicht bin ich auch. Okay, dann gehen wir. Ich kann immer noch Zugriff darauf bekommen, ohne überhaupt authentifiziert zu werden. So weiter. Einfachere Möglichkeit, die Authentifizierung für den gesamten Controller einzurichten, da alles, was verlassene Typen zugeordnet sind, nicht für jemanden zugänglich sein sollte, der kein Administrator ist. Jemand, der diesen autorisierten Schlepper nimmt und ich bin Winter statt. Setzen Sie es an der Spitze der Klassenerstellung für verlassen Typen Controller. Sie haben also die Leitung. Das ist seine öffentliche Klasse. Was auch immer der Controller-Name ist. Andi, Sie werden die Autorisierung der Datenannotation darüber setzen. Was dies bedeutet, ist zu sagen, dass dieser gesamte Controller und alle seine Inhalte und alles, was er war, es durch Drücken des Minus Sign alle Inhalte von diesem Controller. Jede einzelne Aktion muss das sein, was Sie autorisiert werden müssen, um Zugriff auf alle
diese Aktionen zu erhalten . Also, wenn ich diese Änderung vornehme und speichere und dann gehe und aktualisiere, merke
ich, wo ich nur den Bearbeitungsbildschirm aktualisiere, immer noch nicht authentifiziert. Dann bekomme ich den Anmeldebildschirm. Und selbst wenn ich eine andere versuche, kann es mir leid sein, dass das in meiner Zwischenablage ist. Wenn ich es versuche, lassen Sie mich versuchen, dies zu entfernen und sagen, Schrägstrich lassen Typen auf Kerl versucht, etwas wie
erstellen zu tun , damit ich Schrägstrich erstellen kann. Es wird immer noch beantragen, dass ich mich einloggen kann, bevor ich weitergehen kann. Nein, lass mich einloggen. Und nur um zu beweisen, dass das funktionieren wird. Also melde ich mich als Mitarbeiter an,
bin außerhalb ssw rd ein und dann melde ich mich auf ihre Nein, ich habe Zugriff auf den Erstellungsbildschirm auf diesem ist immer noch falsch, Also ich meine, wir bauen uns auf. Das ist also immer noch falsch, denn als Mitarbeiter sollte
ich wirklich nicht in der Lage sein, auf die „create for leave“ -Typen zuzugreifen. Ich sollte nicht in der Lage sein, auf etwas für Urlaubstypen oder irgendetwas, das administrativ ist, zuzugreifen. Also nein, wir müssen etwas anderes auf unser Autorisiertes setzen, um anzugeben, wer es berechtigt ist, Zugang zu erhalten und wer in diesem Fall die Regel bedeutet. So kann ich einfach Rennen auf das Wort autorisieren öffnen. Und wir sehen, dass wir im Tennis, in der Unterstützung, dass wir drei Möglichkeiten haben, hinzuzufügen. Wir haben Richtlinienauthentifizierungsschemata und wir haben Regeln in dieser Situation. Wir wollen Regeln,
jemanden, der Regeln gleich sagt. Dann die Regel. Und ich habe den Bruch offenbart. Setzen Sie sich dafür ein, dass Sie dies später mit der Regel tun, die wir autorisieren, mit allem
in sich zu interagieren . Dieser Controller ist Add Ministerium Tour, jemand für mich, diese Anpassung und Seve und dann werde ich wieder als die Angestellten eingeloggt, und ich werde mich aktualisieren und dann werden Sie sehen, dass wir im Bildschirm zurechtkommen. Wow. Noch besser, wir haben nicht einmal den Zugang bekommen. Wir haben einen Zugriff verweigert. Wir haben nicht einmal den Lolly auf dem Bildschirm bekommen, weil es sagt, dass Sie nicht die Möglichkeit
haben , sich anzumelden. Du bist einfach kein Load Zeh. Greifen Sie auf diese Ressource zu, Ordnung? Also, wenn ich als Angestellte fungierte, wollte
ich das tun, aber ich war überhaupt, dass ich heute Abend Zugang habe. Sie sind nicht nach Gesetz Ziegen auf, dann loggen Sie sich wieder ein. Und dann diesmal als Admin. Also denken Sie daran, dass waren Admin bei lokalen Host dot com auf unserem Pastor ändern. Dies wird außerhalb der Organisation ein bisschen sarpy zugewiesen, und dann bin ich eingeloggt. Dann sehe ich meine vielen Optionen, und dann kann ich frei zu meinen administrativen Optionen büro's. Alles klar, das war's. So können wir unseren eigenen, Sie wissen, globalen Zugang zu bestimmten Teilen ihrer Anwendung für bestimmte Personen einschränken. Nur um zusammenzufassen, das erste, was wir getan haben, war, aus der Sicht Sicht aus der HTML oder der Razer pH-Perspektive betrachten, können
wir einschränken, was jemand sieht. Selbst wenn es ein Fall ist, in dem die Schaltfläche „Löschen“ für eine bestimmte Regel angezeigt werden soll, aber nicht für eine andere Rolle, wissen Sie, dass ein Mitarbeiter anzeigen kann, aber er kann nicht bearbeiten und löschen. Aber dann kann ein Administrator wirklich und wirklich nur unsere Aussagen brauchen. Ich werde eigentlich nur die Indexansicht für den Lease-Typ öffnen. Da wir das haben, werde
ich Ihnen zeigen, dass wir den Knöchel haben. Es wird die Schaltfläche Bearbeiten angezeigt, eine für die Details und eine für das Löschen. Ich brauche nur eine if-Anweisung, genau wie die, die wir in Leo für das Menü verwendet haben. Ich sage, Wenn der Benutzer Liebe ist, wenn der Benutzer in der Rolle ist, dann können sie dies tun, dann drucken Sie das sonst. Drucken Sie was auch immer, Ordnung, so dass das bedeutet, ich könnte sagen OK, drucken Sie die Details, aber egal, Aber wenn die Person im Durchschnitt ist, dann zeigen Sie die Bearbeitung Onda löschen. So können wir steuern, was jede Zeile aus der Ansicht sieht. Nein, für den Controller, wissen
Sie, nur
darauf zu beschränken, was sie auf Click sehen können, ist nicht genug, denn wenn jemand auf die Mädchen aufmerksam wird, können
sie wahrscheinlich immer noch versuchen, Bro ist direkt auf der Seite, die sie sich für Andi interessieren, vielleicht von Alicia. Also, um den Graben zu blockieren, würden
wir nur sicherstellen, dass wir autorisieren, wenn die Person, bevor es nur einschränkt, um Personen zu loggen und wir sagen nur autorisieren. Also für den Kontext, wenn Sie versuchen, etwas auf Facebook zu gehen und wieder ein wenig zu essen, das ist alles, was sie wirklich haben. Sie haben nur etwas, das autorisierten Zugriff ist. Also diese treffen die Person muss sich dann anmelden, wenn Sie vielleicht sind Sie mit einem Freund und Sie gesehen, dass sie ihnen Admin-Zugang zu etwas hatte. Ich habe auf den Earl geachtet, und dann werden Sie nach Hause und Sie versuchen, mit Ihrem Login, können
Sie Zugang zu bekommen. Dann bist du vielleicht nicht in der Regel, in der dein Freund ist. Tatsache ist also, dass Sie es basierend auf der Regel einschränken können, indem Sie autorisierte offene Klammer sagen, die Regel oder die Regeln
definieren, so dass Sie immer Komma bei so vielen Regeln sagen können, wie Sie wissen, dass Sie möglicherweise haben. Also in diesem Fall möchte
ich wirklich nur, dass die Administratorrolle Zugriff auf diesen Controller Andi hat, wie wir waren, Lasten sind vorhersagen, ihre anderen Controller, die nur der Administrator Zugriff haben sollte , und sie werden andere Kontrolleure sein, wenn ich mich einschränken wollte, aber nur jemand, der Liebe ist, sollte Zugang zu haben. Das ist es also, um zu lernen, wie Sie den Benutzerzugriff auf bestimmte Teile Ihrer Anwendung einschränken und das Kontextualisieren, was jede Benutzerregel sieht.
28. Übersicht und Änderungen in GitHub: Hey, Leute, willkommen zurück in diesem Video, wir werden nur alle Änderungen überprüfen, die wir in unserem Projekt bis zu diesem
Punkt bei der Überprüfung in unseren Änderungen vorgenommen haben , um aufzustehen. Nein, nur eine Erinnerung. Wenn wir in unserem IT-Explorer oder Lösungsexperten schauen, werden
wir sehen, dass wir einige Dateien mit blauen Vorhängeschlössern haben. Das bedeutet, dass sie seit dem letzten Mal in die Quellcodeverwaltung eingecheckt wurden, sie haben unsere sie nicht geändert wurden. Und dann haben wir einige mit engen Zeichen, was bedeutet, dass sie hinzugefügt wurden, Sie sind völlig neue Dateien auf, Sie sind nicht in der Quellcodeverwaltung. Und dann haben wir einige mit ein paar roten Zecken. Und diese bedeuten wirklich, dass sie eine Version in der Quellcodeverwaltung auf diesen häretischen bedeutet, dass die Änderungen an diesen Dateien noch nicht an die Quellcodeverwaltung gebunden sind. Also, das ist, was wir tun werden, um dies wird ein wirklich einfacher Prozess sein. Wir klicken einfach mit der rechten Maustaste auf unsere Lösung. Wir klicken auf Commit, wir geben dann eine Commit-Nachricht, um zu erinnern, dass wir wollen, dass unsere Nachricht sauber und, Sie wissen, einfach wie möglich ist. Damit jemand, der mitkommt, es verstehen kann. Also habe ich eine kleine Frau geschrieben. Sie sagen nur, dass ich Benutzer von Standard Rose und Admin auf geändert den
Registrierungsprozess eingerichtet . Das ist also meine Comic-Nachricht. Und dann, nachdem ich diese Nachricht gemacht
habe, sage ich einfach nicht den Pfeil und sage alles und sinken und dann wird das. Aktualisierung meines lokalen Repositorys hier auf der Maschine hat auch die Änderungen geschoben, um Hoffnung zu erhalten. Und noch einmal, wenn Sie in einem Team arbeiten, dann wird es nicht das neueste
Projekt laden , ,das Sie vielleicht nicht haben. In Ordnung, auf. Sobald dieser Prozess abgeschlossen ist, können
Sie immer einfach gehen, um aufgehängt zu werden. Komm schon, vergewissern Sie sich, dass das Huhn erfolgreich gemacht wurde. So auf dem Greep. Oh, ich sehe, dass das Management in den neuesten Komitees gibt, wenn ich reingehe. Dann war es das. Zeigen
Siemir, was infolge dieses Commits oder eines beliebigen Ordners
geändert wurde Sie ,
jede Datei, die mit diesem Komitee eingecheckt wurde, wird diese Commit-Nachricht daneben haben . Das war's. Also am nächsten Morgen werden Sie tatsächlich anfangen, auf dem Mitarbeiter-Management-Modul aufzubauen, und wir werden sehen, wie das geht. Das war's also. Wir haben unsere Änderungen eingecheckt und nirgends bereit für die nächste Herausforderung.
29. Übersicht der Allocation: Hey, Leute, wir werden ein neues Modell starten oder eine neue Anwendung, und das wird für den Urlaub sein. Zuteilung für dieses Modell wird eine neue Sektion riss Anwendung ermöglichen. So haben wir unser verwaltetes Top, das nur von den Admin-Benutzern auf für den Urlaub zugänglich ist. Allocations werden alle Blatttypen aufgelistet, die wir bereits über eine Schnittstelle zu erstellen haben. Also haben wir alle von den Blatttypen hier, die wir erstellen können. Aber dann, für jeden, der erstellt wird, gehen
wir Zehe, lassen
Sie sie in den Urlaubsanweisungen auf aufgelistet. Dann haben wir dedizierte Schaltflächen, die alle aus der Anzahl von Tagen einrichten, die jeder Mitarbeiter für jeden Urlaubstyp hat. Jetzt ist der Trick, dass wir einige Änderungen an der Datenbank vornehmen müssen. Wir müssen die Blatttypentabelle ändern, weil ich in der Lage sein möchte, eine
Standardnummer von diesen pro Urlaubstyp festzulegen . Wie
zum Beispiel ist
es Standard, dass man jedes Jahr 10 Tage Krankenurlaub bekommt. Es ist auch Standard, dass Sie 15 Tage Urlaub pro Jahr, etc. Wenn also der Blatttyp erstellt wird, müssen
wir dem Benutzer erlauben, diese Standardzahl von Tagen für diesen Blatttyp zu setzen. Dann müssen
wir für die Zuweisung Anpassungen an unserer bestehenden Datentabelle vornehmen. Auch, weil Sie möchten, dass verlassen Typ Allokation für eine Periode auf erscheint für das Kalenderjahr. Wir werden also zwei neue wenige Speicherdatenbank-Tabellen hinzufügen, eine für die Blatttypen Toe gesetzt, die Standardanzahl Off-Tage auf einem anderen für den Zeitraum für Urlaub Allokationen, so dass wenn wir diesen verlassen Typ Onda Zuweisungen Benutzer, wird
es sagen, dass es für den Zeitraum außerhalb des Jahres ist, in dem es eingestellt wird, und wir werden die Einstellung von diesem Pier automatisieren. Also ohne weitere, ich, ähm, im nächsten Video, werden
wir anfangen, an den Datenbankänderungen zu arbeiten, die gemacht werden würden. Wir werden dieses Modell nach und nach aufbauen
30. Überlagerungsmodul – Datenbanken: Hey, Leute, willkommen in diesem Video wird anfangen, Anpassungen an unseren Datenklassen vorzunehmen und dann werden wir migrieren. Diese Änderungen an den Datenbanken sollten ein kurzes Video sein. Es ist wirklich nur um zu zeigen, dass wir, wenn wir eine Anwendung entwickeln , meinen
wir wissen
Sie, den Weg von Gene zu denken
ändern. Wir wollen etwas umsetzen, was Auswirkungen auf die zugrunde liegende Datenbankstruktur auf DSO mit Gericht hat. Erstens ist
es wirklich einfach, unsere Datenbank zu ändern, während wir weitermachen. Halten Sie es einfach so gewählt acht wie möglich mit unseren Zielen zu der Zeit. Unser Ziel für diese spezielle Lektion ist es, andere Felder hinzuzufügen. Fühle ich ihren Tisch? Also muss ich jemandem sagen, dass ich das Gefühl habe, jedes in die Blatttabelle zu setzen. Wir werden ein neues Feld hinzufügen, und das ist für eine Standardnummer außerhalb von Tagen. Also werde ich nur sagen, öffentlich auf, dann werde ich in sehen, dann werde ich sagen Standardtage. Alles klar, also wird das die Nummer von diesen sein, wenn wir ein Leave it up erstellen. Wenn der Administrator einen Urlaub Typ der Standardeinstellung erstellt, wird
dies die Anzahl von Tagen sein. Das ist Standard für jede Person. Das ist ein Basiswert. Ähm, wenn Sie den Urlaub zuweisen, nein, Sie können es von Fall zu Fall tun. Um zu sagen, dass Sie wissen, würden
Geschäftsregeln vorschreiben, dass Menschen, die seit mehr als fünf
Jahren in der Organisation sind , wahrscheinlich zusätzliche fünf Tage zum Wasser bekommen. Der Basiswert ist, Sie wissen, Sie können das nicht einfach mögen, aber deshalb setze ich diesen Basiswert ein. Ist dies für dieses Feld, um zu sagen, dass, wissen
Sie, zum Zeitpunkt der Erstellung von einem Blatttyp? Dies ist die Zahl aus diesen, die Standard für diesen Blatttyp ist. Also werden wir hinzufügen, dass zu den Daten T die Datenklasse und die Datenklasse wieder im
Datenordner ist , auf dem wir das Partikel finden, das verlassen ist, tippen Sie auf. Wir fügen die Eigenschaft hinzu, dann ist die nächste, die wir anpassen, die Allokation verlassen. Also für Urlaub Zuteilung, wir haben bereits die Anzahl von Tagen. Andi, es ist nicht überflüssig. Ich setze auch die Anzahl der Tage in der Zuweisung ein, denn denken Sie daran, dass dies ein berechneter Wert von Fall zu Fall sein könnte. Außerdem möchten
wir, dass diese Zahl toe geändert oder zumindest reflektiert wird. Wenn jemand sich für Urlaub Beantragung wird diese Zahl Zehe tun einige Master,
Zeigen Sie ihnen, wie viele Tage sie wirklich haben gegen sie tun hart,
richtig, richtig, aber die oder lassen Zuweisung, um die Anzahl von Tagen zu speichern, die AARP artikuläre hat auf einem bestimmten Blatttyp auf. Dann, was ich hinzufügen werde, ist ein Zeitraum in diesem Zeitraum noch einmal darauf hinweisen, dass Nun, ich bin, ich rufe eine Periode. Ich bin Periode wird wirklich ein Ende sein, das das Jahr repräsentiert. Das wird also im Jahr 2020 aufgezeichnet. Das ist also eine erste Periode, die in das System eingegeben wird. In der Zeit von 2020, in der ich Urlaub finde, sind alle gegangen, um das artikulär für den Pier 2020 zu bekommen. Wenn es 2021 ist, wird das System so eingerichtet, dass wir es später automatisieren können. Aber die Art und Weise, wie ich es baue, ist, dass, wenn sie klicken ,
zuweisen, lassen Typ, den es überprüfen sollte, gibt es auf Zuweisung für einen Mitarbeiter für einen bestimmten Zeitraum, der darin erschienen ist. Nein, wenn es so ist, dann mach es nicht nochmal. Wenn dies nicht der Fall ist, dann bewerben Sie sich. Also, wenn wir es einmal für 2020 tun, dass die Mitarbeiter nie eine andere Zuteilung Inter
für den Zeitraum 2020 bekommen . jedoch 2021 tun, Wenn wir esjedoch 2021 tun,dann wird dieser Mitarbeiter, der es für 2020 hatte, wissen, dass er eine neue
Zuteilung für 2021 erhalten wird . Alles wird neu berechnet. Wieder einmal können
Geschäftsregeln bestimmen, kann verwendet werden, um die tatsächliche Zahl von diesen relativ
zum Basiswert zu bestimmen . Also habe ich eine ganze Reihe von Erläuterungen durchgemacht, aber ich zeige nur die Begründung für die Änderungen, die ich mache. Ich will nicht, dass das ein weiteres Gericht ist. Ich möchte, dass wir genau verstehen, was passiert, warum ich die Änderungen vornehme, damit Sie es vielleicht anders
sehen. Du meinst, du weißt schon, hast eine andere Art zu denken, wenn du dich frei fühlst, das mit mir zu teilen. Aber nein, füge
ich diese beiden Gefühle aus diesen besonderen Gründen hinzu. Also weiß, dass ich diese Gebühren hinzugefügt habe. Ich habe eine Reihe von Anpassungen. Andernfalls zuerst muss
ich
zuerstdie tatsächliche Datenbank aktualisieren. Denken Sie daran, dass wir die Datenbank bereits generiert haben. Wenn ich wieder zum SQL Object Explorer gehe, wenn Sie dies nicht über Panels sehen, sind Sie irgendwo auf Ihrem Bildschirm. Sie können immer gehen, um es zu sehen. SQL Server-Objekt Explorer auf. Dann, wenn ich einen Drilldown in
die Datenbank, die verlassen Management ist, dann werden Sie sehen, dass ich bereits diese Tabellen habe und lassen Typen ist gut, es hat nicht die Standardspalte, die ich gerade hinzugefügt habe. In Ordnung, also hat es einen Dreifach-Arm, und es ist weniger Standard. Also muss ich natürlich diese Datenbank aktualisieren, so dass es keine d für diese hat. Um das zu tun, gehen
wir zu unserem Paket. Consul Package Manager-Konsole. Tut mir leid auf. Wenn Sie dies nicht im Basismenü sehen, können
Sie zu den Werkzeugen wechseln. Siehe, Sie erhalten Paket-Manager, und dann können Sie Paket-Manager-Konsole sagen. Das ist es, was du mit dem Werkzeug bekommst. Dann können Sie hier eine Migration hinzufügen. Also, jedes Mal, wenn Sie eine Anpassung an Ihre Datenbank vornehmen, meinen
Sie die Datei? Wissen Sie, Sie haben Anpassungen der Datenklassen vorgenommen und Sie müssen eine Migration hinzufügen. Onda. Ich habe das durchgemacht. Was ich tue es wieder. Jedes Mal, wenn Sie eine Migration hinzufügen, erhalten
Sie eine neue Datei. Das zeigt die Veränderungen. Wenn Sie also die Migration hinzufügen, möchten
Sie eine kleine Nachricht schreiben. Ihre Zehe zeigt die Veränderungen, die Sie vorgenommen haben. Nein. Wenn jemand nach 56 Monaten aus Ihrer Migration kommt, bekommt
er dieses Projekt frisch, vielleicht sogar aus der Ghetto-Bar. Von dem, was zu einer Quelle von Motor. Sie können einfach einen Befehl ausführen, der zuerst die gesamte Migration betrachtet und die
Datenbank auf den letzten oder neuesten Standard erstellt . Es ist also eine gute Möglichkeit, die Änderungen zu verfolgen, die Sie durchführen, und Sie können Migrationen jederzeit entfernen. Sie können Änderungen jederzeit aufheben, die Sie vorgenommen haben, aber es ist eine gute Möglichkeit, alle Änderungen zu verfolgen, die Sie an Ihrer Datenbank vornehmen. Also fügen Sie Migration hinzu und dann werde ich sagen, hinzugefügt e Fehler Tage. Onda hier sind in Ordnung, also sehe ich zusätzlichen Standard. Dies und Peer von denen sind die beiden Dinge haben eine Presse eingegeben. Es macht etwas Magie, wo es baut das Projekt auf Sobald die abgeschlossen ist, werden
wir sehen, dass die Nachricht Build erfolgreich ist und dass wir die Migration durch ihren Namen entfernen können. Aber noch wichtiger ist, wenn Sie in dieser Migration suchen, sehen
Sie, dass es eine neue Migrationsdatei gibt, die das letzte Nacht widerspiegelt? Großartig. Also haben wir gerade „Rechts“ hinzugefügt, dann ist das Schritt eins. Schritt zwei oder gut, das wird Schritt zwei sein. Schritt eins wird eine Änderung vornehmen. Schritt zwei ist das Hinzufügen der Migration auf Zehe schließlich, wenn auch das Datenbanksicherheitsupdate auf Dash-Datenbank, und Sie können tatsächlich nur für die automatische Vervollständigung Anweisung stoppen und dann drücken Sie die Eingabetaste auf . Dann wird er das Projekt wieder auf def bauen. Alles ist gut, dann werden Sie Erfolgsmeldungen auf sehen. Dann geht die ultimative Erfolgserscheinung zurück in die Datenbank, aktualisiert die Datenobjekte auf, dann sucht und überprüft, ob die neuen Felder zu den entsprechenden Tabellen hinzugefügt wurden. Also gehe ich in Tabellen, die in Urlaubstypen gehen in Spalten
aufbohren. Dann sehen Sie Standardtage, die ein bisschen erfolgreich auf der gleichen Weise für
Urlaubszuweisungen waren . Sie werden sehen, dass es ein neues Feld namens Punkt gibt. Außerdem könnte
die Gerichtsakte für die Migration für Sie geöffnet haben, wo sie all die
Modifikationen zeigen, die für mich so schrecklich sind. Sie meinen also, Sie können Zeit verbringen, wissen
Sie, schätzen das, aber es wird normalerweise für Sie generiert, wenn es fehlerfrei ist, dann haben Sie wirklich kein Problem. Also kann ich löschen, dass die nächsten paar Änderungen, die ich vornehmen möchte, um die Ansichtsmodelle herum
sind. Denken Sie also daran, dass Ansichtsmodelle buchstäblich die Datenklasse modellieren. Wir können Fühlungen hinzufügen und entfernen, wie wir es für richtig halten. Aber für den Blatttyp V. M. Richtig? Nein, ich muss sicherstellen, dass ich Repräsentation für Standardtage habe, und ich muss auch sicherstellen, dass es jemand erforderlich ist, um zu sagen, erforderlich, ich werde
in der Eigenschaft setzen Ich schrieb nur richtig und drücken Sie zweimal gestoppt in Standard-Tage. Denken Sie daran, dass Jahr müssen Sie den Fall auf viel den Namen entsprechen, so dass Automobil Karten sauber auf. Ich werde auch einige andere Validierungen eintragen, wie ich eine weitere
Datenannotation festlegen werde , und ich werde es Bereich nennen. Also Bereich erlaubt mir im Grunde, ein numerisches Feld zu validieren, und es dauert ah viele Moment des Maximums. Das Minimum ist also eins, aber es ergibt keinen Sinn. Der andere Urlaubstyp mit Null D auf dem Maximum ist vielleicht Oh, nein. Es sollte keinen Urlaubstyp geben, der 25 Tage überschreitet. In Ordnung, also meine ich, du kannst das hineinlegen. Sie können das mit einem Körnchen Salz verwenden, basierend auf den Geschäftsregeln und was auch immer, ähm,
Richtlinien, die Ihnen vom Geschäft gegeben wurden. Sie müssen es entsprechend verwalten. Dann werde ich auf Luft eine Nachricht setzen, die bedeutet, dass die Fehlermeldung nein sein wird, was
angezeigt wird , wenn diese Bereiche verletzt werden. Die Fehlermeldung lautet also Bitte geben Sie ein. Ah, geschätzte Zahl. Alles klar, wenn
das reicht, wissen
Sie, dass diese Regeln
verletzt, dann werden Sie die Nachricht sehen. Bitte geben Sie eine gültige Nummer ein. Das ist also die Blatttyp-VM und dann genau die gleiche Weise für die Urlaubszuweisung aus. Außerdem möchte
ich einen richtigen Anzeigenamen Surround-Benachrichtigungen setzen, Standard-Tage als Kameratasche Sache. Also werde ich in eine Anzeige auf den Namen setzen, dann der Text, den ich angezeigt werden soll, ist Standardnummer von diesen. So Standardnummer aus. Das ist zu sehen, was Sie wissen, was? Dies ist nur das Etikett, das auf dem Formular gedruckt wird, dass verlassen Typ Veum auf
dem Urlaub Zuteilung verwendet wird . VM hat bereits ein paar Dinge hier. Jemand, der das ändert. Lassen Sie Zuweisung v m. Ich würde es mit einer bestimmten Sache im Auge erstellt haben, aber ich werde es ändern. Aber im Lichte dessen, was wir tun, werde
ich die folgenden Mods zuerst machen, bevor die Anzahl von Tagen, die ich Fuß gehe. In Ordnung, nun, ich werde wieder darauf zurückkommen. Also werde ich den erforderlichen Schlepper Onda entfernen. Ich werde auch hinzufügen ah, Eigenschaft vier Periode I Wieder einmal, P Straße stellt dieses Kalenderjahr. Das ist die Zuteilung gültig ist. Vier. In Ordnung, also haben wir einen kleinen Marsch gemacht. Ich kann dieses Projekt erstellen und dann werden wir sehen, ob wir irgendwelche Probleme mit den
Modifikationen haben , die wir bisher auf der Grundlage der alten Put-Nachricht vorgenommen haben und sehen, dass es gelungen ist. Also habe ich keine Fehler. Und so sind wir mit allen Datenbank-Updates fertig, zumindest für Nein. Also im nächsten Video wird beginnen, die Ansicht zu entwerfen
31. Allocation – Ansicht erstellen: Hey Jungs, in diesem Video werden
wir auf die Einrichtung der Funktionalität erstellen, die erforderlich ist, um die Zuweisung zu unterstützen oder zu
verlassen. jedoch Bevor ichjedochauf all das eingehe, werde
ich nur ein paar Änderungen an einem vorhandenen Code vornehmen,
nämlich den Ansichten, die dort die Crowd-Operationen für Urlaubstypen unterstützen. Nein, wenn Sie sich erinnern, haben wir nur ein neues Feld in den Urlaubstypen eingefügt, und das war für die Standardanzahl von Tagen am. Was ich tun möchte, ist, diesen neuen Wert zu reflektieren. Also habe ich das Ansichtsmodell
aktualisiert, die Datenklasse und die Datenbank und alles aktualisiert. Aber wir müssen diesen Wert tatsächlich dem Benutzer zeigen. Also, wenn ich zu den bestehenden Ansichten zurückgehe, wissen Sie,
Sie können das auf zwei Arten tun, Sie können entweder versuchen, alle Ansichten zu regenerieren, was für mich freundlich ist, wissen
Sie, mühsam. Jedes Mal, wenn Sie eine Änderung vornehmen, es nach Region eri die Ansicht oder Sie können einfach lernen, es zu ändern. Wenn Sie also eine Wertschätzung für das ganze haben, ist
das Gericht ein Interview, das er einfach ändern kann, weil Sie Ihr Ansichtsmodell geändert haben. Sie müssen neue Daten anzeigen von Daten, die Sie entfernen möchten. Wenn Sie nur wissen, wie Sie die visuelle Komponente ändern, die die Ansicht ist, dann können
Sie, wissen Sie etwas leichter
biegen. Also mit allem, was gesagt hat, beginne
ich mit der Indexgeschwindigkeit. Also will ich auf der Liste. Sind nicht bewusst Alicia im Namen an den Datumsangaben, an denen der Blatttyp erstellt wurde. Persönlich denke
ich, dass wir auf das erstellte Datum verzichten können. Ich Benutzer, der geht, um die Liste aus anzuzeigen. Steuern verlassen? Nein, wann nicht wissen muss, wann der Lead-Typ erstellt wurde , könnte
die Standardnummer
jedoch nützlich sein. Also, was ich tun werde, ist, dieses Feld durch den Standard zu ersetzen, ist in Ordnung. Dann werden wir den Anzeigenamen für den Namen bekommen
, den wir dafür keine bessere Notation gemacht haben. Also wird es nur den Namen sehen. Sie erhalten den Anzeigenamen als Standard. Diese und ich gehen einfach wieder doppelt, überprüfen Sie das Ansichtsmodell und stellen Sie sicher, dass ich rot verschüttete. Ruft den Standardnamen vor diesem Sorry camel cased, das korrekt ist auf. Dann haben wir die Anzeige für auf, anstatt die große erstellen anzuzeigen, die ich die Standardtage auf alles andere anzeigen kann gleich bleiben. So sind unsere Datentabelle für Blatttypen. Gehen Sie einfach, um den Namen auf der Standardnummer von Tagen für diesen Urlaubstyp zu haben? Nein. die gleiche Weise muss
ich es auf der Bearbeitung zeigen, weil im Moment es ist, dass es das erstellte Datum und
die Idee behält . Es versteckt sie, Klar, aber ich brauche einen Weg, dass sie tatsächlich etwas ändern können, oder? Zumal dies nach der Tatsache ist. Weil wir das gerade hinzugefügt haben. Das heißt zum Glück, wir haben nur drei erschaffen. Wir können zurückgehen und einfach die drei auf Put in das neue Gefühl bearbeiten, das da ist, das ist erforderlich. Also werde ich nur, wenn kopieren Sie diesen Abschnitt, der uns das Textfeld gibt auf, verstehen Sie es einfügen, sie wollen nicht sagen, es ist vor den vier Tagen statt. Alles klar, , dann,
alles, was den Namen gesagt hat. Ich werde es nur davor sehen lassen. Alles klar, jetzt haben wir zwei Textfelder. Einer für den Namen, einer für die Standardtage. Alles Iskander mich in der gleichen. Ich gehe zu Details über für die Details. Ich kann das erstellte Datum behalten, weil ich meine,
diejenigen, die ein Detail sein würden. Also werde ich nur alle von der großen erstellten Bitpaste kopieren. Es ist darauf, das zu duplizieren. Aber ich werde einen von ihnen auf Standardtage ändern. Sie sehen also, Änderungen sind relativ einfach. Ich meine, Sie haben den Rahmen, wissen
Sie, den Wert anzeigen wollen. Sie haben den Zugriff auf das Modell im Modell und haben
Zugriff auf alles, was sich innerhalb der Ansichtsmodellklasse befand, die Sie
definiert hätten . Also werde ich davon sehen. Und dann ist die letzte Änderung, die ich machen werde, auf der Erstellung dieser Modifikation ist sehr ähnlich wie die Bearbeitung. Also habe ich es bereits bei der Bearbeitung bei den Bearbeitungen getan und erstellen tatsächlich identisch sind. Also werde ich das einfach kopieren,
es in der erstellen auf dso, wenn wir einen Blatttyp erstellen, wir haben den Namen auf der Standardeinstellung ist, dass wir bereitstellen müssen und wir beide bereitstellen müssen,
weil beide nach Bedarf zerlegt werden. In Ordnung, also mit diesen Änderungen sind in die Anwendung gegangen. Und nein, ich schaue auf meine Unerfahrenheit. Ich sehe, dass jeder bei Null ist. Nun, es wird hier sein, weil, wenn die Datenbank aktualisiert wurde, Andi Wert annullieren. Es war keine Ladung. Dann mussten wir hineinlegen. Es ist schwer, einen Standardwert einzugeben, der Null ist. Also nochmals haben wir bereits gesagt, dass Null kein akzeptabler Wert in der Praktikabilität ist. Also von der Benutzerseite hätten
wir die Validierung den Bereich hinzugefügt, um 1 bis 25 zu sehen. Aber aus der Datenbank, wissen
Sie, das ist eine Client-Seite oder das ist die Benutzeroberflächenseite der Validierung. Was in der Datenbank passiert, kann eine andere Geschichte sein. Jedenfalls. Wir hätten die Funktionalität Toe jemand bearbeiten hinzugefügt, um einfach auf mittleren Bun zu klicken. Die Bearbeitung für diese Tool für Urlaub, sogar Krankheitstest ist irrelevant. Jemand, der wirklich richtig testen kann? Keine Drücke löschen. Klicken Sie auf OK, dann wird das seine Sache tun. Aber ich werde gehen, um für die Anzahl der Tage zu bearbeiten und bemerken, weil die Zahl, die ich
bekomme , dass Nummer Picker ich tatsächlich beschichten würde. Es sagt mir, dass ich eine gültige Nummer eingeben muss, damit es wirklich bestätigt, dass die Nummer Sinn ergeben
muss. Also haben wir gesagt, 10 war, Ah, gut genug Wert für kranke Blätter. Speichern Sie Änderungen auf Cent ging über zum anderen gehen. Bearbeiten Sie im Urlaub Nehmen wir an, dass die Standardanzahl von Tagen in dieser Organisation
15 ist . Also, indem es es es so modelliert, wissen
Sie, jede Organisation kann gehen und ihre eigenen Standardtage entsprechend ihren Geschäftsregeln festlegen . Es ist verstehen, Zehe die überschüssigen Fenster zu schließen. Und dann gehen wir. Also lassen Sie mich dieses noch einmal aktualisieren, um tatsächliche Werte von 10 und 15 zu reflektieren. Und dann, wenn wir gehen, um neue zu erstellen, bekommen
wir Namen und vorher dort. Also werde ich dies auf Mutterschaftsurlaub auf der Standardnummer nennen, die für den
Mutterschaftsurlaub ist, was haben wir als die Marken 25 gesetzt. Sagen wir also 25. Das sind ungefähr fünf Wochen. Es könnte mehr als das sein, damit er nein sehen kann, dass meine Validierung möglicherweise angepasst werden muss, denn wenn es 50 Tage in einer Organisation sind und dies eindeutig nicht 25 sein kann und basierend auf meiner Validierung 50 keine gültige Nummer ist. Sie wissen also, dass
Sie ihre Anwendung gemäß den Geschäftsregeln fühlen müssen, die Sie verwenden oder Sie halten sich an jemanden, um diesen neuen Urlaubstyp auf DNO zu erstellen. Wir haben drei Blatttypen waren Mutterschaftsurlaub. Wir haben Krankheitsurlaub. Wir haben Urlaub, Ordnung, also nicht, dass wir keine Änderungen vornehmen. Zehe sind Blatttypen. Lassen Sie uns mit dem Fokus arbeiten. Es tut uns leid, dass Sie die Ansicht für die Zuordnung erstellen. Das erste, was ich tun werde, ist, den Controller für die Urlaubsanweisung zu erstellen jemand Zeh unterbricht, weil ich in Rente gehen möchte. Es ist ich werde Controller knacken gehen, um Controller hinzuzufügen. Wir werden erstellen, dass NBC steuert Reader bei Action Slick Anzeige, wenn seine verlassen
Zuteilung Controller aufrufen und wir klicken hinzufügen Sobald wir den Controller haben, dann werde ich einfach meine regelmäßige Abhängigkeit Injektion tun, indem wir unsere Mopp er auf weg über unsere Blatttypen Menschen sowie unseren Bericht über Urlaub Zuteilung. Also nur die Beschleunigung, es verstehen, zu gehen, um Typen auf zu lassen. Dann werde ich mir ausleihen. Also zuerst bin
ich bei der Bar, die autorisiert ist, weil, naja, das ist eigentlich Standard, also sollten wir es haben. Der Autor befindet sich über dem Controller. Denken Sie daran, dass wir die Administratoren autorisieren, mit allem in diesem
Controller auf zu interagieren . Dann bin ich Restaurant, um diese Referenzen zu nehmen. Dann werde ich sie oben auf dem Controller hinzufügen, dann nur mit meinem Steuerpunkt Fügen Sie alle fehlenden Referenzen hinzu. Also haben Sie das verlassen Typ Repository und ich rufe den Schwan an an. Ive re ziehen auf gehen, um das zu duplizieren gehen, um dieses zu nennen. Ich verlasse die Zuweisung, einige Verweise auf die ich verlasse Allokation Repository auf diesem einen ist verlassen ich Standortbericht. Also zeige ich Ihnen wirklich nur die Tatsache, dass Sie mehrere Repositories innerhalb eines
Controllers haben können . Es ist nicht unbedingt, dass, wenn der Controller für eine bestimmte Sache aufgerufen
wird, Sie nur Operationen dafür verwenden können, weil ich Urlaubstypen involviert bin
und ich auch Änderungen an der Urlaubstabelle vornehmen werde. Und so alle beiden Repositories. Also richte
ich nur , den Controller auf dem Konstruktor ein,
indem ich alle Objekte ändere. Also habe ich eine Darstellung aus dem Blatttyp-Repository im verlassen Allokation-Repository. Also meine ich, ich rede nicht durch diese Veränderungen. Ich versuche, sie verkauft genug zu machen, dass du sehen kannst, was passiert, und sie sind ziemlich unkompliziert. Es ist wirklich nur kopieren und einfügen. Und ich füge buchstäblich nur eine Zeile zu den Repositories hinzu, die bereits
von Glaubenstypen referenziert wurden . Wenn ich die eine Zeile in der Deklaration hier hatte, füge ich hinzu, dass ein Land zum Konstruktor dann natürlich aus, um es im Körper
darzustellen. Also repariere ich die roten Linien nicht. Ich ändere nur die Quartalsreferenzen zuerst. Also auf der Partitur verlassen Bericht wird gleich sein zu verlassen. Bericht. Hier haben wir auf der Partitur. Allokation verlassen, Wieder ziehen gleich Zuweisung verlassen. Welligkeit auf DMA. Per ist glücklich Camper. Wir müssen nichts an meinem Oberteil ändern. In Ordnung, ähm, du gehst. Es ist also Unterstrich, der von der Referenz aus der Erklärung kommt, muss gleich sein diejenige ohne Unterstrich, die vom Betrüger kommt. Und dann ging ich, um den Konstruktornamen zu ändern. Natürlich, Toe tatsächlich sagen verlassen Allokation Controller. Das ist also unser Konstruktor. Ich habe es einfach in verschiedene Zeilen gefahren, anstatt eine lange Linie weiterlaufen zu lassen. Dann werde ich nur mein Steuerelement verwenden, das auf Referenz alles angedockt ist, was fehlt. Also müssen wir meinen oberen Bezug auf keine Ordnung ist unser Universum wiederhergestellt. Also haben wir alle vier. Abhängigkeit ist, zumindest für nein. In Ordnung dann, für die Indexseite, die Indexseiten wirklich nur alle Blatttypen laden, wie ich sagte. Aber ich werde es auf der Aussichtseite etwas verdrehen. In Ordnung, also werde ich buchstäblich nur diese Schule kopieren, weil ich das will. Verstehen Sie das Stück. In Ordnung, also und dann, Offensichtlich ist es kein Bericht, also ist es ein Bericht, den wir anrufen werden, um alle Blatttypen zu finden. Dann werde ich auf das Blatt verweisen. Die bessere Klasse, die Steuerpunkt verwendet, lässt auch den Steuerpunkt View Modell Steuerelement enthalten diese Referenzen. Ich kann diese Zeile über die Rückgabe der Ansicht entfernen, also bekomme ich alle Blatttypen und speichere sie dann im Modell,
nachdem ich sie zugeordnet habe. Dann werde ich die Ansicht jemand zu Recht erstellen, die Sie auf Ansicht klicken, finden Sie die Vorlage, die Liste ist, weil ich wirklich eine Liste sein wollte. Ich werde den Blatttyp V m verwenden also finde ich einfach das Blatt, das VM hatte, diese Datenkontext-Klasse wollte. Ich lösche das aus, verweise
nicht auf Skriptbibliotheken auf DA. Denken Sie einfach an die Anzeige. Also, was wir tun werden, ist, diese Vorlage zu ändern, oder? Also werde ich diese Kreation herausnehmen, weil ich das wirklich nicht brauche. Ich werde die I.
D-Spalte sowie die Standardtage herausnehmen und sie erstellt haben. brauche ich wirklich nicht. Das ist also, ich habe darauf hingewiesen, dass wir mehrere Ansichtsmodelle für
verschiedene Dinge verwenden können . Sie sehen, ob wir ein View-Modell speziell dafür gebaut hätten, als diese Änderung
notwendig wäre , weil ich diese Ansicht basierend auf dieser Feldflasche ohne die
Addition von Jahren erzeugen könnte . Aber es ist, was es ist, Andi. Ich meine, es ist wirklich sechs von 1/2 Dutzend von dem anderen. Wir hätten das View-Modell machen und in die Welt bringen können. Es wurden nur in die Arbeit hier gesetzt, also entfernen wir nur alle Fakten. Also, was ich wirklich will, ist nur die gleiche Tabelle, die jeden Blatttyp auflistet. Dann werde ich eine Aktionstasten lassen, die ich auf all diese annehme. Ich lasse nur einen für den Zweck aus. Dieser Barton ist Zeh. Ich werde den Text schreiben. Also das ist Ah Reza auf HTML-Tag-Helfer hier. Richtig, also gibt es uns einen Aktionslink. Dies ist der Text, den ich sagen werde, Allocate toe Mitarbeiter. Andi,
ich möchte sagen, setzen Sie Urlaub als Aktion, die ich aufrufen wollte, dann wird der Parameter, der übergeben
werden soll, auf Ich werde alle Kommentare nehmen. Es wird ein i d auf dem i d übergeben werden wird I TEM, dass i d. Also neige ich dazu, dass Ideen von Modell an kommen. Denken Sie daran, dass unser Modell auf einer Liste aus verlassen Typ VM basiert. Also für jeden Blatttyp, wir gehen Zehe binden, dass ich d an diesen Knopf. Also, wenn wir auf diese Schaltfläche klicken, wird
es sehen Rufen Sie es sagen dies. Dies ist, was auf den Bildschirm sprintet. Was wird den Controller Andi nennen, Es wird in diesem Wert namens Idee Onda übergeben. Wir tun, was wir brauchen, um innerhalb des Controllers oder wirklich, die Aktionen. Es nennt diese Aktion. Entschuldigung. Also zurück in unserem Urlaub Zuteilung Controller Ah, wir können tatsächlich ein Modell erstellen, uh, benutzerdefinierte Auktion. Richtig? Also haben wir eine mit einer Reihe von Optionen generiert, oder? All diese,
die Kurden, werden generiert, aber ich kann eigentlich nur eine Sekunde buchstäblich genau richtig öffentlich erstellen, weil ich eine
Aktion will , die, weißt
du, sie hat einen bestimmten Namen, und es tut wahrscheinlich etwas Spezifisches, das die anderen nicht tun. Manche nennen es sitzen, gehen. Alles klar, dann. Set leave ist entworfen, um auf int Parameter namens I d
zu nehmen . Also werde ich eigentlich nur ein Bild für Sie malen, dann werde ich Ihnen zeigen, warum ich ein anderes Ansichtsmodell erstellen
werde und warum es immer eine gute Idee ist. Also möchte ich eigentlich ein Ansichtsmodell, das die Anzahl von Datensätzen sagt, die nach dem Ausführen dieses Vorgangs aktualisiert
worden wären . Es wäre schön, wenn ich einfach dieses Ansichtsmodell die gleiche Ansicht sowie den
Wert zurückgebe . Also ging ich zurück. Dann werde ich gehen, um Zuweisung v M Onda zu verlassen. Ich werde das nennen, also werde ich eine neue öffentliche Klasse erstellen. Ich werde es schaffen nennen. Lassen Sie unsere Standort-VM eingeschaltet. Dann wird dieser Fuß gehen. Haben Sie ein Eigentum abgebrochen. Zeit in auf wird sagen, Nummer aktualisiert auf dann diese. Es wird auch zu haben. Ah, Liste von Blatt Typ V EMS. Richtig. Es wird also sagen, dass die VM öffentlich eingeschaltet ist. Dies wird eine Liste von Blatttyp-VM sein. Also, jetzt werden wir einige Änderungen machen sonst So. Ah, was wir tun werden, wissen, dass wir wissen, was? Dies ist das Ansichtsmodell, das verwendet werden soll. Was ich tun werde, ist das bestehende Controller-Gericht zu ändern. Also hier haben wir das Blatt Zeit v ems, und dann sagte ich, das Modell ist gleich toe dies. Verstehen? Zu sagen, äh, abgebildete Urlaubstypen sind gleich der Liste vom Blatttyp, um diese Vehemenz zu verlassen. Denken Sie daran, dass wir das Modell laden, um das am wenigsten von Lyft IBM Schule aus der Datenbank zu sein . Nein, ich mache es nur noch eine Variable. Dann werde ich das reale Modell als gleich Onda erklären. Ich werde diese Mutter so einstellen, dass sie einem neuen Objekt entspricht. Off-Typ, Erstellen verlassen Zuweisung VM Alles in Ordnung, , dann. Zuteilung belassen. Veum hat zwei Eigenschaften. Eins ist Typ auf lassen. Ich sollte es verlassen Typen nennen, weil es eine Liste ist. Also es ist Relief-Typ, Also in Ordnung, ich mag es, sehr klar mit meinen Etiketten zu sein, und die Variablen sind in, also lassen Typen sind gleich gewickelt Blatt Steuer. Alles klar, Mehrere Glaubenstypen ist eine Liste von Blatttyp VM. Also bekommen wir das Blatt Times aus der Datenbank wurden sie von der Datenklasse zur View-Modellklasse zugeordnet, die referenziert wird, anstatt innerhalb des Ansichtsmodells, das wir gerade erstellt haben. Und dann, was ich tue, ist das Übergeben dieses Ansichtsmodells, das auf der Instanz dieses
Modells erstellt wird, gibt ihm den Standardwert von dem, was aus der Datenbank kommt. Onda, ich werde die Zahl aktualisiert, um gleich Null zu sein. Alles klar, darauf braucht keine zynische Antwort, dass zynische Einkommen nach der Brise auf, dann werde ich die Ansicht mit Modell zurückkehren. Also wurde meine Ansicht bereits generiert, um eine Liste zu sein, die den Typ Lyft I V.
M.erbt M. und es ist all das Zeug, das ich also einige Änderungen vornehmen muss. Andernfalls werden
sie Datenkonflikte sein. Erstens kann
das Modell nicht auf unzähligen Off-Typ-VM sein. Es muss eine Instanz aus erstellt Urlaub Allokation sein. Also werde ich nur das unzählige Schlüsselwort sowie die eckigen Klammern entfernen. Auf. Ich möchte ändern, ist der Typ zu verlassen, also erstelle ich Leave Allocation VM, wenn ich es nicht tue. Sobald ich das mache, wirst
du einen Haufen Fehler sehen. Also, nein, ich muss ändern, wo es nach dieser Liste sucht, weil es sich das
Modell ansieht . Also dieses Mal, da das Modell erstellen verlassen Allokation VM, muss
die Liste von der Eigenschaft kommen, jemand zu sagen, dass verlassen Typen. Also
habe ich wieder ein neues Ansichtsansichtsmodell namens Leave Allocation Veum erstellen erstellt, das die Listen-Off-Ansichtstypen sowie eine andere Eigenschaft und so viele andere
Eigenschaften enthält , wie wir mittlerweile notwendig sind, aber das ist, was es hat. Dann wird es das sein, das es wird das Modell für unsere Index-Seite sein. Aber dann, für unsere Auflistung wurden diese Liste innerhalb dieses Modells verwendet. Inside off model, ich bin eigentlich das, was ich tun werde. Entfernen Sie das einfach. Ich muss den Namen nicht aus der Ansicht auflisten. Lassen Sie Typen verstehen, um die statischen Textverlassen-Typen zu lesen. So verlassen Typen ist nicht wirklich der Schwerpunkt es. Also listet ich nur Ablasshähne auf. Ich habe nur eine Tabelle mit einer Spalte, die seine Urlaubstypen für eine andere Spalte ist, die vielleicht als Aktion hier und dann innerhalb der tatsächlichen Rose ist. Ich werde den Namen vom Blatttyp sowie die Aktionstaste haben,
die die Allocate Toe Employees bei seinem Aufruf ist. Die Aktion gesetzt verlassen verlassen in der gesamten Mitte von I d. So zurück in der Steuerung können wir anfangen zu bauen oder was oder setzen lassen. Ehemalige Sonne wird wirklich tun, wenn sicherlich Funktion kommt zuerst, dann müssen wir den Blatttyp finden. Das war schnell. Also übergeben wir das I D von den Blatttypen. Ich werde unsere Urlaubstyp speichern ist gleich und dann werde ich meinen Urlaub Bericht nennen
, der als Aufzug bezeichnet wird, wie ein wirklich es verlassen Typ Bericht nennen sollte. Aber ich werde durch i d finden
und dann habe ich darin bestanden, dass ich entwerte. Also nein, ich habe den Blatttyp. Mein nächstes Ziel ist es, die Zahl abzustellen, die mit diesem Urlaubstyp auf jeden Mitarbeiter, der im System ist, getrennt ist,
jemand, um ire Mitarbeiter gleich zu retten. Dann weiß ich, werde sehen, dass ich eine andere Abhängigkeit brauche, denn um die Mitarbeiter zu bekommen, die wirklich
Benutzer sind , gibt es, ah, Bibliothek oder Funktion in Identität integriert. Rufen Sie den Benutzer-Manager
an, richtig. Ich hätte auf den Benutzer-Manager geschaut, als wir das Datum aussaaten, und ich gehe einfach über ihre schnell und wir sehen hier, dass wir Benutzer-Manager haben, also bin ich eigentlich nur schnell zu Fuß. Kopieren Sie das dann. Ich werde essen, als Abhängigkeit in diesem Projekt injiziert. Also auf Anethe Mapper Astride privat schreibgeschützt. Also zeige ich es nur, während du weitergehst, du wirst erkennen, was ich brauche, oder so etwas wie diese Operation. Und so gehst du wirklich auf Put in der Funktionalität, weil du planen kannst. Aber Sie werden nie wirklich jedes einzelne Szenario von Anfang an beurteilen, also werde ich das einfach auf. Ich werde den gleichen Abhängigkeits-Injektions-Putter machen, und wir werde darauf verweisen. Unsere deklarieren es und dann werde ich die Instanz innerhalb des Controllers aufrufen Einige dieses Kopieren und Einfügen, um diesen Prozess zu beschleunigen. Andi, Sie kopieren nicht auf Frieden wirklich hilft Ihnen zu sehen, ob Zeit, wenn, solange Sie verstehen, was Sie tun, müssen
Sie nicht viel Zeit damit verbringen, richtig zu überarbeiten. So haben Sie jetzt Benutzer-Manager. Ich weiß, dass ich die Abhängigkeit habe. Damit ich es wissen kann. Rufen Sie das Benutzer-Manager-Objekt und sagen Punkt auf, dann haben wir zwei Mal aus Benutzern. Wir haben die im Angestellten. Wir haben die in der Anzeige Mineralien. Ich will wirklich nur Angestellte, oder? Also werde ich sagen, Benutzer-Manager Punkt auf, dann kann ich sagen, Benutzer in Rolle zu bekommen, so dass Sie sehen, Benutzer in Rollen auf, dann innerhalb von dieser Funktion Anruf. Es erwartet den Rollennamen als Zeichenfolgen-Soc-Mitarbeiter, weil das die Regel ist, die ich verwenden möchte. Dann sage ich Punkt auf Ergebnisse. Also, nachdem sagte nicht Ergebnis, tatsächlich die Liste der Mitarbeiter und dann ist dies zurück und ich Liste, das ist nur eine andere Art von Leasing. Es ist eine Sammlung von Mitarbeitern im System. Nein, was ich tun werde,
Wissen, dass das Blatt Zeit, die in Frage ist und haben die Mitarbeiter in Frage. Ich werde nicht alle Mitarbeiter durchlaufen und die Zuweisung entsprechend einrichten. Also für jeden Mitarbeiter, der hier ist, werde
ich bei der Eingabe in den Urlaub Zuteilung auf erstellen, wenn Sie daran erinnern, was unser Urlaub Zuteilungsobjekt. Unsere Daten. Ja, nun, was es aussehen muss, ist, dass das auch erzeugt wird. Wir geben die Anzahl von Tagen ein, die von dem Urlaubstyp kommt, den wir in das erstellte Datum eingeben, das wir vom Controller bestimmen. Wir referenzierten die Mitarbeiter von i d, was wir bekommen, weil wir von der Sammlung von den Mitarbeitern wissen, wir haben den Blatttyp I D auf. Wir werden den Zeitraum bestimmen,
das heißt, wenn es ist, wenn die Schaltfläche geklickt wird, um zu wissen, dass das Jahr, in dem es angeklickt wird, ist der Zeitraum richtig? Also, was ich tun werde, ist für jede Service-Straße für jeden zu sehen und zweimal nach oben gedrückt, und es hat das erzeugt. Und dann kann ich einfach sagen, m in Angestellten. Also das ist mir kein Durchgehen. Ich weiß nicht, wie viele Mitarbeiter da sind, also ich, für jeden ist ein schönes schnelles Gleitmittel, um einfach vom ersten bis zum letzten durchzugehen, ohne die Nummer richtig kennen
zu müssen . Dann werde ich so etwas wie Var sehen. Der Standort ist gleich neu, und ich erinnere mich, dass wir unsere Datenklassen nicht zu oft oder zumindest in diesem Stadium verwenden möchten, wir verwenden unser Ansichtsmodell und dann ordnen wir irgendwo zu sagen, neue verlassen ich Location VM auf, dann verwenden Sie meine geschweiften Klammern, um die -Initialisierung. Ich werde einfach das zynische unter von nein an setzen Dann für das erste Objekt oder die erste Eigenschaft, die ich brauche. Es gibt keine bestimmte Arterie Nach sagte diese Eigenschaften, Sie können es in jedem Viertel tun. So hat erstellt wird tote Zeit nicht wissen Komma nächste Eigenschaft Mitarbeiter ich d Sowden setzen Mitarbeiter, was ich sagen würde, die ich d Recht. So Mitarbeiter i d, der in der Datenbank gespeichert werden soll, wird ein leerer Punkt auf MPs sein, die von diesem
Objekt kommen . Es heißt also für jedes Objekt in dieser Sammlung von Objekten. Das heißt, jedes Mal, wenn es läuft, können
Sie über diese Eigenschaft auf diese Iterationsdaten zugreifen,
nur für den Fall, dass Sie nicht mit für jede Schleifen vertraut sind, also emp dot und dann kann ich die i d bekommen. können
Sie über diese Eigenschaft auf diese Iterationsdaten zugreifen,
nur für den Fall, dassSie nicht mit für jede Schleifen vertraut sind,
also emp dot und dann kann ich die i d bekommen. Also bekam ich, dass Mitarbeiter ich d auf dann der Urlaubstyp i d in Frage ist gleich toe I d. Weil Sie wissen, dass es aus dem Parameter kommt. Das ist die Idee, mit der wir es zu tun haben. Alles klar, dann gehen wir weiter und wir sehen Komma wieder. Anzahl Off-Tage wird gleich toe die Standardeinstellung, die mit dem Blatttyp getrennt wird, also sagen wir verlassen Typ. Das war früher abgeholte Punkte auf. Wir sagen, Standard ist in Ordnung. Dann c Komma auf welche andere Eigenschaft müssen wir setzen? Wir müssen auch Zeitraum festlegen und dann Zeitraum wäre das Jahr, damit ich etwas Idee
Zeit sehen kann , die ich nicht weiß. Aber dann will ich nur die Jahre, die ich gesagt habe, nicht wieder und nur den Jahreswert abgerufen
, der in der Tat und in der Tat
eine ganze Zahl ist . In Ordnung, kein natürlich. Wenn ich wieder auf kommen klicke, wirst
du sehen, dass es andere Eigenschaften gibt. Tatsache ist jedoch, dass diese Eigenschaften nicht in der Datenbank angezeigt werden. Ich muss sie nicht einstellen. Selbst wenn ich sie setze, müssen
wir zurück zur Datenklasse wischen und so würden sie trotzdem ignoriert werden, also lasse ich die in Ruhe. Also, was dies noch einmal tut, ist es das Abrufen der Urlaubstyp, für die sitzende
Zuteilungen waren . Es wird alle Angestellten auf abrufen. Dann wird es für jeden Mitarbeiter sagen, erstellen Sie eine Zuordnung. Nein, ich sehe bereits eine Art Lücke in dieser Logik, denn wenn ich dann fünf Mal kränklich klicke, wird
es
jedes Mal fünf verschiedene Sets von Zuweisungen für die gleichen gestaffelten Mitarbeiter erstellen . Also, was ich tun möchte, ist irgendwie auf if-Anweisung gesetzt, wie ein wenig Kontrolle zu sagen, OK, ich habe einen Mitarbeiter oder ich habe die Sammlung für diesen Mitarbeiter, gibt es eine Zuteilung für diesen Urlaubstyp für dieser Zeitraum bereits, wenn es gibt, dann tun Sie nichts anderes weiter. Ich kann auf die Aussage drinnen sitzen und so etwas sagen wie, wenn und dann hier können wir kreativ werden. Ich kann entweder zurück in das Urlaubs-Allokation-Repository gehen und Ah,
vollständige Berichtsfunktion für das einrichten , was meiner Meinung nach bevorzugt wäre. Also werde ich die if-Anweisung verlassen, wenn Anweisung benötigt wird. Aber ich wollte schreiben, dass Sie hier erzählt haben. Aber ich denke, dass das Meer für wir wäre, nur die Repository-Funktion zu erstellen Jemand zu gehen, um ein Standort-Repository zu verlassen zuerst, Ich werde den Vertrag auf Urlaub zu finden, meldet die Allokation Repository auf. Dann werde ich so etwas wie Scheck sehen. Ich sehe deinen Sohn aus und überprüfe dann, dass die Zuteilung einen Umfang von Einheiten abnimmt, verlasse Typ I D. Andi. Es wird auch einen Angestellten nehmen ,
und das wäre eine Schnur. Also String beschäftigen e i d.. Oh, und diese Rückkehr, das wäre Anlagebarren. Es wird also Anlagebarren sein. Überprüfen Sie einen Standort auf dann abseits des Kurses. Wenn ich das in den Interferes mache, dann nach der Implementierung in der tatsächlichen Repository-Klasse, also werde ich nur Interferes implementieren. Wenn ich dann die Zuweisung überprüfe, muss
ich etwas mit Mitarbeitern zu tun haben, was bedeutet, dass ich diesen Mitarbeiter abrufen muss. Nun, ich brauche keinen Manager. Eigentlich ich es wirklich nicht, also Oh, und ich werde auch in der Zeit passieren, also werde ich sehen, Nun, nein, das kann
ich nicht im laufenden Betrieb feststellen. Das kann ich im laufenden Betrieb feststellen. Es tut mir leid. Es gibt so viele Möglichkeiten, dieses Ding zu tun, das getroffen hat. Ich denke laut nach. Also hier ist, was ich tun werde. Also für diese Funktion an, ich nehme auf Praktikanten entlasten Typ I D und einen String Mitarbeiter I d. Alles klar, also hier drinnen, werde
ich unsere Zeit retten, ist gleich die Zeit, weiß nicht, Doc Jahr. So wie die Funktion genannt wird, weiß
ich, womit Pierre und wir arbeiten. Dann werde ich sehen, Rückkehr an, dann kann ich eine Funktion aufrufen, die bereits hier ist,
die vielleicht auch finden, dass alles bereits den Steinbruch laufen wird, um alle
Urlaubsanweisungen in den Systempunkten zu bekommen . Dann sehe ich, dass wir jemand sind, der einen Lambda-Ausdrücke erstellt. Also diese Suche alle Funktion gibt eine Sammlung zurück oder wo immer Sie eine
Sammlung mit seiner A-Liste auf Mary zurückgeben , können
Sie Lambda Expressions verwenden, um sie irgendwo zu filtern, um zu sehen, wo q angedockt wird, um zu überprüfen, ob der Mitarbeiter I d. Ist gleich dem, der reinkommt. Also, wenn die Mitarbeiteridee in diesem Datensatz gleich dem eingehenden Mitarbeiter ist ,
dann kann ich mehrere Bedingungen an Bord schaffen. , Also, wo dieser Mitarbeiter ich d in der Aufzeichnung gleich dem eingehenden ist. Andi, der Blatttyp aus den Aufzeichnungen Acuna verlassen Typ I D. Ist gleich dem Blatt Typ I d kommt aus unserem Umfang Onda. Wieder einmal ist die Periode, die Sie Punkt Periode erreicht Zehe die Periode, die wir gerade über dieser
Linie rechts auf meiner linken Seite setzen ungleiche Seite hier einige sehen finden alle. Also bekomme ich alle Urlaubszuweisungen,
aber ich möchte, dass sie alle waren Diese Bedingungen erfüllt sind, dass die Mitarbeiteridee mit
diesem Blatttyp I d in diesem Zeitraum existiert . Und dann ist die rote Linie da, weil dies eine Sammlung zurückgibt, die diese
Kriterien erfüllt sind, sind dieses Kriterium. Also meine Funktion ist es, einen Stier zu erwarten. Also, dann kann ich einfach sagen, dot any, so dass jeder nur sagen
wird, gibt es etwas in dieser Sammlung? Ja oder nein? Das ist alles, was ich wirklich will. Filtern Sie die Sammlung, und sagen Sie mir, ob Sie irgendwelche Aufzeichnungen haben. Also dann haben wir einfach Ja oder Nein für diese Operation zurückgegeben. In Ordnung. Also,
da wird es, könnte jemals in diesem in mehreren Zeilen. Aber ich zeige Ihnen nur die Po off Lambda Ausdrücke und ich werde das Land verzweifeln, dass jeder Punkt, damit Sie es sehen können, wissen
Sie, irgendwie definierter. In Ordnung, also mit dem, wo wir so viele Tanten an haben können, genau wie all dein Bereitschaftsteam mit Anson. Oder du kannst das damit machen. Waren Aussage dort. Dann sind wir Hühnchen. Die Zuteilung jemand, um dies zu sehen und dann zurück zu unserem Controller irgendwo zu gehen, um
alles zu schließen , was nicht unbedingt notwendig ist. Also zurück in die Kontrolle und ging zu sehen, ob auf, dass ich sagen will, verlassen Allokation Bericht angedockt. Überprüfen Sie die Zuteilung auf dann, für den Cheka-Standort. Ich übergebe den Blatttyp I d, der durch die Parameter hereinkommt, auf die ich d dann werde ich auch imp dot i d als Benutzer oder die Mitarbeiter übergeben, die ich d auf. Dann sehe ich, ob das wahr ist, dann will ich brechen. Das ist ungenau, möchte
eigentlich fortfahren, so kurz würde die Schleife beenden. Was weiter würde nur sagen Überspringen Sie diese Iteration. Also, wenn es eine Zuteilung für diesen Urlaub I d auf diesem Mitarbeiter auf waren vor der Feststellung , dass dieser Vorgang wird nur in einem bestimmten Zeitraum ausgeführt werden. Dann überspringen wir diese Iteration. Wenn es auf diese Bedingung zurückkommt nicht erfüllt ist, dann wird es weitergehen und das Urlaubsobjekt erstellen. Dann brauchen wir jemanden, der unseren Urlaub rettet. Ein Standort ist gleich, und dann rufen wir unsere Mapper Punkte Mopp auf. Dann können wir eigentlich nur mop und sehen das Zielobjekt. Also mappen wir auf das Zielobjekt aus. Verlassen Sie einen Standort. Die Datenklasse für das Objekt, das in dieser Richtung zugeordnet wurde, ist eine Position. In Ordnung, also meine ich, ich habe hier einiges getan, das kann sein. Ich hoffe, Sie haben aufgepasst. Wenn Sie irgendwelche Schwierigkeiten auf dem Weg haben, fühlen Sie sich frei, mich zu erreichen, helfen Sie. Aberweißt
du, weißt
du, das ist irgendwie das, was passiert, wenn du baust. Diese Unternehmenssysteme haben für diese verschiedenen Szenarien auf Sie müssen
flexibel sein , weil alles, was sich im Geschäft der Kriminellen ändern kann auf unerbittlich Geschäftsanforderungen ändern und Geschäftsregeln sind buchstäblich nur eine Reihe von vier Schleifen und einen Haufen aus. Wenn Aussagen an den richtigen Stellen, das ist, was Sie bekommen. Die Ergebnisse, die Sie brauchen, auch nach diesem Jahr Gericht kann immer noch nicht so perfekt sein, wie Sie
es sein müssen . Alles klar, also noch einmal, ähm, durchlaufen alle Mitarbeiter, die überprüfen, ob sie bereits eine Zuteilung für den
Zeitraum haben , wenn sie nicht stehen, bauen
wir ein Objekt aus dem Ansichtsmodell Typ. Dann ordnen wir das Objekt der Datenklasse auf. Dann sparen wir. Nein, wir sagen nicht Entschuldigung, wir fügen hinzu. Also sage ich, hinterlassen Sie einen Standortbericht, erstellen Sie auf. Dann gehe ich das Urlaubsobjekt in einigen erstellen, dass die Allokation Ordnung ist, und dann, nachdem all diese Kreationen dies tun, wird
es für jeden Mitarbeiter erstellen. Es schafft diese Zuteilungen. Letztendlich ist
all dies eine Richtung, in die Sie gehen müssen, ob es eine Ansicht zurückgibt oder es nur umleiten wird, um einige tatsächlich
nur belüfteten umgeleiteten Index zu indizieren. Und ich leihe das Gericht von unserem Urlaubstypen Controller. Wir sehen, dass Sie sagen können, Umleiten Sie die Option auf Sie können es einen Namen geben. Jemand Zeh. Kopieren Sie das auf. Ich werde Redirect to Index sehen. , Was ich nicht getan habe,war die aktualisierte Nummer zu aktualisieren, und ich werde Sie tatsächlich herausfordern, das zu tun. Also werde ich es machen. Ich gebe den Quellcode an. Aber ich fordere Sie Zeh tun, dass, wo Sie gehen, um eine tally aus nach Hause nehmen viele Male diese Lupron so ziemlich auf dann auf das Modell hinzugefügt. Und wenn Sie dann umleiten, haben Sie dieses Modellobjekt im Index übergeben. Dann zeigen Sie diese Zahl auf der Indexsprache an, so dass das klingt wie ein Bissen. Aber ich denke, wir haben die harte Arbeit in diesem Video gemacht. Wieder einmal haben wir eine Reihe von Geschäftslogik zum tatsächlichen Aus hinzugefügt. Ah, Ort. Es gibt mehr Logik, die wir hinzufügen könnten, wo wir von Fall zu Fall, bestimmt ganz entlang Dieser Mitarbeiter war mit der Organisation gewesen. Weil wir ein gemeinsames Objekt innerhalb unseres Mitarbeiterobjekts haben,
das tatsächlich ein bisschen mehr Modifikation erfordern würde. Weil wir ein gemeinsames Objekt innerhalb unseres Mitarbeiterobjekts haben, Aber ich will nicht mit zu viel überwältigt werden. Einmal war dies ruhig und Aktivität. In dieser Aktivität haben wir uns also mit mehr als einem Repositories beschäftigt. Unsere Abhängigkeit ist von innen und außen. Articular Controller, haben wir uns die Erstellung eines benutzerdefinierten Ansichtsmodells auf. Wir haben uns die Änderung einer Seite angesehen, um genau das zu tun, was wir wollen. Also als letzten Akt, wir gehen einfach in de Boot auf dem Test festgemacht gehen Unsere neue Funktion. Jemand sagte eine schnelle, ah, Pause Punkt dies die Aktion und dann werden wir unsere Anwendung testen. Jemand wird Zuteilungen hinterlassen. Oh, ich muss einrichten und Sie setzen einfach die Links alle und ich werde den Link innerhalb des
Herrn jemand setzen , um aus Debugging vertäut. Gehen Sie zurück zur Lösung, suchen Sie die freigegebene Ansicht. Das Layout auf für das Verknüpfte, um Allokationen zu verlassen, zu
verstehen, auf vorhandene zu kopieren, und fügen Sie es dann hier ein. Dann ist dieser Controller Leave a low key Sean. Verlassen Sie Zuteilung, lassen Sie
keine Zuweisungen. Software scheinbar sehr vorsichtig mit diesem Frühjahr zu sein. Also gehen wir zurück in den Debug-Modus und Australien. Alles klar, StarLink-Arbeit. Du siehst also, dass wir etwas Verfeinerung machen können, oder? Wir haben hinzugefügt,wissen
Sie, wissen
Sie, einige Bootstraps Stil Starling, so könnte einige Stile hinzufügen und nehmen Sie die Bar, die Rohr. Aber das lasse ich für später. Ich überlasse Ihnen Ihre Seite zu verschönern, aber noch wichtiger ist, wenn Sie über den Link sind, den Sie in der unteren linken Ecke sehen, ruft
es Set verlassen oder setzen Autos, die mit dem Urlaub Typ I D verlassen. Als Parameter richtig? Also, für Krankheitsurlaub, ähm, mit einem Klick, Allocator-Mitarbeiter, und dann widerstanden leuchtet, weil es den Bruchpunkt erreicht hat. Dann kommt es auf die Idee. Jemand Zehe springen vor Lyon 54 an welchem Punkt es beginnt die für jede Schleife aan den. Es kriegen alle Angestellten. Ich bin gerade über die Angestellten Objekte gegangen. Sie sehen, dass wir drei Mitarbeiter sind. Dies sind also die drei Benutzer, die in der Mitarbeiterrolle in der Datenbank sind. Alles klar, auf, es hat bereits den Urlaubstyp für alle Details und Bedürfnisse für diesen Blatttyp, was der Standard wäre. Ist etcetera, etcetera auf Cent, eigentlich, nur Fuß Fuß. Setzen Sie einen Bruchpunkt an dem Teil, an dem der Blatttyp erstellt werden soll. Also werde ich nur den ersten Bruchpunkt entfernen und fünf drücken, so dass es weiter geht. Dann die 1. 1, die eine bekommen würde Haben Sie hier das Urlaubsobjekt gesehen wurde
darauf erstellt hat den Mitarbeiter i D. Es hat den Blatttyp i d. Die Anzahl Off-Tage und der Zeitraum von 2020 auf auch das erstellte Datum. Wieder einmal werden
sie keine Werte sein, da die Datenklasse selbst das Mitarbeiterobjekt
sowie das Blatttypobjekt There on hat .
32. Module – Employee: Hey, Leute, in dieser Lektion werden
wir unser Urlaubszuweisungsmodell fortsetzen, was wir tun werden, ist die Einrichtung der Override-Ansichten oder der Overadd Funktionalität, was
bedeutet, dass wir dem Admin-Benutzer erlauben sollten, der Mitarbeiter, sehen Sie die Zuordnungen und bearbeiten Sie die Zuordnung auf einem Sie wissen, eine individuelle Basis, wenn nötig. Also werden wir in einige Arbeit setzen unsere eigene in diese Funktionalität setzen. Aber bevor ich damit fortfahre, möchte
ich nur die Modifikationen präsentieren, die ich auf dem Bildschirm meine. Das letzte Mal, dass wir diesen verlassen Zuteilung Bildschirm,
alles, was da war, war nur der Link Toe. Die Lee, die Allocator Mitarbeiter werden nicht. Sie können sehen, dass es ein grüner Knopf ist. Zumindest wird es grün, wenn ich schwebe. Also, was ich getan habe, war die Bootstrap-Klasse hinzugefügt, und ich habe auch das Fünf-Symbol oder das vordere Awesome hinzugefügt. Tut mir leid, dass ich den Knopf für den Bleistift nicht kicken konnte. Ich teile nur die Gerichtsmodifikationen, die ich meine, die ursprüngliche Schnur wäre ein jeden Tag gewesen, der unseren Helfer per E-Mail geschickt hat. Also haben wir die Schätzung Helfer, und dann können wir die Fähigkeit haben, mehr natives HTML mit ein paar,
Sie wissen schon,
Schlepphilfen auf dem Weg zu schreiben Sie wissen schon, . Also werde ich nur vergleichen, damit Sie genau sehen können, was einer der beiden
erreichen konnte . Nein für den Aktionslink hätten wir bis zu so viel schon gehabt. Was ich getan habe, war Atacama auf DSI neu auf dann starten Sie einen neuen Abschnitt in diesem Aktionslink blockieren vor Gericht und fügen Sie eine Klassennachricht hinzu. Die at Zeichen Klassen gleich toe und dann war ich in der Lage, die Bullshop-Klasse hinzuzufügen. Dies hätte den grünen Knopf gegeben, und das ist in Ordnung. Aber dann wollte ich den Bleistift darin und es hätte einige Einschränkungen gegeben, wenn man den
Aktionslink benutzt , der für uns generiert wurde. Also ändere ich mich einfach. Es sollte das entsprechende Anker-Tag suchen Gericht, wo wir das gleiche haben Nun, es ist ein Onkel Angriff, der uns eine Verbindung gibt. Wir haben in den gleichen Klassen, die Bt in, aber der Sommer verwenden Bt und dash skizzierte Dash-Erfolg. Deshalb wissen Sie, dass es weiß ist, bis Sie den Mauszeiger darüber bewegen. Es wird grün, oder? Also, das ist Bt und Dash skizziert, Strich erfolgreich. Also für jede der Tasten mit diesem Erfolg Die verletzte primäre Sie auf Oland
Alternative haben . Also, wenn Sie nicht wollen, um Koliken zu entscheiden und verwenden Sie die alte Linie und dann habe ich
die SP-Aktion , die verlassen Notiz gesetzt wird, die mit dem übereinstimmt, was wir in der Aktion Abschnitt aus für die Aktion Link auf dann haben SP dash Road Dash i D, das ist der Roading-Wert, der in die Menge übergeben werden muss, lassen Sie Aktion für sie Spur zu berechnen, die hier dargestellt worden wäre, wo wir gesagt, neue undan in Abschnitt Ideen gleich ihm zu handeln, dass s so ist es wirklich das gleiche Gericht. Außer ich war in der Lage, einfügen, dass ich für dieses Symbol ziehen in den Fonds genial Klassen übergeben , die für diesen Bleistift benötigt werden. Das ist also ein Nebeneinander Vergleich aus. Was entweder kalt gewesen wäre, hätte man das solide Grün erbracht und das solide Grün wäre die Aktion. Lincoln beachten, dass es keinen Bleistift hat, den ich gewährt habe. Ich hätte es bekommen, um auf die Online zu schauen, wenn ich wollte, aber die Tatsache ist, dass
ich den Fonds Awesome Symbol da nicht bekommen konnte und dann das ist, was ich getan habe, um diesen Fonds zu bekommen . Tolles Symbol. In Ordnung, also meine ich, ich zeige es dir nur, falls du es selbst versuchen wolltest. Nein. Wie ich für heute Morgen sagte, was wir tun werden, ist die Ansicht der Angestellten zu sitzen, eine Liste von Mitarbeitern in der Firma auf. Dann werden sie in der Lage sein, die Zuweisungen zu sehen, die dieser bestimmte Mitarbeiter hat dann und es, wenn Frau oder sogar löschen. Jetzt für heute Morgen. Ich gehe zurück zu meinem Urlaub Zuteilung Controller Onda, weiter auf der gleichen Vene. Wir werden nicht nur die Standardaktionen verwenden, die generiert wurden, sondern wir werden eine Menge von unseren eigenen Aktionen erstellen, die erreicht haben, was wir wollen. Die nächste Aktion wäre also die Einrichtung einer Ansicht für die Liste der Mitarbeiter. Richtig? Also werde ich eine neue Aktion erstellen, dann werde ich Action sehen. Nun, ich werde Aktion erstellen, indem ich öffentliche Aktionsergebnisse sehe. Dann werde ich diese eine Liste Angestellte nennen und dann die Mitarbeiter auflisten, die buchstäblich das tun werden. Listen Sie die Angestellten
auf, richtig? Also, um die Mitarbeiter zu bekommen, werde
ich unsere Mitarbeiter retten ist gleich Andi, um die Mitarbeiter in das System zu bekommen. Ich werde nur dieses Gericht wiederverwenden scheint, ich kann buchstäblich diese Zeile angeben, weil ich es wieder verwenden
werde. In Ordnung, Sie sehen
also, dass sich viele Gerichte auf dem Weg wiederholt,
aber dann, aber dann, basierend auf der Art, wie Sie schreiben, dass Sie es ein oder ein paar Mal ändern können, basierend auf Ihrer Architektur. Die Verwendung des Repository-Musters, das er sieht, war also für uns, den zugrunde liegenden Code zu pflegen und einfach die Verweise auf das Kabel zu wiederholen, wodurch Änderungen und Wartung auf dem Weg erleichtert werden. So haben wir unsere Mitarbeiter gleich dem Benutzermanager geben alle Benutzer in der Mitarbeiterregel zurück. Dann wollen wir diesen jemanden wischen, um unser Modell zu retten, ist gleich, und dann sehen wir ihn Oper angedockt und abwischen. Dann kann ich einfach sagen, ich möchte Zeh dieses Modell Typen wischen. Ich kann eine Liste sehen auf, dann öffnen Sie das Listen-Tag wurden in den Typ gesetzt und der Typ hier sind Mitarbeiter die M. Also haben wir das Ansichtsmodell nur für die Mitarbeiter auf gemacht. Dann werde ich die Wert-Mitarbeiter übergeben. Also noch einmal, ich mache mir Sorgen um alle Angestellten in dieser Regel. Dann wische ich sie nur zu meiner Ansichtsmodellklasse auf. Dann werde ich die Ansicht mit dem Modell zurückgeben, das übergeben wird und das dann schließen. Also, wenn diese Aktion aufgerufen wird, wird
es alles bringen, was für alle Mitarbeiter auf dmat sie zu choren wird, in das Ansichtsmodell bringen. Also bin ich mit generieren von, Sie wissen, genannt Liste Mitarbeiter, und ich buchstabierte Mitarbeiter falsch hier, so dass die Mitarbeiter Alles klar, so dass ich mit der rechten Maustaste klicken Sie auf Ansicht gehen, um das Modell zu wählen. Die Vorlagenliste. Die Modellklasse wird dann Mitarbeiter VM sein. Normalerweise benötigen wir, wenn wir Ansichtsmodelle verwenden, die Datenkontext-Klasse wirklich nicht, damit wir das auf klären können. Dann klicke ich auf Hinzufügen. Also in unseren Ansichten erstellt, können
wir kleinere Anpassungen vornehmen. Wir können den Platz für Listenmitarbeiter in dieser Phase setzen. Ich möchte nicht, dass jemand in der Lage ist, einen Mitarbeiter zu erstellen,
jemand, der Referenzspitze dieses Links entfernt, auf dem ich einfach die Kopfzeilen für die
Tabelle verfeinern kann , also möchte ich nicht, dass ich nicht will, Nun, denn unser Kontext sind die Bisher habe ich Benutzernamen und E-Mail als dasselbe verwendet. Sie haben den gleichen Wert, also brauche ich nicht beides, aber Sie können beides behalten, aber ich brauche nicht beides. Also, was ich wirklich frage, ist zumindest die E-Mail. Ich brauche keine vollständige Nummer, um in der Liste aufgeführt zu werden. Vielleicht kann ich die Details eines Mitarbeiters schlagen, aber ich mache auf Vor- und Nachnamen und möchte das eigentlich, bevor ich die E-Mails sehe, ich ordne nur meine Kopfzeilen für die Tabelle um, wie ich es für richtig halte. Richtig. Ähm und ich brauchen nicht, um die Steuer zu sehen, ich d das Geburtsdatum und ich kann das Datum schließen lassen. Nun, ich kann es lassen. Ich kann es abgraben. werde ich es ausziehen Eigentlichwerde ich es ausziehen. Also erwarte ich wirklich nur, den Vornamen,
Nachnamen und die E-Mail-Adresse von den Mitarbeitern zu sehen . Also, natürlich, wenn ich selten die Header bin, dann muss ich wirklich den Helden oder die Spalten in den Regeln neu anordnen, die im laufenden Betrieb
generiert werden , also müssen sie sich aufstellen, damit es sinnvoll ist . Also entferne ich, was nicht relevant ist, um ich d zu sein. Benutzername nahm eine zu viele Zeilen ab. Natürlich, Es auf, wir wollen Vorname und Nachname über der E-Mail-Adresse ein Umzug diejenigen dort auf dann alles unter E-Mail-Adresse bis die Aktionsspalte als Überschuss gilt. Also dann, für die Aktion verbindet die Aktionen der Zeit erlaubt an diesem jetzt beteiligt Betrachtung vielleicht die Details aus diesem Mitarbeiter. Also werde ich gutherzig Polster. Nein. Wenn sie also auf den Link Details klicken, werden
sie alle Informationen dafür sehen. Angestellte. Du kennst all diese zusätzlichen Balsam, Bits off Informationen, die wir gerade über Angestellte herausgenommen haben. Sie werden alle dort aufgelistet, sowie alle außer den Urlaubsanweisungen für diese Mitarbeiter. Also will ich nicht, dass sie jemanden bearbeiten können, um diesen Eid abzulegen. Und ich will nicht, dass jemand sicher auf löscht. Ich ziehe einfach die Bar an. Dann, wie ich sagte, Ich will mich treffen. Meine Details würden nicht ähnlich aussehen. Zehe den Allocator-Mitarbeiter-Button, den ich dir zu Beginn des Videos gezeigt habe. Also alles, was ich tun werde, ist zu dieser Seite zu gehen, kopieren Sie den Akkord und kommen Sie zurück, fügen Sie ihn ein, damit ich das einfach entfernen kann, oder ich kann mich verpflichten, die Kontrolle und Person gedrückt halten. Casey, das ist ein schnell kommentierendes Gericht. Also werde ich das nur ändern, wo die Aktion dieses Mal sein wird. Details. Onda schrieb, i d bleibt das gleiche, was der Gegenstand ist, den ich d Also denken Sie daran, dass dies ein vier Ritual ist, das jedes Element
im Modell durchläuft und Modell eine Sammlung von Mitarbeitern ist, basierend auf dem Ansichtsmodell, ähm, Theatertyp rot. Also verbinde
ich für jeden Artikel nur dieses besondere ich mit jedem Mitarbeiter, der diese Zeichenfolge erfüllt. In Ordnung, ich werde das ändern. So ist es Ansicht. Details sind können nur Details sein. Alles klar, auf den Stift. Also will ich keinen Bleistift. Stattdessen würde
ich wahrscheinlich mit dem Suchknopf gehen. Also der Künstler Suche Icon eher So suchen. In Ordnung, also für diese Suche. Nein, ich weiß nicht, ich habe mich die nicht auswendig gelernt. Wann immer ich etwas brauche, gehe
ich einfach zurück zur Dokumentation und finde eine, die passt, was ich will. Also diese Angelegenheit, die uns geben wird, wie ein kleiner Lupenknopf. Das nächste, was ich tun werde, ist, dass ich die Schicht einbinden werde. PH Ich habe, ah Link hier für Mitarbeiter so verwalten und Mitarbeiter. Ich werde diesen Controller bei Tagesaktion einrichten, wenn diese Attribute eingerichtet werden sollen. Ich werde nur jedes F entfernen. Dann würde der Controller verlassen Zuweisung auf die Aktion dieses Mal wäre Liste
Mitarbeiter sein . Wenn ich also auf Mitarbeiter klicke
, gehen wir auf die Liste der Mitarbeiter. Ich mache das richtig. Nein, später können
wir es verfeinern. Aber ich mache das gerade jetzt, weil ich bereits so viele Artikel habe und ich im Grunde diese Funktionalität hier
erstelle. Na gut, dann
weiter. Ich werde dies auch nur in einer Datentabelle treffen, um es in eine Datentabelle zu verwandeln. Ich schaue nur zurück, was ich mit Urlaubstypen gemacht habe. Einige wollen da rüber gehen, machten die i d.
T. T. B der Daten. Also kopiere ich das nur. Du siehst also, wenn du es einmal machst. Wenn du dich daran erinnerst, dass du es getan hast. Sie müssen nur das Gericht, das Sie bereits an Andi gearbeitet haben, nur
wissen Sie , ähm, es ist schon da. Sag
mal, nutze es einfach. Also Oh, ja, ich habe bereits dieses Skript aufgenommen, das alles mit den i d
T.
B O Daten in eine Datentabelle ändert T. . Also buchstäblich, das ist alles, was ich tun musste, wegen der ganzen Anstrengung im Gericht nur an der I d gleich
Tibia-Daten . Jetzt, da ich all dies getan habe, werde
ich ausführen oder einfach in meinen Browser-Link gehen, den Browser
starten, dann werden wir unsere Änderungen so weit bewerten. Alles klar, wenn Sie
also einen Pfeil Pidge haben, ist
es sehr, weil Sie Broza Link bereits serialisiert hatten. Es unterstützt nur eine Instanz Wenn Sie es
also bereits geöffnet haben, es sich beim zweiten Mal wird
es sich beim zweiten Malanfühlen. Aber so oder so, ich habe es hier bereits geöffnet, also gibt es wenig Manage Mitarbeiter an. Dann werden wir einen kleinen Fehler bekommen, also beurteilen Sie die Ära. Und dann sage ich dir genau, was hier passiert. Also zuerst gelogen und
sagte, dass es einen Mapping-Fehler zwischen Mitarbeitern zu Mitarbeitern gibt. VM Andi Es gibt einige. Es lässt uns also wissen, dass es Konfigurationen für Mitarbeiter und Mitarbeiter gibt. - Veum. Okay, aber dann, nein, sie sehen sich später. Tun Sie nicht, dass es so viel zwischen SB Dot Net Core-Identitätsbenutzer verpassen. Andi Leave Management up Geld Ist, dass die M, die Mitarbeiter VM Genauer gesagt, es sagt uns, dass es ein Problem Zuordnung aus der Liste von Mitarbeitern VM auf Tür Modell Mitarbeiter. Gehen wir zurück zum Gericht, schauen wir uns genau an, was wir verpasst haben. Wenn wir also auf unsere Liste zurückgehen, nehmen
wir einen genaueren Blick auf die Datentypen, die zurückgegeben werden, dann erkennen wir,
dass Barangestellte ,
die alle Mitarbeiter bekommen, tatsächlich ah, Datenzeit genannt Identity User. Und wenn Sie sich daran erinnern, Identity User ist dieser basierte Datentyp, der dot net core uns gegeben hat, um jeden Benutzer im System zu vertreten, richtig, Also wir bekommen wieder Identitätsbenutzer, aber wir mappen die Mitarbeiter VM und wenn wir gehen Sie zurück zu unseren Karten, also werde ich Lot und Karten wischen,
und dann sehen wir hier, dass wir nicht für die Mitarbeiter VM Mapping Toe
Identitätsbenutzer , aber wir sind auf der Zuordnung zu Mitarbeitern wissen eine Reihe von Dingen, die spielen. Und ich werde das nur erklären, weil wir einige Änderungen vornehmen werden und ich werde alles
erklären, wenn wir mit den Mitarbeitern zusammen gehen. Erinnern Sie sich, dass die Data Class-Mitarbeiter und ich nur die Kontrolle halten und klicken, also wird es zu der Klasse springen, die sie vom Identitätsbenutzer erbt. Also, dann sehen Sie wahrscheinlich in Ordnung,
Also, wenn es von Identitätsbenutzer an erbt, haben wir es in der Vergangenheit austauschbar in der Handlung verwendet. Warum ist das so ein Problem? Nein. Nun, wenn wir über Identitätsfunktionalität in unserer Anwendung initialisiert haben, hätten
wir sie mit Identitätsbenutzer und nicht mit Mitarbeitern initialisiert. Wenn wir also sehr genau auf die Daten schauen, die zurückkommen, wenn wir im Betrieb tun, wie einfach zum Controller zurückgehen, als ob alle Mitarbeiter alle Benutzer in der
Regel bei der Rückkehr auf den Identitätsbenutzer sind , bedeutet dies, dass
es Rückgabe alles außer dem Vornamen auf den Nachnamen, und das Datum verbunden auf der Steuer i D, die alle Dinge, die wir später durch Hinzufügen oder Mitarbeiter Datenklasse hinzugefügt. Mit anderen Worten, wenn Daten verwendet werden, wenn Sie verwenden, verwenden Sie einen Manager, richtig? Nein, da es für die Verwendung mit identitätsbenutzer initialisiert wurde. Keine dieser Felder kommen zurück, was ein Problem für unsere Listenmitarbeiter ist, weil wir versuchen, den Vornamen, den Nachnamen und
die E-Mail aufzulisten . Und es ist ein größeres Problem, weil wir nicht für die Zuordnung von Identitätsbenutzern zu jeder Ansicht Modell Mitarbeiter-VM berücksichtigen. Dies wird also ein wenig feuerfest in unserem Kabel auf seiner einzigen natürlichen Funken, weil Sie mit dem Standard beginnen würden. Aber dann willst du mehr drauf. Sie müssen verstehen und schätzen die Änderungen, die Sie brauchen, um zu erleichtern, desto mehr in kleineren Worten auf zu wissen, mit nur Identitätsbenutzer war völlig in Ordnung, wir erkennen, dass wir die
zusätzlichen Daten sehen brauchten , , die in der Mitarbeiterklasse ist. Also, was wir tun müssen, ist über Identitätsfunktionalität von initialisieren, oder starten Sie Nazis Datei. Mit unserer Mitarbeiter-Datenklasse wird es vollständig akzeptiert, weil Mitarbeiter, als Datenklasse, verkörpert bereits alles, was innerhalb Identitätsbenutzer auf dann einige ist. Alles klar, woran wir gerade interessiert sind, ist das und dann einige, weil wir
alle Identitäten dort haben . Also werde ich Schritt für Schritt gehen. Es ist immer noch, was Änderungen passieren müssen, also werde ich zuerst den Status Schule auf Ich werde Identität ändern Benutzer stören. In Diensten, die Standardidentität hinzufügen, ändere
ich den Identitätsbenutzer die Mitarbeiter dann für jede andere Instanz aus. Einige Initialisierung sind einige Anspielung auf den Identitätsbenutzer. Ich musste Mitarbeiter sehen, einige kopieren das einfach auf dann unten. Denken Sie daran, dass wir Benutzer-Manager und Roll-Manager ihren Manager genauer verwenden . Benutzer-Manager. Keine Notwendigkeit, Mitarbeiter im Meer zu verwenden Daten Wir werden eine Ära bekommen, weil es über Identitätsbenutzer wissen, Zehe Kontrolle zu halten. Klicken Sie auf diese Funktion. Springen Sie dahin,
überall, wo Identitätsbenutzer waas Ich werde nur anfangen, mit Mitarbeitern zu ersetzen, alles Ordnung, Abwehren von Kurs, wenn es nicht bereits enthalten ist, was es nicht sein würde, Ich werde nur die Steuerung verwenden, die angedockt ist, damit es die Referenz enthält Nein, wir könnten das eins nach dem anderen tun, aber es wird sehr langweilig werden. Okay, also, als ich die Angestellten hier ersetzt habe, als in andere Länder erschienen, weil es
Angestellte erwartet . Aber ich füge vier neue Identitätsbenutzer hinzu. Ich muss vier neue Mitarbeiter hinzufügen, indem ich Mitarbeiter sehe. Dies öffnet mich die Anzeige alle anderen Felder, die ich meine, nicht hinzufügen konnte, weil ich nur Beweise für den Benutzer verwendet. Denken Sie daran, wenn wir unsere Zerstörung ändern Seite wurden auf Mitarbeiterklasse hinzugefügt. Ich bin nicht die Identitätsbenutzerklasse, weil wir die zusätzlichen Felder oder den Vornamen wollten. Nachname ist etcetera. Also nein, ich muss sicher sein, dass überall in meinem Projekt, das Benutzer-Manager hatte, signieren Manager auf Identitätsbenutzer Keine Referenzen, Mitarbeiter. Und der Grund für diese massive Änderung in der Anwendung ist, dass wir sie
mit Mitarbeitern initialisieren , so dass es nicht viel verpassen kann, wenn wir auf etwas mit Identität verweisen. Wir verwenden keine Identität relativ zur Mitarbeiterklasse. Ein Beispiel dafür, wo das angerufen hat, ist die Log in Fire Show, wo wir Identität verwenden. Sicher, aber dann wissen Sie, Signing-Manager und Benutzer-Manager dort immer noch auf Identitätsbenutzer verweisen, so dass diese geändert werden müssen. Angestellte Mitarbeiter Ich glaube, ich habe gerade einen Kontrollaufbau gemacht. Alles klar, gut. Also wieder Angestellte. Und dann bedeutet die rote Linie, dass ich das At-Zeichen mit der Leave Management hinzufügen muss. Also, das ist ein Projektname Punktdaten. Also, das ist der Name spricht, richtig? Das ist die Bibliothek oder der Ordner. In diesem Projekt. Sie können Fuß gehen, um zu sehen, wo diese Klasse ist. Also für überall, wo Identity User verwendet wird, musste
ich Mitarbeiter so ziemlich sehen. Ein guter Weg, dies zu tun, ist, das unkontrollierte Drücken F zu halten, das die Steuerfindung
aufruft , die eine gute Option ist, auf der ich dies erweitern kann. Dann, was ich suchen werde, ist Identitätsbenutzer auf. Dann kann ich sehen ersetzen durch das Wort Mitarbeiter. Nein, das wird nicht alles reparieren, denn dann müssen wir die Referenzen noch durchmachen und reparieren. Aber ich werde es immer noch tun, weil es viel schneller macht. An war, wo ich bin sicher, dass wir uns nicht an jeden einzelnen Ort erinnern, besonders wie oh, wir hätten bei einer Reihe von Ansichten für die Identität Zeug auf allen Märschen
und die Standard-Identitätsverwendung abgewürfelt . Oder so, indem es so macht, wird
es durch die gesamte Projektmiete gehen. Oder ist dieses aktuelle Dokument, auf dem ich das unter dem aktuellen Projekt erweitern kann? Ich meine, wenn du sehr vorsichtig sein willst, kannst
du als Nächstes ersetzen, damit du sie eins nach dem anderen machen kannst. Also würde offensichtlich dieses ersetzen. Weil der Mitarbeiter das braucht. Wenn es einen Ort gibt, der Identitätsbenutzer referenziert werden muss, ist
es ihr Recht. Also kann ich das überspringen, nur wenn sie als Nächstes finden. Und dann war es die Suche weiter. Dann wird es innerhalb der verlassen einen Standort-Controller landen, wo wir
Benutzer-Manager mit Identity Benutzer initialisiert hatten . So kann ich einfach weiter Onda ersetzen. Also werde ich nur eins nach dem anderen ersetzen, nur damit du es sehen kannst und dann geht es gleich zurück. Also werde ich nur tun, ich ersetze alles, um das zu beschleunigen, aber es wird eine Schadenskontrolle geben, die wir etwas Justin Toe erledigen müssen ,
alle Andi
ersetzen müssen. Dies bedeutet, dass, wenn Sie dies tun, wenn Sie diese Box nehmen, dann werden Sie unter den Änderungen in der einzelnen aus, als ob es unerwünscht war. Ich werde es nicht übernehmen. Ich möchte nur „Ja“ sagen. Es wird nur durch das gesamte Projekt gehen auf ersetzen jeden Weihrauch aus Identitätsbenutzer mit Mitarbeitern, einschließlich des Krieges sehr eine, die wir versuchen zu vermeiden. Aber wir sind schon da, einige nur in Identitätsbenutzer. Alles klar, damit man wiederhergestellt wird. Aber wenn ich dann einen Build mache, wir feststellen, dass sie eine Reihe von Fehlern sein werden, weil, nein, es gibt eine neue Klasse namens Mitarbeiter in einer Reihe von Dateien gibt es keine echte Referenz. Und wir haben 71 Fehler. Also sind wir nicht zu ärgern über die 71, weil viele dieser Fehler im Meer und Datei sind. Also werde ich nur auf jeden Fehler doppelklicken. Es geht direkt auf den Fehler auf Dhere. Ich kann Ihnen nur sagen, dass wir nur das at Zeichen hinzufügen müssen, indem Sie das verlassen Management verwenden, nicht die Datenlinie. In Ordnung, also machen wir das und ich werde diese Zeile tatsächlich kopieren, weil ich Ihnen garantieren kann ,
dass diese Zeile in einer Reihe anderer Dateien notwendig sein wird. Also habe ich einen auf Nein gemacht, wir sind nicht von 71 Epochen Zehe über so lässt ihn zu einem Fehler. Also doppelklicke ich einfach auf Dann gehe ich einfach durch jedes. Also, wenn es eine Klasse eingereicht ist, dann kann ich die gleiche using-Anweisung verwenden. Ich brauche nur nicht das At-Schild direkt unter Semi Colon. Andi,
ich werde diesen jemanden irgendwo machen, um noch ein paar mehr zu tun, aber ich möchte, dass du es alleine machst. Ich will mich nicht zu Tode mit diesem Video Sake kümmern und das Video pausieren. Fahren Sie fort, es alleine zu tun. Sie haben bereits zu tun, ist auf die Ära Liste gehen und Sie sehen, wo Kommando Nizza. Sie waren mit 65 Jahren. Also das zitiert dies ist, dass Sie über ein bisschen freie Arbeit und ein bisschen off re Factoring haben , das in Umwerben manchmal geht auf das ist, warum ich hier bin. Ich bin hier, um Ihnen die hässliche Seite der Beschichtungen sowie eine schöne Seite des Umwerbens zu zeigen. Also, wenn es eine Klassendatei ist, wir haben sie nur basierend und entfernen das at Zeichen, setzen den Semikolon auf, dann ist jeder glücklich zu wissen, dass ,
Okay, Mitarbeiter werden berücksichtigt. Also gehen Sie einfach weiter in diese Ära realistisch und gleichmäßig zurück. Ich meine, es ist so, dass es sich nicht automatisch versteckt. Sie doppelklicken einfach nacheinander jede Datei und gehen durch jemanden zu pausieren. Ich werde es selbst machen. Sie können ein Video pausieren und es auf Ihrer Seite beenden. In Ordnung, also habe ich meins. Ziehen Sie keine drei Fehler ab, und das ist in der Datei „Jetzt verwalten“. Also, wie ich sagte, ja, würde Nummer groß sein, aber viele von ihnen waren in der gleichen Datei, weil sie mehrere Referenzen auf jede
Referenz hatten , die nicht berücksichtigt wurde, war ein Aerosol und ging, um drinnen zu tun. Managed genug ist an der Spitze des Feuers. Setzen Sie die using-Anweisung mit dem at Zeichen auf, dann das Gleichnisse weg Onda. Wenn ich die Verschiebung hier wieder
kontrolliere, weiß ich, dass ich einen erfolgreichen Build bekommen kann. Also, jetzt, da wir diese große große Übung gemacht haben, lasst uns Drachen. Also werde ich nur noch einmal die Broza-Verbindung öffnen, denn nachdem du so ziemlich
Brasilianer gebaut hast , wird das klar. Also sehen wir nur in Bros er. In Ordnung, also habe ich diesen Fehler an. Habe ich geglaubt, dass dies ein Problem mit meiner DITA nicht unbedingt für das Projekt sein könnte. Also bin ich im Debug-Modus, was es sagt, ist, dass sie nicht einfügen können, um dieselben Benutzer zu entfernen. Anscheinend habe ich einige Anpassungen dieser Factoring in allem vorgenommen, was ich ihnen schien. Also, was ich tun will, ist aufhören und ich zeige es dir einfach, weil du es gezählt wurdest. Wenn nicht, dann geht es dir gut. Aber ich werde nur schnell in meine SB Net Benutzer stabile Ansicht Daten auf Einmal wieder gehen. Das ist sehr, es hat sehr wenig zu nichts mit dem zu tun, was wir gerade getan haben. Aber es sagt, dass es keine mittleren Benutzer hinzufügen kann. Aus irgendeinem Grund ist
es das. Es ist eine Menge von der Schaffung von zwei. Also werde ich alles nehmen, was das Wort gemein hat. Also alle drei von denen, die ich gerade aus meinen Daten lösche. Entschuldigung. In Ordnung. Und dann ging ich noch einmal einen Weg in den Debug-Modus ausführen, den
die See-Daten voran gehen und erstellen sollten. Und Sie Admin-Benutzer für mich sowieso. In Ordnung, So Oder Anwendung geladen. Verstehen? Um Bloggen schnell hinzufügen, da die Anzeige bedeutet, dass Admin auf dem lokalen Host ist. Seien Sie bei Santa s s w o R d one. Das ist mein Passwort, das ich benutzt habe. Also, nach dem Treibstoffgefühl, lassen Sie sie serialisieren, ich bin ein bisschen Nummer. Also sagte ich, dass ich diesen lokalen Gastgeber meinen würde. Ich habe nicht auf den Punkt com gesetzt, also werde ich das noch mal durchmachen. Aber diesmal werde ich es nicht tun. Ich werde Ihre Zeit damit nicht verschwenden, Aber nur für den Fall, dass Sie das gleiche Problem haben, das ich bin, Ich entferne diesen Admin-Benutzer wieder aus der Datenbank auf Ich bin immer noch in der Tastatur. Die meisten unterstreichenden Zehe werden neu gestartet. Die Anwendung im Debug-Modus auf, die dieses Anmeldeproblem lösen sollte. In Ordnung, also versuchen wir es nochmal. Andi. Ich bin geliebt, Exzellenz zu sein, und ich werde zu meiner Mitarbeiteransicht gehen. Andi,
ich erhalte einen Fehler in Visual Studio, und der Pfeil ist, dass die Eingabezeichenfolge nicht in einem aktuellen Format war. Andi,
ich glaube, ich weiß genau, warum. Was hier passiert, ist eine Mapping-Ausnahme, bei der es sieht, dass zwei
Elemente sieht , die so aussehen, als ob sie abgebildet werden sollten. Aber es gibt einige enge Miss viel, und es ist studieren oder String, also kann ich Ihnen genau sagen, was passiert ist. Ich bin also, ich gehe nur mit dem Zehenstopp! Raus aus dem Boot-Modus. Wenn du dem nicht entgegengewirkt hast als Unfall,
wenn du das tust, dann ist das in Ordnung. Ich werde dich durch das führen, was passiert. Aber denken Sie daran, dass die Mitarbeiter I D eine Zeichenfolge ist, die aus der Datenbank kommt. Aber dann, in der Mitarbeiter-VM, halten Sie die Kontrolle und klicken Sie auf. Wir haben es als int definiert. Also Autumn Oper durch eine Ausnahme, weil es sieht, was ich sehe, dass Ideen in beiden Klassen Aber Einigkeit String eins ist in. Da stimmt etwas nicht, oder? Also werde ich das wieder tun einfach in den Debug-Modus zurückkehren. Andi, wir werden sehen, was passiert. In Ordnung, also ging ich gerade zur Angestellten Rede über DNO. Ich sehe eine Seite, die die Mitarbeiter auflistet, so dass all diese harte Arbeit, damit wir endlich die
vollständigen Informationen über unsere Benutzer aus unserer Datenbank bekommen können, richtig? Also wieder einmal, was wir gerade durchgemacht haben, war, alle Identitätsbenutzerreferenzen in unserer Anwendung zu ändern . Nun, Identitätsbenutzer verweisen auf die Standardklasse, die mit dem Projekt geliefert wurde. Aber wir haben eine benutzerdefinierte Klasse gebaut, um diese Standardklasse auf diesem benutzerdefinierten Plus zu erweitern, hatte
Datenpunkte , die wir wahrscheinlich auf DSO anzeigen wollten. Ich habe die vorgebracht. Alles klar, was
wir taten, war, alle Referenzen zu ändern,
den Identitätsbenutzer, um stattdessen Mitarbeiter zu verwenden. In Ordnung, auf dso überall wo wir den Benutzer-Manager oder Signing-Manager haben, müssen
wir die Mitarbeiterklassen verwenden, die es von Identitätsbenutzer auf die unsere Fähigkeit den
Zugriff erweitern wird . Die anderen Datenpunkte in der Tabelle des Benutzers, dass ich Teil eins von den Änderungen war, die wir den Teil zwei machen. Wir werden tatsächlich diese Detailansicht erstellen, wo wir auf einen Mitarbeiter klicken. So haben wir bereits die Ansicht Auflistung der Mitarbeiter und wir haben die Suche. Wir haben es in eine Datentabelle verwandelt. So wie viele Mitarbeiter als Organisation sind, können
wir nach dem Namen Andi suchen. In einem realen Lebensszenario hätte
vielleicht jeder Mitarbeiter eine eindeutige i. D Nummer relativ zum Unternehmen. Was auch immer es ist, sie würden in der Lage sein, hier nach Filtern der Tabellen zu suchen. Dann werden sie in der Lage sein, auf Details zu klicken, die uns
die Details, das vollständige Profil von den Mitarbeitern sowie ihre Urlaubszuweisungen zeigen . Das ist also, woran wir in Teil zwei dieser Aktivität arbeiten werden.
33. Überweisung: Hey, Leute, willkommen hierbei. Hör zu, wir gehen weiter auf das ist Teil zwei aus oder gehen. Zuteilung auf die Angelegenheiten wird sagen, Schrägstrich Mitarbeiter-Management-Modell aufzubauen. In der vorherigen Lektion hätten
wir einige Anpassungen durchgemacht, damit wir unsere Liste von
Mitarbeitern im System mit Vorname Nachname E-mail auf din bekommen können . Diese Lektion wird diese Fähigkeit erweitern. Nein, um die Detailseite zu aktivieren, auf der wir das vollständige Mitarbeiterprofil
sowie deren Zuweisungen für den betreffenden Zeitraum sehen . Also werde ich direkt ins Gericht tauchen, weil wir nicht viel Zeit verbringen werden. Wir haben bereits ein gutes Verständnis dessen, was wir erreichen müssen. Alles, um ein paar Modifikationen und Erfahrung zu machen. Ich gehe mit. Also beginnen wir mit dem verlassen A Standort VM Also in unserem Ansichtsmodell oder in unserem
Modellordner Modellordner haben
wir die Ansicht verlassen Zuweisung. Die M-Klassendatei auf Kerl kann alles so belassen, wie es ist, aber ich werde die Auswahllisten entfernen. In Ordnung, also weißt du, manchmal bist du Feuerwehrmann Veränderung oder die Art und Weise, wie du etwas umsetzen willst, ändert sich. So sind Ihre Ansichtsmodelle, wo Sie gehen, und nehmen Sie diese schnellen Änderungen vor, um unsere Zehe zu reflektieren. Sie wissen,
ergänzen, was Sie auf dem Bildschirm sehen möchten, basierend auf Ihrem aktuellen Denkprozess. Also brauche ich keine Auswahlliste mehr,
weil sich die Strategie, die ich hatte, als ich diese Ansicht modern erstellt habe, zunächst geändert hat. In Ordnung, das ist
also das Modell der Ansicht „Urlaub Allokation“. Aber ich werde auch ein anderes Ansichtsmodell erstellen und ich werde es verlassen nennen. Nun, ich werde es anzeigen Allocations VM nennen. Also werde ich eine andere Klasse erstellen und ich nenne es View Allocations VM on. Dann geht diese Klasse Zehe haben,
ah, ah, öffentliche Entität vom Typ Mitarbeiter VM. Es geht auch nur um den Angestellten, den ich da habe, Onda. Schließlich werde
ich eine Liste von den Urlaubsanweisungen haben und dann wird diese Liste vom
Typ verlassen Allokation vmc sein . Denken Sie daran, dass wir wirklich nicht wollen, die Datenklassen auf unseren Ansichten zu verwenden, dass alles, was wir wollen, um Ansicht Mütter
erstellen. Deshalb sind sie da. Sie sind buchstäblich Modelle für die Ansicht. In Ordnung, also sind unsere Datenklassen Modelle für Datenbank und Ansichtsmodelle sind Modelle für die Ansicht. Also jeder von Ihnen, dass Sie unser Ansichtsmodell erstellen, das Sie sicherstellen möchten, dass Sie auf andere Ansichtsmodelle verweisen, wenn Sie müssen. Sie verweisen nicht direkt auf Mitarbeiter. Ich weiß, dass ich diese Ansicht habe, meine Ansicht zuweist VM Ich gehe zurück zu meiner Ansicht. Verlassen Sie den Zuordnungscontroller Zu diesem Zeitpunkt werde
ich eine von den bereits generierten Aktionen verwenden, auf denen ich
Details verwenden werde , richtig. Also gingen sie zuerst, um sich zu ändern. Die Wohnungen sind von in String, weil denken Sie daran, dass die Erwartung ist, dass, wenn sie auf die Details für die Mitarbeiter schneller klicken, der Mitarbeiter i d, die wir wissen, ist wirklich eine Zeichenfolge und keine ganze Zahl. Also ändere ich nur den Datentyp für Details von in zu String on. Dann fangen wir an, Daten abzurufen. Also das erste, was ich tun werde, ist unsere Mitarbeiter zu retten, ist gleich auf. Dann kann ich meinen Benutzer-Manager verwenden und sehen, dass Punkte von i d auf seiner Geldstrafe durch i d eine Spüle finden, Umgehung des i D. Welches ist der Mitarbeiter, den ich d durch den Parameter komme, dass viel ist das auf? Weil es ein Think ist. Ich brauche die Punktergebnisse. Ordnung, also da, um 100 Rennfunktionen zu verschwenden, könnte
manes entweder man als Spüle ohne Arzttergebnis
lassen. Aber dann würde das erfordern, dass ich die gesamten Aktionsergebnisse in eine Lockerung ändere. Also machen wir das später. Wir werden das Boot für nein erkunden, ich sage nur, dass Ergebnisse. Also weiß ich, dass ich gerade wieder dran bin. Mitarbeiter bekamen wieder Mitarbeiter und nicht den Identitätsbenutzer, da wir in der vorherigen Lektion
alle Standardverweise von Identity user in Mitarbeiter geändert haben . So von unseren Mitarbeitern. Also haben wir die Angestellten dabei. Ich werde unseren Hai beibringen. Denken wir daran, dass wir wirklich wischen. Also, wenn wir die Daten bekommen, müssen
wir sie in das Ansichtsmodell abwischen, richtig? Also kann ich tatsächlich all das in einer Zeile tun, wo ich nur sehen kann, ich werde einfach in den Raum setzen und sagen, auf der Partitur, meine obere nicht Mopp auf. Dann fragt das Funktionsformular nach einem Ziel. Also das Ziel für sie oben wären Mitarbeiter die M direkt an. Dann das Objekt, das Zehen Mitarbeiter gewickelt werden muss. VM ist das tatsächliche Ergebnis dieser Abfrage, so dass ich all das in einer Zeile tun kann. Also nein, wenn ich wieder Mitarbeiter bekomme, wenn es für Angestellte choren wird, Mitarbeiter holen dann das Mapping machen. Und dann ist mein endgültiges Objekt vom Typ Mitarbeiter VM bereits mit allen Daten, die ich brauche. Also habe ich all das in einer Nacht getan und du weißt nicht, dass wir dich in
zwei Zeilen unterbrechen können , wie wir es getan haben, um zu wissen, Nun, das ist es in einer Zeile, Realität ist, dass es viele Möglichkeiten gibt, Accord zu schreiben und viele Möglichkeiten effizient auf noch vor Gericht
haben. Also weiß, dass ich Angestellte habe. Das nächste, was ich tun möchte, ist, zu erstellen, es wird alle von den Urlaub Zuteilungen für diesen Mitarbeiter in diesem Zeitraum abrufen. Also werde ich nur noch einmal unsere Zeit auf dem Via Pier speichern. Es wird gleich Zeh sein. Wir wissen, es ist die Zeit, dass nein,
kein Jahr. In Ordnung, also ging ich, um unsere Standorte zu retten, sind gleich am Tag, an dem ich ging, um eine Abfrage über die Punktzahl auszuführen . Ich denke, es ist Urlaub Zuteilung. Ripple, da ist er, angedockt. Ich werde nur alles finden, damit ich alle Urlaubszuweisungen finden kann, die ich finden kann. Ich kann wahrscheinlich zurück in das Repository gehen und eine Funktion erstellen, um alle Zuordnungen von
Mitarbeitern zu finden . In der Tat werde
ich es so machen. Also statt anzurufen, finden Sie alles und versuchen, einen Steinbruch auf dieser Ebene zu laufen, was ich tun werde, ist, zurück zum Bericht zu gehen, Schwester. Und wie ich schon sagte, das ist so, dass sich Ihr Hof im Laufe der Zeit weiterentwickelt, weil man manchmal einfach darüber nachdenkt, was ich vielleicht noch mal tun muss, und sie brauchen uns. Implementieren Sie es. Also werde ich nur eine Funktion implementieren, die eine Augensammlung zurückgibt,
vom Typ, vom Typ, einen Standort
verlassen und dann werde ich diesen anrufen, die Get-Zuteilungen
erhalten, Urlaubsanweisungen von Mitarbeitern erhalten, alles in Ordnung dann von den Mitarbeitern wurden immer die Ideen der Mitarbeiter Parameter. Also, sobald ich das auf den Auftragnehmer anstelle der Inter Gebühren hineingelegt
habe, muss ich zurück in mein Repository gehen, dann werde ich die Störungen implementieren, also geben Sie es ein paar Sekunden. Du wirst die Ära bekommen, die wir gehen. Also haben wir über diesen Fehler auf wir machen einfach einen Kontrollpunkt undeine Implementierung stört. Dann habe ich gerade nach dieser Funktion gesucht, die ich will, die die Urlaubszuweisung von
Mitarbeitern erhält . Also, in dieser Datei, im Repository, mache
ich den schweren Aufzug. Also schreibe ich hier die komplexe Schule. Dann kann ich die Rückkehr sehen, und ich bin nur in einer Zeile interagiert. Also möchte ich nicht voran gehen und eine Abfrage basierend auf db Punkt machen, die etwas Ursache bereits
gefunden hat . Und so etwas habe ich schon gemacht. Wenn wir nach den Zuteilungen suchen, werde
ich sagen, Finden Sie alle einige, die alle aus den Urlaub Zuteilungen gehen, um einen Punkt zu sehen auf dem ich nur die Linien brechen werde. Ich kann tatsächlich Brick Lane Oder wenn wir am Punkt oben drauf sind, so können Sie sehen, so angedockt waren und ich werde sagen, Heilung zu starten die Lambda q gleich auf größer als Zeichen que dot Mitarbeiter i d ist gleich. Also das I d, das durch den Umfang von Ben hereinkommt. Ich werde nur einen Punkt machen, um aufzulisten, damit wir keine Probleme mit dem Sammlungstyp haben . Dann benutzen wir unseren Halbpunkt. Also nein, das wird nur alle Zuweisungen für diesen Mitarbeiter zurückbringen. Was? Ich habe angegeben, dass wir die Zeit kennen wollten. Also werden wir tatsächlich etwas nachahmen wie das, was wir getan haben, als wir die
Zuweisungen überprüft haben. Ich werde nur die Piraten kopieren, in denen ich den Zeitraum definiert habe, auf dem ich das
dort platzieren werde . Und dann bin ich auch darin, den Teil zu kopieren, in dem ich die Periode selbst vergleiche. Also meine ich, wieder
einmal, du hast recht. Das Gericht hat es schon dort. Du kopierst einfach in Frieden. Weißt du, wenn du es üben und neu schreiben willst, ist
das ganz in Ordnung. Aber ich zeige Ihnen nur Effizienz. Also weiß, dass ich das alles getan habe. Lassen Sie mich noch einmal erklären. Was wir tun, ist, dass wir die Zuteilungen von Mitarbeitern bekommen. Also für jeden Zeitraum, wenn Sie auf Mitarbeiter Datensatz anzeigen, sollte
es in der Allokation stabil aussehen, um herauszufinden, alle Zuweisungen waren der Mitarbeiter I d. Viel ist auf. Wir sind in diesem Teilchen erschienen. Wenn Sie also sind, wenn es 2021 ist, wurden keine Zuweisungen festgelegt, dann sollten Sie wirklich nichts auf Def zurückbringen. Es ist 2020, also will ich es nicht 2020 Zuteilungen in 2021 zeigen, richtig? Und dann habe ich das nicht. Wir machen die Liste. Also zurück in den Controller? Nein, mein Funktionsaufruf sieht eher wie Belassen von Zuordnungsberichtpunkten aus, ich habe nur oder kontrollierter Platz auf. Dann kann ich einfach sagen, bekommen Urlaub Zuteilungen von Mitarbeitern auf. Dann werde ich einfach hineingehen. Ich d auf Die Erwartung ist, dass dies zumindest von den Zuteilungen zurückkehren wird. Jetzt, da ich die Liste der Zuteilungen auf dem Pier Adande habe,
die Angestellten . Andi,
ich brauchte nicht einmal die Zeit hier, weil die Periode mir geholfen hätte, sie zurückzubekommen. Also da bin ich wieder Factoring Gericht bereits. Was ich tun werde, ist ein neues Modell irgendwo zu erstellen, um es zu speichern. Unser Modell ist gleich ein glücklicher Sohn zu sehen, VM auf dann, Ansicht Zuordnungen V m geht toe haben als ersten Parameter. Alcide Herr das neue Schlüsselwort so neue Klasse auf. Dann wird die erste Eigenschaft wird Mitarbeiter und Mitarbeiter nur gleich Zehe
über Mitarbeiter Objekte sein , die wir bereits den Rekord angerufen und geschwungen. In Ordnung, also passt es perfekt. Und dann ist die nächste Sache, dass wir die Liste von verlassen Zuteilungen wollen, und das sollte wirklich eine Liste vom Typ sein. Ah, das sollte eine Liste von Urlaub sein. Ich verlasse Zuteilung VM Sorry. Also habe ich das hier nicht getan, also habe ich Zuteilungen aus der Datenbank von Hat nicht Muppets verstehen zu schnell moppet hier. Also unterstreichen Sie meine Handtasche. Ich mache es nur in einer Zeile, genau wie ich es vorhin getan habe. Dann ist das Ziel für diese Karte eine Liste von Typ Ich schaue auf Ihren Sohn oder ist es verlassen Zuteilung, Veum Rechts. So flüchtig, dass direkt die unsere Datenklasse abbildet. In Ordnung, auf dann öffnen wir müssen das Größeres schließen, als wieder zu sagen oder geht integriert und unterschreibt. Also diese Winkelhalterung viel ist mit diesem Onkel Halterung auf diesem. Vieles ist damit. Und dann definieren wir das Objekt, indem wir die Brise öffnen unser Objekt aus unseren Datenbienen
aufrufen. Dann schließe ich die Klammer. In Ordnung, also sehen diese beiden Linien ziemlich identisch aus, außer dass man einen Weihrauch von der Objektspitze abwischt. Eine Instanz, die zurückgegeben wird, wo diese eine Liste erwartet, die von dieser Funktion kommt. Rufen Sie seine Zuordnung zurück toe Eine Liste aus dem Ansichtstyp aus dem Ansichtsmodell auf. Entschuldigung. Dann kann der erwarteten Liste in unserem Modell ein Standort zugewiesen werden. Da Zuweisungen ist nicht nur Zeug lassen Behauptung VM auf Es wurde als solche aus unserer
Sicht definiert , Allokationen Ansicht Modell. Also wissen, dass wir gebaut oder modelliert haben. Wenn wir die Ansicht zurückgeben, erwarten
wir, dass die Ansicht mit den Daten zurückgegeben wird, die bei der Anpassung dieses Modells zurückkehren. Also werde ich diese Ansicht generieren, wenn man mit der rechten Maustaste auf Ansicht-Klick klickt, Ansicht
hinzufügen. Ich generiere eine Vorlage von Details auf. Dann wird die Modellklasse Ansichtszuweisung sein. Also, eigentlich, hier ist, was ich tun werde. Ich werde generieren,
äh, äh, am wenigsten sind Details Vorlage basierend auf Mitarbeiter VM. In Ordnung, ich werde erklären, warum. Die Sache ist also, wenn Sie eine Ansicht basierend auf einem Ansichtsmodell generieren, bin ich mir sicher, dass Sie erkennen, aber ich weiß, dass es einen Peacoat versucht. Die einfachen Datentypen, einfache Datenzeiten bedeuten in Zeichenfolge,
diejenigen, die eingebaut sind, nicht die Klassen, die erstellt wurden. Also, weil aus unserer Sicht, Allokationen View Modell ist wirklich gebaut, um zwei Klassen,
die Mitarbeiter VM sowie verlassen Zuteilung unterzubringen . Veum. Wenn wir Details Seite basierend auf diesen beiden Klassen erzeugen würden, dann würde es nicht so sauber herauskommen, so die meisten. Die meisten Informationen gehen sowieso von der Mitarbeiter-VM, also werde ich die temporäre basierend auf dem Mitarbeiter Veum generieren, bereits
viele einfache Datentypen darin hat , ,so dass wir diese leicht anzeigen können, und dann können wir diese Seite leichter bearbeiten, um die zusätzlichen Informationen anzuzeigen. Deshalb verwende ich manchmal nicht das genaue Ansichtsmodell, das in die
Ansicht als Modellklasse für die Generation für das Gerüst übergeben wird . So können Sie frühere Arbeiten nutzen, um zukünftige Arbeit zu erleichtern. Wenn Sie eine Wertschätzung für die ganze Ansicht mehr haben, können
Sie das beste Ansichtsmodell wählen, um das Beste aus dem Auftrag generierten Gericht zu jedem
Zeitpunkt zu bekommen und dann Änderungen vornehmen, wie Sie die Notwendigkeit sehen. In Ordnung, also noch einmal verwende
ich die Modellklasse-Mitarbeiter-VM auf. Dann werde ich nur wie Anzeige, Ordnung, und dann wird unsere Vorlage generiert. Also meine ich ernannt. Nein, ich habe dem Burbage auf den Seiten nicht viel Aufmerksamkeit geschenkt. Ich versuche wirklich, Ihnen den Fluss und die Back-End-Codierung beizubringen, aber ich möchte dieses Mal etwas Aufmerksamkeit schenken. Also, Also, erstens muss
ich das Modell ändern, weil das Modell, das Person ist, nicht wirklich Angestellte ist. Die M es ist wirklich gut glauben, Sie verlassen ist diese Ansicht verlassen Zuteilungen V. M. Sobald ich das tue, dann werden Sie beginnen, einige Fehler auftauchen Band zu sehen. Das liegt daran, dass das Modell statisch eingeschaltet ist. Es hat kein Feld namens Benutzername das Modell. Es ist des Samba-Feldaufrufs, der ihn verwendet, weil eine Klassenansicht Zuweisungen. William hat nicht ein paar angerufen, um ihn zu benutzen. jedoch Das Modell tut esjedoch. Entschuldigung, es kommt mit einer Klasse namens Mitarbeiter auf Employee hat ein Feld namens use any. Also
habe ich wieder eine basierend auf Mitarbeiter-VM generiert. Aber dann gehe
ich, ich, Angestellter über hat ihn wirklich nicht Angestellter über hat ihn wirklich nicht
benutzt. Und ich kann immer auf dem Scheck darauf zurückgehen, aber ich glaube nicht, dass es E-Mail hat. Oh, es hat ihn benutzt. Es gab. Alles klar, so dass Sie nur gehen, um zu machen Modell angedockte Mitarbeiter, die ihn verwenden. Also für jede Unterklasse, die in die Daten zurückgebracht wird, können
Sie sie verwenden, um nur die Eigenschaft entsprechend zu referenzieren. So hat unser Modell zwei Klassiker als Mitarbeiter. Es hat eine Liste von Urlaub Zuteilungen. Was wir also tun werden, ist durchzugehen und Model-Dot-Mitarbeiter einzubeziehen. Ich kopiere das nur, ich bin weit entfernt. Injizieren Sie es nach jedem Verweis auf das Wort model. In Ordnung? Und
ja, ja, es mag mühsam erscheinen, aber am Ende des Tages ist
diese Änderung viel einfacher, als wenn wir versucht hätten, die Klasse mit dem
ursprünglichen Ansichtsmodell zu generieren . Richtig? Also werde ich einfach weitermachen, dann wirst du sehen, dass irgendwann alles in die Polizei
fällt. Ordnung
, einige von ihnen haben immer noch rote Linien. Irgendwann werden sie verschwinden. Und wenn sie es nicht tun, haben sie es alle getan. Das ist also unser Detail, Geschwindigkeit. Das ist also so ziemlich ein Profil von allen Mitarbeitern. Wir können es verschönern, wissen
Sie, wir können es zu einer ganzen Profilseite machen. Das machen wir später. Aber im Moment möchte ich mich auf Show in den Urlaub unserer Standorte konzentrieren. Also werde ich diese Aktionsseite entfernen entlasten zurück zur Liste. Ich lasse Backed eine Liste, aber ich entferne die Bearbeitungen, weil ich nicht möchte, dass jemand die Mitarbeiter von
dieser Seite bearbeitet Boote darunter hier bin ich mit einer horizontalen Regel auf. Dann werde ich sagen, jedes Werkzeug Onda se verlassen unsere Standorte und dann innerhalb verlassen Zuteilungen, Ich weiß, gehen zu generieren. Es gibt, dass Kontinen Daten über Details von jeder Leave Zuteilung im System. Also gehe ich Fuß ins Schlepptau. Turgeon aus. Ähm, aus Grund kalt, wo ich mein Bauchschild offen benutze. Und diese Klammer auf dann innen aus, die ich für jeden auf der Doppelspitze sehen wollte. Die Registerkarte gibt mir, dass für jeden Block auf generiert wird. Dann kommt die Sammlung von Modellen, so kann ich nur sehen Modell mit einem Kapital M und dann sagen angedockt und dann sagen wir, verlassen Sie unsere Standorte. Ein Modell Darts verlassen Zuordnungen. Das ist also unsere Sammlung. Gleich drauf. Dann haben wir jeden Artikel innerhalb der Urlaubszuweisung. So Artikel gibt uns Zugriff auf alle Details innerhalb von einem Urlaub Zuteilung auf, wenn wir
zurück die IV Zuteilung Itzler von oder Modell, das ist, nachdem ich Sie Zuteilungen. Das M auf ihm ist aus Typ. Jeder ist vom Typ verlassen Zuteilung der M Und wenn ich Bezirk, dass wir sehen, dass es
die Anzahl aus Tagen enthält , die Periode, die Mitarbeiter auf dem Blatt Typ Details. Also, was ich nicht anzeigen möchte, ist nur die Blatttyp Schlägel, die ich sagen möchte, Nun, die Zahl von diesen sind die Mitarbeiter bekommen, sowie vielleicht der Name aus dem Blatttyp. Also zurück ins Detail, ich gehe die Zehe. Generiere einfach ein Problem McCord hier und ich nenne es ein div auf dann, innerhalb dieser Dave Tatsache, werde
ich Bootstrap referenzieren, um zu sehen, welche Art von Tools sie haben. Alle Arten von visuellen Elementen, die das haben, könnte ich wahrscheinlich verwenden, um die Darstellung dieser
Daten zu verbessern . In Ordnung, also, wenn ich durch die Dokumentation schaute, ging
ich auf die
Karten und teile Komponenten. Andi,
ich sehe hier, dass sie Listengruppen haben. In Ordnung, also denke ich, das ist nett. Stellen wir uns also vor, jeder von ihnen ist der Blatttyp Onda, ein Abschnitt, der die Zahl aan den Knopf über in einem anderen Abschnitt zeigt. So würde es aussehen. Sie werden Autos geben, Karten und dann im Grunde jeder oder Eintrag wäre ein Verbündeter Element. Also, was ich tun werde, ist die 1. 2 auf den letzten beiden Zeilen zu nehmen. Also werde ich zuerst die ersten 2 Zeilen nehmen und wieder in meine Schnur gehen. Dann ging ich, um die draußen von den vier zu stellen. Also setzen Sie diesen Dave auf die, äh Klasse außerhalb der vier. Und dann gehe ich zurück auf das Netz dieser beiden. Dies zeigt Ihnen nur, wie Sie können, wissen
Sie, manipulieren die vorhandenen HTML-Elemente in vollem Umfang und Wunsch. Also offensichtlich, wenn ich zu viel Problem zwischen dem at-Zeichen auf der Schnur einfügen, ist
es irgendwie annulliert den Effekt. Also, was ich tun werde, ist, entfernen Sie diese und setzen Sie das at Zeichen direkt auf die vier jeder. Ich weiß, dass es sich daran erinnert. Okay, es ist C scharfer Hof, richtig? Das ist also eine gute Möglichkeit, zu erkennen, wenn es seinen Kontext verliert, wenn er nicht mehr hervorgehoben . Dies setzt also die Prämisse für die Listengruppe auf. Dann für jeden Urlaub Zuteilung, die im System ist werde
ich Gellar Generierung auf l. Ich zerren auf diesem l I Schleppen geht Zehe haben die Klassenliste Bindestrich Gruppe Element, aber sein Inhalt wird auf, dass nur brechen auf, Dann werde ich alles in Ordnung bringen, also werde ich wieder Bootstrap nehmen, um zu sehen, was nützliches Styler-Element ich hier setzen kann, an dem Tag, an dem ich auf einer Seite mit Budgets gelandet bin, also werde ich das Beispiel von der Überschrift mit dem Aber so ist die Überschrift gehen, um den Urlaub Typ auf das Budget wird die Nummer haben. Also noch einmal, das ist nur ich versuche, kreativ zu sein. Ähm, Booster macht es mir sehr einfach, diese Reserveelemente hinzuzufügen. Sie haben vielleicht andere Ideen, aber ich möchte nur das Konzept ausprobieren, dass Sie Ihren HTML-Code haben, aber Sie können
immer einfügen , was Sie wollen, indem Sie bei der Anmeldung sehen. Dann in diesem Fall, Sie möchten Element Element stellt die verlassen A Position auf, die ich gehen, um zu verlassen. Geben Sie
dann ein. Dies ist ein Objekt, das verlassen Typ für beide Objekte darstellt. Ich will wirklich den Namen von diesem Typ verlassen. Ich möchte also Krankheitsurlaub ausdrucken, oder? Ich wollte nicht nur sagen, dass ich eins bin. Ich wollte das Wort krank drucken. Lassen Sie Andan von der Abzeichen, was so ziemlich alles sein kann. Sekunden ein Budge Strich, Sikander Bündel Staub, Primär budge niederländischen Erfolg, usw cetera. Aber innerhalb des Inhalts von diesem Budge werde
ich die Beispieltexte entfernen und durch den Punkt ersetzen, der dann genau hier angedockt ist. Ich wollte die Nummer ausdrucken. Es ist in Ordnung. Die Zahl aus diesen ist der Name außerhalb des Feldes, der die Zahl von diesen anzeigt, die dem Blatttyp
entsprechen. Zuweisung ist wieder so, dass all dies dieser Verbündete mit all diesen Daten gekrönt wird innen vor
jedem gedruckt werden . Also, für jede Zuteilung, die dieser Mitarbeiter hat, wird
es, ähm, eine Darstellung von ihm geben, draußen, dass ich auch drucken werde, und ich benutze einfach eine Bar auf. Ich will einen Knopf an der Tür. Nun, ich werde einen Knöchel-Tag benutzen, also will ich einen Onkel ziehen. Dann wollen wir, dass dieser un Qatar wie eine Flasche aussieht. Also werde ich sagen, Klasse gleich Bt und Bt und dash on. Ich werde Warnung sagen, weil dies eine Bearbeitung sein wird. Einige würden sagen, Umriss, Bindestrich, Warnung. Und dann in diesem Onkel redet. Ich werde das nur in die neue Linie in diesem Onkel Tug setzen. Ich möchte das Symbol mit einer Klasse. Jemand hat meinen Fonds benutzt. Awesome Effie auf dann, wenn ein Strich Bleistift. Aber es wird auf Bearbeiten-Schaltfläche auf sein. Neben dieser Ikone wollte ich sie sehen oder es ist jederzeit, sagen Sie
einfach, es ist kompliziert, viel mehr als es. In Ordnung? Also nein, mit all diesen Modifikationen, wenn ich das unterstützte Ein Listen-Tag unter alles setzen werde, also zurück zu diesem, um zu unserer Unerfahrenheit
zurückzukehren , kann das später für den Wunsch verfeinert werden, aber ich werde wissen, gehen um den Debug-Modus zu aktivieren,
dann werden wir genau sehen, wie viel sich unsere Arbeit gelohnt hat. In Ordnung, also habe ich die Anwendung ausgeführt. Ich bin hier auf der Liste der Angestellten, und sie wollten nachsehen. Wir werden für Details klicken. Rede Onda. Das führt zu einem Fehler. Also der Pfeil, der besagt, dass Objektreferenz nicht zu einem Objekt gehört und es referenziert oder vermietet wird. Urlaubstypen sind so, dass bedeutet oder nicht Bindungen verlassen, sondern Zuweisungen verlassen. Was ich also tun werde, wird mehr entlarven, als wir genau sehen können, was passiert, um das zu verursachen. Also gehe ich an den Controller. Dann werde ich auf die Zeile klicken, in der die Ansicht zurückkehrt. In Ordnung, auf. Dann ging ich, um die Seite neu zu laden, so dass sie alle diese Operation wieder ausführt, und dann werden wir beurteilen, welche Daten über die kommen, wenn sie unseren Bruchpunkt trifft. Nein, wir können den Mauszeiger über das Modell bewegen und das können wir. Oder wir können einfach den Abschnitt normal hier am Tag erweitern Modell verwenden. So sehen wir, dass Mitarbeiter wieder auf. Wir haben die Details des Mitarbeiters, also wissen Sie, der Tag beigetreten. Wir wissen alles über die Mitarbeiter. Aber dann gehen wir runter, um Zuteilungen zu verlassen. Wir sehen, dass wir Zuteilungen in der Liste lassen müssen und ich erweitern eine auf. Dann werden wir sehen, dass es die Mitarbeiterdaten noch einmal enthält. Alles klar, das ist in Ordnung. Aber dann ist das Leave-Type-Objekt selbst leer. So Blatttyp I d hat den Blatttyp I d. Aber wir haben nicht das Leave-Type-Objekt selbst. Also, das an sich ist ah, wenig Problem. Nein, da wir dann Details innerhalb dieses Objekts referenzieren, die nicht verfügbar sind. Basierend auf was? Wir kehren zu den Ansichten zurück. Ich werde das jetzt beenden. Was aus dem Debug-Modus? Wir gehen zurück zu unserer Repository-Datei, um die Zuweisung zu verlassen. Ich werde eine geringfügige Anpassung an das Gericht vornehmen und erklären, warum diese Anpassung
sehr,
sehrwichtig ist sehr,
sehr . Also verwenden wir die endgültige Option, um alle Datensätze zu erhalten, und in der endgültigen Funktion haben
wir eine Zeile außerhalb des Gerichts, die sagt BB verlassen Zuteilungen, die unsere Tabelle ist aufzulisten. Jetzt, was ich tun werde, ist eine weitere Funktion hinzuzufügen, eine
andere Lunda-Funktion, die auf Entität enthalten wird, also werde ich es einfach eingeben und ich werde genau erklären, was passiert. Also erinnern Sie sich an das oder lassen Sie die Zuweisung, wenn es mit allen Daten geladen wurde, glauben Sie Typ um , Abschnitt aus. Es war leer. Und so habe ich diese keine Referenzausnahme bekommen,
weil Sie sehen, dass Sie versuchen, Daten zu referenzieren, das ist einfach nicht da. Also müssen wir sagen, wann wurden Abrufen der Datensätze für Urlaub Zuteilung. Wir müssen die entsprechenden Daten für den Urlaubstyp für diesen bestimmten Urlaub
Allokationsdatensatz abrufen . Also die Beziehung richtig? Wenn Sie eine reguläre Datenbank machen würden, müssten
Sie etwas wie einen inneren Join mit der leas-Typtabelle auf tun. Dann könnten Sie die Blatttypdetails sehen, da die Idee als Fremdschlüssel fungiert , also wollen sie hier sagen, db dot leave. Zuteilungen Punkt umfassen offene und enge Brise und umfassen als Kopf I zerebral. Das ist lassen Sie mich einfach in den Ruhestand schnell öffnen und schließen Klammern auf. Dann wird es mir sagen, dass ich eine Bibliothek hinzufügen muss. Apfelwein enthält diese Bibliothek. Kein Problem auf dann, innen von den Zahnspangen. Ich werde in einem Lambda Expressions als Cue setzen und ich werde nur sagen, Pfeilpunkt auf in, Sag sorry Q angedockt. Dann wird es sagen: Was genau wollen Sie einschließen? So können wir jede Entität einschließen, die mit Remember verwandt ist, wenn wir unsere Datenklasse erstellt haben und andere zur späteren Klasse zurückkehren? Schnell haben wir ah Fremdschlüssel-Entität namens Mitarbeiter I D. Aber wir spiegeln auch die Darstellung für die gesamte Klasse, Objekt aus Mitarbeiter mit der gleichen Sache für einen Urlaubstyp. Also in einigen Situationen müssen Sie möglicherweise in einigen Situationen enthalten, kann es über automatische
Aliso kommen , zum Beispiel, Die Mitarbeiter Entitäten bereits dort müssten dieses Boot enthalten. Wir erkennen, dass die Lea-Typ-Entität leer war. Also gehe ich in die Repository-Klasse,
sagen wir, dass ich alle entsprechenden Daten für den Leave-Typ einschließen möchte. Dies ist wie ein impliziter innerer Join. Wenn es so ist, wird
dieser Steinbruch alle möglichen Details für alles, was wir
für jeden Datensatz angeben, bringen alle Details, die wir brauchen, und denken Sie daran, dass wir diese
Details brauchen , denn aus unserer Sicht in unserer Detailansicht,
ja, ja, wir bringen zurück,
wie, den Blatttyp Punktnamen, den ich herbeigebracht habe, um die Anzahl von Tagen Associate ID mit dieser Zuordnung. Nun, wirklich in seinen Urlaub Typ Punktname. Das war das Problem. Also weiß, dass ich das getan habe. Include, ich ging wieder im Debug-Modus laufen auf den drei Punkt ist immer noch im Controller. Und wenn er dann den Bruchpunkt bekommt, sehen
wir, was passiert. In Ordnung, also klicken wir auf Details, die ausgelöst werden. Die Ausnahmen werden den Bruchpunkt ausgelöst, und dann werden wir unsere Modellobjekte bewerten und ich drilldown in Modell auf. Dann schaue ich auf Urlaubsanweisungen. Ich bekomme das, um Zuteilungen dafür zu hinterlassen. Mitarbeiter, die Zehe bohren, mindestens einen Auslass Zuteilungen, die ich sehe. Der Blatttyp sieht nicht mehr Nein. Also, wenn ich im Schlepptau bohren, das Blatttypobjekt. Jetzt sehe ich die Details von diesem Blatttypobjekt,
einschließlich des Namens, den wir drucken müssen. Also gehe ich mit den Zeh. Entfernen Sie einfach diesen Bruchpunkt beim Drücken. Fahren Sie weiter, dann werden wir das sehen. Okay? Wir haben einige blind entwerfen Also das ist, was standardmäßig generiert wurde, und wir bringen alle Details, die für diese Mitarbeiter verfügbar sind. Also dieser Mitarbeiter, der Benutzername die E-Mail, er hatte keine vollständige Nummer, also ist das leer. Sie hatten nicht die Steuer,
d. d. Geburtsdatum und Kündigung. All diese sind irgendwie gemeinsam daran, nicht gedruckt zu werden, wissen
Sie, so sauber wie möglich auf Können Sie sich daran erinnern, dass wir einfach zu unserem Urlaub zurückkehren können, ähm, Mitarbeiter, Mitarbeiter, Mitarbeiter, VM richtige Mitarbeiter VM und Einrichtung oder Anzeige von Datenanmerkungen über jedem für das Drucken besser zu sein. Also am Ende des Tages,
wo einige finden, um zu tun, wie sind verlassen Zuteilungen, sexuelles Aussehen, so sieht. So haben wir die Urlaub Zuteilungen beginnen gut gedruckt auf. Dann können wir sehen, dass sie Deal von Urlaub Zuteilungen für Krankheitsurlaub haben, und das sind 10 Tage und daher Urlaub Urlaub. Das sind 15 Tage, aber dann die Bearbeitungen, die in einer anderen Zeile gehen, also können wir wahrscheinlich einfach zurück zur Ansicht gehen und das ein bisschen verfeinern, und es tut wahrscheinlich das, weil ich die Zeile gebracht habe, also was ich tun werde, ist nur entfernen Sie die Bremsleitung und drucken Sie alles in einer Zeile auf, dass theoretisch
die Bremsleitung lösen wird . Also werde ich das beim Neustart des Debug-Modus tun. Mal sehen, was sich das anfühlt, und das hat sich nicht geändert. Und ich glaube, ich weiß warum. Ich denke, es hat sich nicht geändert, weil wir ein ah Header-Tag für den kränklichen Abschnitt verwenden und ich werde nur inspizieren und bestätigen. Das Header-Tag kommt also mit einer eigenen Party, so dass es nur eine Zeile aufnehmen wird. Also, das ist wirklich Frau. Also, was ich tun könnte, ist, den Knöchel innerhalb der Header Schlepper. Also warte ich. Ich werde schnell aus der Boot-Stimmung kommen. Dann werde ich einfach dieses gesamte Header-Tag erweitern, um dieses Anker-Tag einzuschließen. Dann sehen wir, wo ich den Bleistift nicht bekomme, und das liegt daran, dass ich die Klasse durcheinander gebracht habe. Das ist f A nicht füttern. Ordnung, auf, dann, dieses Mal, da ich dich wirklich nur benutze, verstehe
ich, die Bro oder Link zu tun, die in Bro's er Onda Bro zu der Seite ist und weiß, dass das ein bisschen einfacher für die Augen aussieht natürlich wieder, wissen
Sie, wir können mischen und passen. Wir können unser eigenes Flair einbringen, aber nein, so sieht das aus. Das nächste Ziel hinter der Fertigstellung dieses Modells wird also sein, in eine Bearbeitungsoption zu setzen bei der dieser Admin-Benutzer in der Lage sein wird, diesen
Krankheitsurlaubszuweisungswert manuell zu ändern . Also mein letzter Akt für dieses Video ist nur, um dies zu nehmen, sah ich aus dem Frieden, und ich sehe nur entfernt die Worte Mitarbeiter vm aus den Details Rede. Also gehe ich zurück zu meiner Ansicht entfernt das, ähm weiter. Dann werde ich Details für Andi sagen. Ich kann Strich sagen und denken Sie daran, dass alles im Modell ist. Wenn ich also den Namen des Mitarbeiters drucken wollte, kann
ich Modellpunkte sagen. Tut mir leid, ich muss die am Schild Modell Dartpfeile auf DSI-Mitarbeiter nicht verwenden, und ich werde es wie Nachname Komma,
Arthroskopie tun . All dies, anstatt es von Grund auf neu zu tippen bei Änderung Nachname, toe Vorname. Also, wenn die Ansicht geladen wird, wird sagen, Details für dies wäre gut, wir haben sehr generische Benutzer in unserem System, also unabhängig von Benutzernamen, die Sie verwendet haben, sehen
Sie, dass es betroffen war. Also aktualisiere ich nur den Browser an. Das ist, was wird die Details für Nachname,
Komma Vorname verwenden . So viel Detail so viel aus alles, wie Sie auf Ihrer Seite wollen, Sie können immer, Sie wissen, verwenden Sie eine reine Elemente. Sei dynamisch und generiere, wie du weitergehst. Also, wie ich in der nächsten Lektion sagte, werden
wir die Arbeit auf dem irgendetwas Bildschirm für die Details aus dem Benutzer tun.
34. Allocation – Bearbeiten: Hey Leute, in diesem Video werden
wir den Bearbeitungsbildschirm einrichten, der es uns erlaubt, die Zuweisung für einen
bestimmten Mitarbeiter zu ändern . Onda Partikelausscheidungstyp. Also werde ich gerade in die Action geraten. In der vorherigen Lektion hätten
wir unsere Detailrede auf unserer Detailseite eingerichtet. Auf dieser Seite finden Sie einen Abschnitt, der die
Urlaubszuweisungen für bis artikuläre Mitarbeiter auflistet . Wir sehen den Blatttyp nach Namen. Die Zahl aus diesen und dann haben wir auf Editier-Button, die es uns erlaubt, zu den Bearbeitungen zu bro's sind Zumindest das ist das das Ziel. Beachten Sie also, dass wir den Knöchel-Tag haben, aber Knöchel-Tag führt wirklich nirgends. Also, was wir tun werden, ist auf einer SP-Strich-Route auf dieser Route wird es sein. Onda. Wir werden auch eine S-P-Strichlinie hinzufügen. Das wären nur Strichdaten. Entschuldigung, das ist also idee meine,
aber etwas, das ich meine Drähte gekreuzt. Das ist also wahr. Dash I d auf dann. Die Idee, die wir übergeben, ist am Zeichen itim Punkt auf dem Wert wäre Idee. Also Element, das ich auf Remember D, Element ist, wenn ein Objekt in der Sammlung Off dargestellt wird. Verlassen Sie einen Standort. Also sind wir alles, was Partikel ist. Verlassen Sie unseren Standortbericht. Deshalb verweisen wir auf das i d für diese Ive Zuteilung. also Wenn Siealsokeinen SP-Dash-Controller angeben,
wird davon ausgegangen, dass Sie den und es innerhalb desselben Controllers verwenden, in dem dieses
Teilchen von Ihnen,
das sindDetails,auf keinen SP-Dash-Controller angeben, wird davon ausgegangen, dass Sie den und es innerhalb desselben Controllers verwenden, in dem dieses
Teilchen von Ihnen,
das sind Teilchen von Ihnen, Details, unsere Details. Sie befinden sich innerhalb der Urlaubskontrolle. Das bedeutet also, wenn wir klicken und es wird daraus schließen, dass wir die Bearbeitungsaktion Insider
verlassen Allokation Controller Nein meinen , wir haben bereits Aktionen dafür. Es ist, wer auch immer Action auf die Post-Aktion aufmerksam macht. So sollten wir eine Wertschätzung zu stärken, dass man die Ansicht mit den Daten auf einer
Verarbeitung die entsprechende Aktion macht , nachdem sie ausgeführt wurde. Also kommen wir einfach ins Geschehen. muss ich nicht. Ich hätte hier nicht viel erklären müssen, weil wir das schon ein paar Mal
getan haben . Also für unsere Bearbeitung, wir kommen auf eine ganzzahlige Idee und diese Idee, denken Sie daran, ist oder lassen Sie die Zuweisung I d. Also müssen wir die Urlaubsanschuldigungen finden. Ich werde sparen Ich entlasten einen Standort gleich Unterstrich Zuteilung oder verlassen Zuweisung re für angedockt ich werden wir von i d finden, dass bestimmte verlassen Zuteilung Datensatz die Idee Referenz übergeben auf dann erinnern, dass Wochenende dieser Mopp direkt aus der Fledermaus Also ich werde nur meine, manchmal hängt es von ganz sauber Sie es nennen wollen, so dass ich persönlich kein Spaß daran bin nur in einer Zeile mit dem Anruf zu
kartieren. Ich bringe es gerne ab, aber das bin nur ich, richtig? Also, was auch immer Sie bevorzugen, wie Sie es zur Arbeit bringen können, dann können Sie es so tun. Ondas, wie Sie können, bereit sauber genug, dass Ihr Team nicht verstehen kann. Also, das ist auf der Partitur, ma pro Punkte, Mop auf. Dann wischen wir voll ab. Ich verlasse unseren Standort auf dem VM-Datentyp. Da gehen wir. Auf dem Objekt, das dieser Richtung zugeordnet wurde, ist die Verlassenzuweisung, die
in diesem schrecklichen auf gespeichert wird . Dann Luft passieren oder modellieren wir in die Ansicht. Nein, wir generieren die Ansichten. Also Irak-Ansicht klicken, Ansicht
hinzufügen. Wir werden die Vorlage auswählen. Dann wird die Modellklasse, die dieses Bearbeitungsformular aus generiert werden soll,
dann die
Zuordnungs-VM aktiviertlassen Zuordnungs-VM aktiviert . Ich meine, manchmal brauchen Sie die Datenkontext-Klasse wirklich nicht wieder, wenn Sie das
Ansichtsmodell verwenden . Aber ich werde es nur in Ruhe lassen und ich werde nur weiter gehen und klicken, hinzufügen, Also nein, ich habe meinen Kopf. Es ist so nehmen Sie all das ich Schwert, das sagt verlassen Allokation vm Onda
haben meine Bearbeitung, wo ich die Eingaben versteckt, die Anzahl von Tagen sichtbar, ich werde die Tat erstellt auch versteckt machen. Also die Sache ist, wenn ich ein und sein Ansichtsmodell dafür erstellt
habe, hätte ich einige von den Elementen weglassen können. So wie sie erstellt haben, würde
ich wirklich nicht auf dem Bearbeitungsformular auf erstellt werden müssen. Ich würde die Notwendigkeit beseitigen, dass ich diese Art ausmachen muss. Bearbeitungen. Aber ich bin schon diesen Weg gegangen. Also werde ich nur diese kleinen Anpassungen treffen und sagen, Typ wird gleich Fuß
versteckt sein . Also, jedes Team, das sie erstellt haben, und wir mussten das früher mit Datentypen machen, ich bin sicher, dass Sie schätzen, warum das getan wird, Period. Wir brauchen wirklich keine Perioden zurückzugeben. Sie sehen, dass all diese Dinge zurückkommen. Angestellter, ich lasse das. Sie brauchen diese Elemente wirklich nicht innen aus für sie Form. Also, was ich tun werde, ist dieses Bearbeitungsformular zu entfernen, und dann werden wir es tun. Also werde ich nur gehen, um die Zuweisung zu verlassen
, diese Bearbeitung auf Stattdessen werde
ich auf einem Ansichtsmodell speziell für die Bearbeitung von Urlaubszuweisungen erstellen. Ich habe die Datenklasse, aber belasse die Zuordnungs-VM-Datei. Ich habe eine haben Sie erstellt? Also werde ich nur weiter gehen und Nun, ich werde nur kopieren die erstellen, dass es bereits einige der Visum will. Ich bin mit dem Frieden. Ich nehme die Liste von Urlaubstypen raus. Alles klar, Andi. Stattdessen werde
ich ein solides Objekt vom Typ Blatttyp setzen. Zusammen mit was? Ich brauche nicht einmal das i d also setze ich nur dieses feste Objekt ein, weil ich vielleicht
den Typ drucken möchte . Es ist die Zahl, ähm, die Zahl der Tage,
jemand, der auf die Zahl von diesen verweist. In Ordnung, lassen Sie mich den Namen ändern. Das wird also bearbeitet werden. Allokationsansichtsmodell belassen, richtig? Was sonst noch? Was? Ich brauche definitiv für diese Form. Echt. Schließlich brauche ich nur die Mitarbeiter, den Urlaubstyp und, na ja, ich muss das I d behalten, so dass es versteckt und Übergang werden kann , wissen
Sie, So dass Bearbeiten Bearbeitungsbildschirm wirklich nur zu haben das versteckte Gefühl für das i. D, um zu verfolgen, welcher Datensatz bearbeitet wird. Es wird wahrscheinlich einige Details für die Angestellten haben. Vielleicht möchte ich etwas für die Angestellten drucken. Ich schließe das Objekt ein. Es hat eine Anzahl von Tagen, die Änderungen vorbehalten ist. Dann haben wir die Urlaubstyp Details, die, was ich meine, ich meine, möchte Details noch einmal anzeigen. Also weiß ich, dass ich dieses Ansichtsmodell habe. Ich habe diese Änderung vorgenommen, die ich gerettet habe. Jetzt kann ich zurück zu meinem Comptroller gehen und das kann ich wieder tun. Also, statt Mapping, um verlassen anzuzeigen, schaue
ich, es ist auf VM. Ich ging zu meiner bis zu bearbeiten verlassen Allokation VM auf. Was das tun wird, ist nehmen Sie die relevanten Gefühle aus der Datenbank Lassen Sie uns daran erinnern, dass dies Anwalt
ist ein ganzes Objekt mit allen Details auf wird nur
die relevanten Mopp benötigt basierend auf dem, was wir in der Ansicht Modell jemand toe definiert erstellen Sie die Ansicht erneut . Wählen Sie die Bearbeitungsvorlage auf der Modellklasse wird sein und es ist die Behauptung VM verlassen und ich kann klicken. Fügen Sie hinzu, es ist ein Notizen. Nein, wir landeten mit unserem darin aus Onda. Äh,
alles, was wir haben, sind Gefühle für die Idee, auf der verborgen ist. Wir haben die Texteingabe für unsere Anzahl von Tagen. Also, wie ich in einem früheren Hören sagte, wenn wir und ich es einfach schnell finden Wenn wir Klassentypen haben, können
die komplexen Typen es nicht durchbrochen werden, also ignorieren sie es normalerweise. Untersteuern mit den einfachen Typen, die in
String,
etc. sind String, . Es weiß bereits, dass ich d viel der Schlüsselwert in der ursprünglichen Datentabelle ist. Deshalb haben
wir bei der Generierung auf die Daten der Datenkontext-Klasse ausgewählt. Es wusste, dass, Okay, so viel ist die Idee, die von Drang nichts kommt. Also werde ich es einfach versteckt machen. Also ich meine, es ist es, eine Menge von Dingen abzuleiten. Basierend auf der Art und Weise, wie wir unseren Code schreiben, können
wir den Betrag von der Bearbeitung begrenzen, wenn wir nur den Standard direkt von dem einen einrichten. Der Standard hier ist also, dass wir ein Ansichtsmodell purview auf erstellen. Dann benutzen wir unser View-Modell, um zu informieren, was an diesem Strand war. Ordnung, also werde ich Tag erscheinen lassen, damit der Titel dieser Rede so etwas wie
alles sagen wird . Und dann kann ich beim Modell sagen, nicht Typ Punktnamen verlassen. Richtig. Wenn wir also den Datensatz für diese Zuordnung abrufen, die wir ändern, sollten
wir den Blatttyp kennen Und denken Sie daran, dass wir die Blatttyp-Entität bereits in
alles enthalten haben, was Ablasszuweisungen ist. Also haben wir Zugriff auf alle Details. Also sage ich alles, was dieser Urlaub Typ unseren Standort für On, dass ich den
Namen des Mitarbeiters bei Sion Modell Punkte setzen kann , Mitarbeiter Punkte auf. Dann werde ich den Vornamen auf sehen. Kopiere das einfach nochmal. Also natürlich, basierend darauf, wie Sie wissen wollen, ob ich bereits den Standard off Nachname Komma, Vorname Also lassen Sie mich sehen. Nachname, Komma, Vorname. In Ordnung. Auf Wenn, wenn wir zu diesem Punkt kommen, erhalten wir eine weitere Ausnahme, weil vielleicht Mitarbeiter
erscheint leer. Dann können wir immer einfach zurück zu unserem Repository auf einem anderen gehen. Für Mitarbeiter einschließen. Tja, lassen Sie es uns zuerst testen. Verstehen? Verwenden Sie den Browser-Link auf Ansicht im Browser. In Ordnung, also lassen Sie uns testen unsere Bearbeitungsschaltfläche Jemand, um auf Bearbeiten zu klicken. Aber oh ah, es dreht sich immer noch bis ins Detail. Ich muss einen Fehler in meinem Ah gemacht haben, das sollte SB-Aktion sein. Und das sind P-Wurzeln. Also mein schlechtes. Das sollte sp Aktion mich, die geändert Speichern auf dann unsere Seite neu laden. Alles klar, so machen diese Bearbeitungen Nein, ich sehe, dass der Link ausgibt oder richtig klicke ich auf DNO Wir bekommen einen Fehler. Ein Boot? Ah OK, also bekomme ich einen Fehler. Es ist Allokation VM eingeschaltet. Das ist nicht im Herbst. Oper unterstützt Wischen rechts Onda Wir würden durch einige Herbst oberen
Konfigurationen gegangen waren in unserem Wischen. Wir müssen dafür sorgen, dass wir das erhöhen, was auch immer wir referenzieren. Also muss ich Betrag zwischen Urlaub Zuteilung onder schaffen, dass Partikel verstehen dieses Land
zu duplizieren für verlassen unsere Zuteilung auf. Dann werde ich sagen, ich möchte eine Zuordnung zwischen der IV-Zuweisung auf der Edit-Urlaub Allokation VM. Also, wenn Sie diesen Pfeil bekommen,
alles, was Sie tun müssen, aktualisieren Sie
einfach Ihre Wischkonfiguration auf,
dann, wenn Sie das getan haben, sollten
Sie in der Lage sein, vorwärts zu drücken. In Ordnung, ich weiß, dass wir das Mapping beheben, ist, dass Sie wissen, wir sehen, dass andere Probleme ein Boot, diese Objektreferenz nicht absetzen, zum Beispiel, zum Beispiel,
so dass Sir Peter von einer früheren Ausgabe mit Urlaub Typen waren, wo zu setzen, die unsere Include-Funktion enthält. Also werde ich einfach wieder gehen,weißt
du, weißt
du, nach einer Weile diese Fehler, siehst du sie und dann bist du wie:
Oh, Oh, ja, das muss ich tun. Und deshalb mache ich diese Übung oder diese Übungen, so dass wir die häufigsten Fehler
sehen können , um zu lernen, wie man sie repariert. Ähm, weißt
du, schnell. Also habe ich Urlaub Typ eingeschlossen. Ich kann hinzufügen. Ein anderer gehören O R, Ich kann sagen,, Dann schließen Sie auf dann werde ich in einem anderen Lambda Ausdrücke setzen. Also schließen Sie verlassen Typ, dann schließen que Punkte über. Nein, tut mir leid. Das ist dann, wenn Sie Daisy-Verkettung sind. Also, wenn es etwas gibt, das ich auch einschließen wollte, dann würde ich verwenden, dass jemand Zeh auch so einschließen, lassen Sie den Typ an, dann schließen Sie Mitarbeiter ein. Dann werde ich versuchen, die Seite noch einmal zu laden. Also werde ich mich erfrischen. In Ordnung, so dass Modifikation ihm nicht gedient hat. Und das liegt daran, dass es mir leid tut. Ich meine die Änderung der falschen Funktion. Also in diesem Partikelverschmutzung wurden mit finden durch, Ich d nicht herausfinden,. Also muss ich im Grunde sagen, dass, wenn ich finde, dass ich dieses bestimmte Objekt finde, also versteht Brick Lane auf. Dann führe ich die Include-Zeilen aus. Also gut, vielleicht würde ich das vor dem Fund tun. Also lass mich mal sehen. Das ist gehören, die Recht enthalten. Und dann finde ich es in Ordnung. Also müssen wir es reflektieren. Es wird ein bisschen genannt, weil ich sagte, ich möchte die Urlaubsanweisungen und ich möchte diese
Entitäten einschließen und dann erkennen wir, dass Find-Funktion kein Sprichwort ist, dass es nicht verwendet werden kann , also ist das kein Problem. Das ist kein Problem. Anstatt find zu verwenden, werde
ich einen anderen verwenden, der zuerst oder default genannt wird. Also werde ich nur finden entfernen und ich werde zuerst sagen, nicht zuerst oder Standard auf dann
zuerst oder Standard nimmt einen Holzausdruck so weit des Lambda, indem ich Q in meinen
Pfeil einfüge , was Gleichheitszeichen auf der Klammer ist, Sake du dot So dann erlaubt mir das mir zu sagen, ich will das erste Element oder nein, Wenn du es nicht finden kannst, gib mir Nein, Aber ich will das erste Element, das viel ist diese Bedingung und die Bedingung, die ich will die erste Element auf ist, dass das i D in der Aufzeichnung viel das i d ist, das hereinkommt. Alles klar, auf der einen Seite könnten
wir finden verwenden, aber dann sehen wir, dass es Einschränkungen gibt, weil ich fehlende Daten oder andere
Elemente einschließen wollte . Sind die Bits off Daten aus anderen Tabellen? Onda Fine, hör auf zu arbeiten. Also habe ich nur eine Alternative benutzt. So Link ist sehr mächtig, sehr flexibel auf es hat viele Optionen, die Sie verwenden können, um eine bestimmte Aufgabe zu erfüllen, jemand zu aktualisieren und zu sehen, ob das mein Problem löst. Alles klar, ein Nirgendwo im Geschäft. Also sehe ich das. Es sagt mir, ich bearbeite Krankheitsurlaub. Also, das ist Urlaub Typ, der aus dem Datensatz über die Zuweisung von vier Testbenutzer oder
Benutzertest kommt. Richtig? Nachname, Komma, Vorname. So sieht dieser Bearbeitungsbildschirm aus. Dann kann ich eine Anpassung an die Zahl vornehmen. Also, wenn ich das Gefühl habe, dass sie mehr oder weniger D haben sollten, bemerkte
ich die Elemente, die das Etikett sind Zahl von diesen natürlich. müssen wir ändern. Geben Sie ihm einen richtigen Anzeigenamen im Ansichtsmodell. Also habe ich dir schon gezeigt, wie das geht. Ich werde nicht betonen, dass jedes einzelne Video, wie Sie gehen, tun Sie das, um sicherzustellen , dass Ihre Einmischung sauber ist. Ich konzentriere mich wirklich auf Funktionalität. Aber dann wird meine endgültige Quelle in der Regel all diese kleinen Anpassungen haben, während wir weitergehen. Also nein, ich werde an Bord feuern, String-up die Post-Edit-Aktionen, die, wenn ich klicke, speichern Sie es tatsächlich die Änderungen an der Datenbank jemand, um zurück zu gehen, um Management zu verlassen , gehen Sie zurück zu unserem Controller, und dann werden wir anfangen, den Beitrag zu ändern, sollte schnell sein. Also werde ich sagen,
anstatt eine Idee zu nehmen und die Formularsammlung zu fangen, akzeptiere
ich die Bearbeitung. Lassen Sie die Zuweisung VM aktiviert. Ich nenne es Modell. Alles klar, wenn
wir posierten, bekomme
ich ein bisschen aus Daten mit diesem Objekt namens Modell von diesem Typ mit einer gewissen Menge an Daten auf. Dann, was ich tun werde, ist zuerst, sie speichern unseren Standort ist gleich einem Mapping off auf unserer ruhigen oberen, nicht Mopp auf. Ich ging, ähm, von Edit
rauf. Entschuldigung. Ich werde wischen, um zu gehen. Ordnen Sie die Datenklasse zu, also lassen Sie die Zuweisung für das Objekt, das ich zuordnen möchte, belassen. Allokation-Datentyp ist Modell. Ordnung, also ist dies Bearbeitungen verlassen Zuweisung. Ich mappe es nur auf die ursprüngliche Datenklasse zurück. Dann gehe ich zu Nun, eigentlich überspringe
ich hier ein paar Schritte, also sollte man eigentlich sagen, wenn man das öffnet und dann den Modellzustand sieht, gültig
ist. Also, wenn es unser ist, lassen Sie mich sagen, ob es nicht gültig ist, wenn nicht, ist der
Modellzustand gültig,
was bedeutet, dass er nicht variiert. Dann wollen wir die Ansicht auf wir übergeben zurück Modell Onda. Nun, es wird sich um das kümmern, was Eros da sind. Also haben wir das alles schon im Blatttyp-Controller gemacht. So können wir das ist eine falsche Akte. Wir können tatsächlich auf eine Referenz gehen, ähm, der Logik, die in der Blattzeit-Controller in unserem Editor etwas
sehr Ähnliches getan wird. Wir sagten, wenn es im Gegenzug nicht gültig ist, ansonsten beginnen alle unsere wunderbaren Operationen zu tun. Also, wenn Sie nur, wenn Sie vergessen haben, halten Sie es zu tun oder was zu tun. Sie können immer zurückgehen und referenzieren, was wir mit dem Blatttypen-Controller gemacht haben. Aber ich werde vorwärts drängen. Also kehren wir zurück oder sehen, was unsere Ära schon haben würde. Sonst drücken Sie
die Presse, wo wir die Mop-Version vom Modell zurück in die Datenklasse bringen, die
ich den Urlaub Allokation Bericht Punkte nennen werde. Dann erwartet es einen Datentyp aus Urlaub Allokation, die wir in unserem Allokationsmodell haben , das wir gerade erstellt haben, und erinnern Sie sich, dass dies ein Barren ruft, so dass ich unsere speichern kann . Erfolg ist gleich, dass auf. Dann können wir überprüfen und sehen, ob nicht so, wenn offene Brise, wenn nicht, ist Erfolg. Das bedeutet also, dass es kein Erfolg dafür war. Dann können wir Modell ST Punkt hinzufügen, so dass wir eine Röstung in einem Modellzustand bei Modellfehler hinzufügen können. Und dann ging ich, um das zu öffnen und es gibt keinen Schlüssel, aber dann wird die Nachricht beim Speichern Fehler sein. Alles klar, dann haben wir wieder diese Ansicht. Wenn das und das alles ist, wenn es kein Erfolg ist, richtig, wenn nichts davon ausgeführt wird und wir zu irgendwo zurückkehren wollen, also möchte ich stattdessen den Index nicht umleiten, werde
ich zu den Details Rede gehen in, dass ich d. Also ah,
kleine Herausforderung hier wissen, ist, dass ich die Idee von den Mitarbeitern nicht kenne, weil ich nicht dafür in der Edit Urlaub Zuteilung
gegangen bin. VM jemand, um nur eine schnelle Bearbeitung zu machen Bereits der Mitarbeiter vm Einige gehen gerade um
den Mitarbeiter hinzuzufügen . Ich d Alles klar,
Also, indem Sie es dem Ansichtsmodell hinzufügen, Nein, ich kann Zugang sind billig. Diese Idee unsere eigenen während meines
Kopfes, es ist Operationen gehen zurück auf die Bearbeitungsseite auf unserer sie haben eine versteckte, bevor sie
Allokationsideen verlassen . Also werde ich nur ein weiteres Verborgenes erschaffen. Und dieses Mal wird es für die Mitarbeiter sein, die ich d. So dass, wenn wir das Formular einreichen, halten
wir immer noch das Original I d auf dem I d Wert, der von unserer Seite kommt. Also zurück in oder Kontrolle oder nein, was Handling oder Geschäftslogik ist, werde
ich sehen, dass ich die Option namens Details umleiten möchte. In Ordnung, also leiten wir riss Details, Aktionen auf oder Details Aktion wieder erfordert auf Mitarbeiter i d also werde ich Komma sagen müssen. Dann möchte ich etwas wie neu sagen, und anstelle eines neuen Objekts auf gehen, um dieses Objekt aufzurufen, während die Eigenschaft des Objekts wird ich d auf es Modell Punkte Mitarbeiter I d nehmen. Also lassen Sie mich einfach überprüfen, dass schnell. Denken Sie daran, dass wir die Zehe in Aktion umleiten. Wir haben dies bereits gesehen, wo es Operation abgeschlossen ist und es wird auf
standardmäßig umleiten wird Index umleiten,
was in Ordnung war, weil Index nicht ah-Parameter erforderlich. Lassen Sie mich einfach nach oben scrollen, um schnell zu indizieren. Index benötigt keine Wohnung, nachdem Sie die Bearbeitung für einen Mitarbeiter abgeschlossen haben, möchte
ich nicht, dass Sie zurück zum Index der gesamten Liste gehen. Off-Mitarbeiter sind das ganze Zeug. Lassen Sie Typen, um dann den gleichen Prozess zu durchlaufen. Ich wollte nur zu meiner Platte zurückkehren, falls du noch einen bearbeiten wolltest. Wenn Sie dies nicht tun, können Sie
anschließend zur Liste zurückkehren. Was, nachdem Sie bearbeitet haben, wollte
ich mit meinen Blattzuweisungen auf die Details aus meinem Datensatz umleiten. Stattdessen dort standardmäßig geistlos indizieren, kann
ichdort standardmäßig geistlos indizieren,wo ich auf welche Aktion umleiten wollte. Ich wollte
auch die Aktion umleiten, die ich umleiten wollte . Und ich gehe einfach zurück zu meinem Idioten. Aktion, auf die ich umleiten wollte, ist Details, diesmal
nicht Index, diesmal
nicht Index,
aber Details zu dann Details erfordern einen Umfang von String namens I D. Also muss ich dann Ah Kegel dafür machen. Und ich sage nur Komma neu auf dann den Namen aus der erlaubten erwarteten seine Ideen, also muss ich es nennen ich d auf. Dann gebe ich ihm einen Wert. Und der Wert, den es bekommen soll, ist der Mitarbeiter i
d. Den ich innerhalb des Modells speichere, das als Wert aus dem Bearbeitungsformular kommt . In Ordnung, also wissen Sie, dass all diese Anpassungen vorgenommen wurden, ich kann die Verschiebung kontrollieren und s Änderungen quer als jede Datei
täuschen. Das bedeutet nicht ernst, die Verschiebung zu kontrollieren und ...
ich weiß, das zu testen. Also werde ich das von 10 Zeh ändern. Nehmen wir an, sechs sechs sollten ein Clearing von Wert sein, um den Unterschied zu sehen. Klicken Sie auf Speichern. In Ordnung, also bekommen wir eine andere Ära. Andi, das kann ich dir sagen. Nun, wenn Sie diesen Fehler erhalten, weil er nicht ist, versucht
er, die Ansicht ohne die Daten neu zu laden. Also lassen Sie uns einfach sagen, dass etwas mit unserer Schnur nicht stimmt. Andi,
ich kann Ihnen sagen, dass es wahrscheinlich die Ansicht neu lädt, weil entweder das Modell nicht bewertet wird oder das nicht erfolgreich ist, oder es versucht die Operation und stößt auf einen Fehler auf DSO. Es gibt die Ansicht zurück, und ich vermute, dass es wahrscheinlich die Tatsache ist, dass es den Fehler bei der Rückkehr in der
Ansicht fängt . Also, was ich tun werde, ist, dass wir es ändern, dieses Update es ein bisschen auf das, was ich
tun werde , ist tatsächlich bauen die Entität ein bisschen besser. Was also passiert ist, ist, dass es eine Ausnahme fängt, wenn es versucht, die
Änderung zu begehen , und das liegt daran, dass einige von den Daten nicht mit dem, was sie erwartet. Also werde ich dies in dem Sinne ändern, dass ich den ursprünglichen jemand finden werde zu sagen, Get Datensatz wird gleich auf der Partitur sein, Lassen Sie Zuteilung Menschen Punkt und ich werde den Datensatz zu finden, der bearbeitet werden wird. Finde es nach seinem I D, das modelliert wird, dass ich richtig bin, und dann, nachdem
ich es angerufen habe, kann ich die Werte direkt zuweisen, so dass sie auf der Karte in nicht unbedingt so sauber funktionieren, wie wir es möchten Also, wissen
Sie, Fall für Fall Basis. Du siehst, wo es perfekt funktioniert. Wir sehen, wo es vielleicht nicht so gut funktioniert. Dies ist also eine jener Situationen, in denen möglicherweise nicht so gut funktionieren. Und so werde ich eine große Kreative auf ein bisschen schmutzig in der Art, wie ich werde Zeh ich niedrig es zu bearbeiten. Also nein, ich weiß, dass ich eine Loch- und Editierfunktion bin. Nur wirklich ein Feld, das von der Editierurlaubszuweisung kommt, ist wirklich ein Gefühl, dass ich basierend auf dem Formular
ändere und das ist die Anzahl von Tagen. Was ich also tun werde, ist, den ursprünglichen Datensatz abgerufen zu haben, der bearbeitet werden soll, und ich nenne ihn Datensatz. Ich werde dann diesen Teil entfernen, wo ich das Wischen mache. Dann werde ich ein Datensatzkanalfeld sehen, von dem ich weiß, dass ich aktualisiere. Oder wenn es mehr als man fühlt, so dass in diesem Fall
das Gefühl, dass ich aktualisiere, Anzahl von Tagen ist. Ich werde sagen, die Anzahl der Tage ist nicht gleich dem Modell dieser Anzahl von Tagen, also welcher Wert von dem Formular übergeben wurde, gebe ich keine Zuweisung. Es ist zu diesem Datenbank-Datensatz, aber denken Sie daran, dass in diesem Stadium nichts wirklich passiert, bis wir unsere it-Funktion abrufen. Also, dann werde ich die Update-Funktion aufrufen auf Ich übergebe das Objekt aus dem Datensatz statt der ursprünglichen Zuweisungsobjekte, die wir gerade entfernt haben. Dann wenig bekannt, dass wir nicht in Modell setzen. Also hast du deinen rührenden Ausnahmen gesagt, Andi. Also werde ich das noch einmal versuchen,
jemand, um Kontrollverschiebung zu speichern und s an. Verwenden Sie dann den Browser-Link, starten Sie unsere Anwendung neu und versuchen Sie den Vorgang erneut. Also zurück auf dem Bildschirm, werde
ich diesen Shop sechs ändern und dann auf Onda speichern klicken. Wir sind wieder dran. Wir haben neu geladen sind Details Seite zu tun bemerken, dass wir den neuen Wert widerspiegeln. Das hatte also eine Menge Übung, die wir gemacht haben. Wir haben ein neues Modellansichtsmodell erstellt Wir haben versucht und Feld bei bestimmten Operationen, aber wir haben eine Lösung gefunden und das ist, was Programmierung ist wirklich alles ein Boot. Es gibt viele Möglichkeiten, das zu erreichen, was Sie erreichen müssen. Sie müssen nur sein oder Angst mit den verschiedenen Techniken, die Sie dort auf stellen Sie sicher, dass Sie die besten Entscheidungen treffen, wie Sie gehen entlang. Also mit dieser Operation, tragen
Sie nicht so ziemlich fertig mit unserem Urlaub Allokation-Modell, wo wir viel für eine das automatisierte Sitzen von den Zuweisungen pro Typ. Sie können mehr Geschäftslogik für mich mit meinem Anwalt hinzufügen, um Ursache offensichtlich zu verlassen, Ihre Mahlzeit Mitarbeiter sollten nicht Mutterschaft bekommen. Lassen Sie diese so, dass zwei Änderungen erforderlich wären. Sie müssen dem Benutzerprofil ein Geschlecht hinzufügen und dann fügen Sie das Geschäft der Logik hinzu, um zu sehen ob das Geschlecht eine bestimmte Art ist und dann im Mutterschaftsurlaub tut. Aber das haben wir getan. Wir haben auch heiß morgen, wo Identitätsbenutzer-Klasse, so dass wir mehr Details über unsere Benutzer bekommen könnten. Wir haben die Details hinzugefügt, wo wir ihr Profil sehen sowie Wasserentlastungszuweisungen
gibt es auf dann, schließlich, für diese Lektion, würden
wir in der Bearbeitungsfunktion in der Lage sein, die Zuweisung für ändern dass, Partikel Mitarbeiter. Also im nächsten Video werden
wir nur ein paar letzten Schliff machen. Dann werden wir unsere aktualisierte Anwendung zu unserer Quellcodeverwaltung einchecken
35. Übersicht und Änderungen in GitHub: Hey, Leute, in diesem Video werden
wir uns nur einige Änderungen ansehen, die wir vorgenommen haben, und einige Änderungen, die ich vorgenommen habe, vielleicht außerhalb des Bildschirms. Dann checken wir ein oder CO, um aufzustehen. Also nur um zu überprüfen, haben wir nur in unserem Urlaub Allokation-Modell, wo wir die Admin-Benutzer toe erlauben. Sie wissen schon, Attribute. Verlassen Sie diese Ferien. Das sind geheimnisvolle Tage. Was auch immer Urlaubstyp ist in diesen Tagen. Holen Sie sich zugeteilte Zehe Mitarbeiter auf. Dann, sobald sie als der Admin-Benutzer zugeschrieben werden, können Sie entweder von Ihnen oder ändern, falls erforderlich. Also wissen Sie, wenn wir gehen, um zu verwalten, wir gehen, um Zuweisungen auf zu lassen. Dann öffnet sich ein Bildschirm, der uns alle verschiedenen Typen und dann die Funktion zeigt, so dass wir tatsächlich mit den Zuweisungen für das Management beginnen können. Abgesehen von den Zuweisungen, die wir an die Mitarbeiter bekommen, wo wir alle Mitarbeiter im System sehen werden. Im Moment haben
wir nur zwei auf, die es uns ermöglichen, die Details von diesem Mitarbeiter zu sehen. Wenn ich also auf Details klicke, die wie ein wenig Sprache für auf geladen werden, ziehe
ich den Namen des Benutzers an. So wissen Sie genau, welchen Datensatz Sie in der E-Mail-Adresse verwenden. Volle Nummer. Einige davon sind leer, aber was? Eine der Anpassungen und gemacht aus der Kamera war die Tagesnotation für das Modell, das verwendet
wird, um diese Sprache zu laden, so dass unsere Etiketten ein bisschen besser aussehen, weil es Kamelgehäuse
gewesen wäre , wissen
Sie, gäbe es keinen Platz und so weiter. Also gebe ich sie ein, indem ich diese Datenannotationen zum Ansichtsmodell hinzufüge. Andi, das ist in den Daten sehen ein bisschen schärfer aus. Ich hätte auch bei der ging für das Feld geändert, dass jeder Urlaubstyp in der Typzuweisung generiert wird oder verlassen wird. Onda änderte auch, wie die Schaltflächen neben der Formulierung aussehen. Ich habe auch die Schaltfläche der Gefechtsliste geändert. Also dieser Kampf bringt uns dieser Knopf die Indexrede zurück. Dann, wenn wir auf Bearbeiten klicken, gehen
wir zu unserer Bearbeitungsseite, wo wir Nummer aus sehen. Dadurch wurde auch die Beschriftung für dieses Formular auf geändert. Wir können den Wert ändern, den wir klicken, speichern, wir gehen wieder auf, def. Wir kommen zurück zu den Details. Wir laden einfach die Detailseite neu, so dass wir, wissen
Sie, unsere eigenen leichter
navigieren können und vor allem, was wir haben, sind oben jetzt. Also, nachdem ich all diese Änderungen vorgenommen
habe, werde ich in diesem Gericht überprüfen. Wenn Sie darauf verweisen müssen, dass Sie immer auf Verweis auf diese Version vor dem Gericht gehen können. Aber wir tun es einfach die einfache Art und Weise, wo wir gehen zu Visual Studio Onda erinnern alles mit einem Ketzer bedeutet, dass es seit der letzten Version geändert wurde. Und dann haben Sie eine Menge Ketzer, denn abgesehen von den Must-Updates mussten wir bezüglich der
Identitätsaktualisierung vom Wechsel vom Identitätsbenutzer zum Mitarbeiter-Klassentyp tun . Aber das hat wirklich keinen Einfluss auf das ultimative Ziel, das ist nur Rechtsklick oder Lösung, gehen Sie zu Commit und dann gut oder Kommentarnachricht wird ein wenig langwierig sein Wenn
wir Annacone für all die Änderungen ausprobieren, die wir vorgenommen haben jemand zu sagen implementiert, lassen Sie einen Standort Modul Onda geändert. Ich benutze nicht die Mitarbeiter. Alles klar, das
haben wir bei Staatsanwaltschaft gemacht. Ich gehe nur Zeh, bekomme das Richtige hier und sag dann Commit all und sinke und meine so das lokale Commit auf, dann synchronisiert mit unserem Remote get hope Repository und das ist es für dieses Modell. Wenn wir zurückkommen, werden
wir das Urlaubs-Antragsmodell einrichten, bei dem wir niedrige Mitarbeiter sind Urlaub auf der Grundlage ihrer Zuteilungen
beantragen. Andi Khomeni Bienen, Sie haben ausgelassen, dass Zuteilung auf. Dann werden wir im Admin-Panel sitzen, um unsere Ablehnung dieser Urlaubsanträge tatsächlich zu genehmigen . Also bleib dran, mehr Spaß zu kommen.
36. Modulübersicht für die Employee Module: Leute, willkommen zurück. Wir werden heute ein neues Modell starten, und das wird für den Urlaub sein. Anwendungen für dieses Modell werden die Einrichtung der Funktionalität, die unsere
Mitarbeiter viel in der Lage sein wird , für Urlaub oder was auch immer Art Urlaub es ist, Andi, wir setzen die Funktionalität, die der Admin-Benutzer zu genehmigen hat. Also, wenn die Person die Antragsanfrage bedeutet, geht
es in, ah, Status ausstehend auf dann wird es entweder genehmigt oder vom Admin-Benutzer Onda abgelehnt. Wenn eine
der beiden Aktionen eintritt, der beiden Aktionen eintritt, protokollieren
wir sie und ändern die Flagge und wir passen auch die Anzahl von Tagen an, die die Person weiß verfügbar hat. Also all diese Funktionalität wird in dieses Modell auf dem Bildschirm gehen hier. Ich habe wirklich nur diese verlassen Historie Klasse,
ähm, die Datenklasse, die mit dem Urlaubshistorie verbunden ist. Also werde ich die Einmischungen schnell heraufbringen, und das sind unsere Einmischungen jetzt. Und unter verwalten kann
der Admin-Benutzer die Urlaubsanwendungen anzeigen. Allerdings sollte
jemand, der kein Admin-Benutzer ist, nicht in der Lage sein, verwalten zu sehen, aber er wird in der Lage sein, Urlaub zu beantragen. Zugegeben, Sie müssen bereit sein, gerührt Mitglied aus der Website der spielerisch So werden wir die Einrichtung von Berechtigungen auf
dem Urlaub Anwendung Funktion auf wird die Einrichtung der Funktionalität für die Genehmigung. Andi Ablehnung So wird es auf dem Weg zu geringfügigen Änderungen an der Datenbank geben. Aber in diesem Modell werden
wir einige nette Steuerelemente wie unsere Kalendersteuerung implementieren, so dass die Person das Startdatum und das Enddatum auswählen kann. Wir setzen Intelligenz ein, um sicherzustellen, dass Sie wissen, dass sie ein Startdatum einreichen können. Das ist weiter in den Tag in der Zukunft als das Endbit, wissen
Sie, wird die Lösung anpassen und einige nette Kontrollen einbauen. Ich denke, wir werden eine Menge Spaß in diesem Modell haben, also bleiben Sie dran. Es wird nur mehr und mehr Spaß zu bekommen
37. Modul für die Mitarbeiter/innen – Database und Viewmodels: Hey, Jungs, Willkommen zurück in diesem ersten Video, Ich werde nur eine leichte Änderung an meiner Datentabelle machen auf Es ist wirklich nur, um
den Namen zu ändern . Ähm, also habe ich es hier ist die Geschichte zu verlassen. Aber, wissen
Sie, wenn ich es noch einmal sah, wie ich Geschichte verlassen, die auf persönlichen klingt, vielleicht ist es besser, als lassen Anwendungen oder verlassen Anfragen. Jemand, der es nennt, verlassen Anfragen. In Ordnung. Auf allen Fraktionen, ein Klassenname, dann muss ich sicherstellen, dass das Gericht Kehle re Faktor gebrochen. Alle Verweise auf diese Klasse Hals mein Mantel. Also Regionen zu tun, macht es mir einfach, es überall anders umzubenennen. Es könnte referenziert werden, einschließlich in den Repositories und anderswo auf kann ich das einfach tun. Umbenennen auf dem Net-Effekt ist, dass das Repository es geändert hätte. Wenn ich in den Anwendungs-BB-Kontext gehe, hätte
es nötig, ihn zu modifizieren. Andi,
ich sehe hier ein paar DB-Sets. Das sollte wirklich nicht irgendwo da sein. Zehe entfernen Sie das. Entschuldigung. Wenn Sie das in Ihrem Code sehen,können
Sie sich frei fühlen, sie auch zu entfernen,
ich werde untersuchen müssen, warum sie da waren,
aber es sollte kein Schaden sein, um sie zu entfernen. Wenn Sie das in Ihrem Code sehen, können
Sie sich frei fühlen, sie auch zu entfernen, ich werde untersuchen müssen, warum sie da waren, In Ordnung, also dann ist die Einstellung Urlaub Anfragen nein. Und dann natürlich. Wenn wir den Klassennamen ändern, muss
ich den tatsächlichen Namen ändern. Der Tisch bringt Sanderson dazu, sich zu ändern. Das verlangt Onda. Die letzte Sache ist, dass Sie immer sicherstellen möchten, dass Ihr Name von Ihrer Datei viel
der Name Ihrer Klasse ist . Also habe ich gerade umbenannt, dass auch aus der Geschichte, um zu verlassen, ob Anfrage aus der Datei scheint wirklich die Klasse eingeben sollte, sollte nicht er verlangt jemand, um eine andere
Umbenennung Schrecklich zu tun , das ist nur ich versuche Zeh. Stellen Sie sicher, dass sie hier sagen, dass es eine Zukunft gibt, die ich kann. Jeder
ist jemand . Es ist kein Schaden angerichtet. Denken Sie also daran, dass der Klassenname irgendwie einzigartig sein sollte. Aber dann
kann der Tabellenname, wenn er referenziert wird, wenn er referenziert wird,Plural sein. Richtig? Also lassen Sie die Anfrage auf. Wir haben die Tabelle Urlaub Anfragen. Das ist also Veränderung. Nummer Eins in die Datenbank. Ähm, Andi. Aber das ist so ziemlich die einzige Änderung, die ich jetzt machen möchte, da wir unter dem Modell vielleicht Bedürfnisse ändern werden. Vielleicht kommt etwas anderes auf sich. Wir sollten mit keinem vertraut sein, welche sich jemals ändern. Wir müssen es zur Datenklasse schaffen, damit wir eine Tabelle hinzufügen. Wir erstellen eine neue Datenklasse, stellen sicher, dass sie in den DB-Set-Referenzen dargestellt wird, oder wir machen einfach alle Änderungen gestartet zwei Klassen und führen dann oder Migrationen. , was ich in diesem speziellen Video tun möchte, ist jedoch Das nächste, was ich in diesem speziellen Video tun möchte, ist jedochnur das Einrichten eines Ansichtsmodells. Also gehe ich in die Ansicht zum Models-Ordner in einer Klasse, auf der ich es
verlassen nennen werde,
fordere VM an verlassen nennen werde, und lasse dann die Anforderung V M die basierte Ansichtsmodellklasse ist. Ich werde nur alle Eigenschaften aus der ursprünglichen Klasse und Platz in diesem
Bereich nehmen . In Ordnung, also habe ich so gerne
eine Basis erschaffen also habe ich so gerne
eine Basis erschaffen. Und dann natürlich nicht die tatsächlichen Datenannotationen, benötigt
das Biest
natürlich nicht die tatsächlichen Datenannotationen,die ich für die Datenklasse benötige, so dass Sie diese einfach entfernen können und dann ändern wir die Verweise auf die entsprechenden
Ansichtsmodelle oder seine Mitarbeiter VM Blatt Typ VM auf Mitarbeiter vm wieder. Zumindest sind wir sicher, dass wir eine direkte Vertretung haben. Deshalb habe ich immer diese Bestie Ansicht Waddle, weil es eine direkte Zuordnung zwischen
dem Onda-Ansichtsmodell der Datenklasse ist. Dann, wenn wir die anderen Schnittstellen bauen, dann können wir beginnen, die Variationen danach zu haben. Nein, das nächste, was ich tun möchte, ist sicherzustellen, dass ich das Wischen habe. Andi, wenn Sie bemerken, dass ich dafür keine Kartierung habe. Nun, ich hatte Urlaubsanträge, etwas änderndes Urlaubsantrag auf Dann habe ich, was ich habe. Verlassen Sie die Geschichte Veum schon. So sehen Sie, deshalb benennen, wenn ich so wichtige Ursache habe, dass ich es bereits als verlassen Geschichte VM. Aber ich habe nur die Zeit, um auf die Anforderungs-VM zu wechseln, so dass ich einfach Leaf History
vm diese Entität entfernen kann , die eine Notiz auf. Wenn Sie die beiden Dateien vergleichen, werden
Sie Unterschiede sehen. Aber während wir weitergehen, werde
ich bestimmte Dinge zurücksetzen, die wahrscheinlich im
New Wonder fehlen werden . Das ist in Ordnung. Ich will nur nicht, dass der Zeh die einfachen Dinge noch kompliziert. Also das nächste, was ich tun möchte, ist sicherzustellen, dass das Mapping das Auto für
Urlaubsanfragen Mapping hat , Tabelle auf Urlaub, Anfrage VM und dann können wir eine Build-Holding auf Kontrollverschiebung durchführen und B drücken und dann nur um sicherzustellen, dass wir keine Fehler haben und ich habe einige Fehler. Es ist also immer gut, einen Build zu machen und dann merkt man, dass man die Ära hat. Also die Luft Amiri ist, dass ich die Referenz von Urlaubsanfragen nicht geändert habe. Das ist also eine der Don't Size, eine 40 nach mir
reflektiert. Sicher, du wechselst das Kabel in allen Räumen. Es kann immer nur die Verschiebung kontrollieren und eingeschaltet sein. Dann wird es Ihnen sagen, dass es Feld Visual Studio verloren, um Ihnen zu sagen, dass Sie wissen, wo Sie fühlen, so dass sie Sie ehrlich zu halten. Aber dann kann ich einfach F in dieser Datei steuern, Urlaubsanforderungen
finden und durch Lead-Anfragen auf diesem Ersetzen ersetzen, sind alle wissen psy , das aktuelle Projekt ist. Ich möchte sicherstellen, dass es nach einem Dokument sieht, dass Sie vorsichtig sein müssen, damit es im
gesamten Produkt zu tun , damit die Koran-Dokumente Onda ersetzen. Dann müssen wir die ganze Referenz des Blaugrün ändern, weil sie es nennen, seine Bäume
verlassen. Aber nein, es sind Urlaubsanträge, Ordnung,
jemand, der dasselbe tut. Ich werde nur Urlaub Geschichten in diesem Dokument finden, auf einfach unseren Platz tun. Alle von ihnen aus geänderten Erscheinungsbildern wurden korrigiert. Ich kann immer zu meiner Zeitliste zurückkehren und
dann einfachere Fehler verwenden. Aber dann werde ich bauen, nur um sicherzugehen, Ordnung? Und dann dieses Mal war der Build erfolgreich. Also nein, ich weiß, dass ich keine Pfeile auf meinem Viertel habe. Factoring, Factoring hat funktioniert. Oh, nun, nein, nein, ich werde nur eine Migration durchführen, um meine Datenbank zu aktualisieren. Also rufe ich den Paketmanager-Rat auf
, der wieder einmal, wenn Sie es nicht im unteren Bereich sehen, können
Sie immer einfach zu Tools gehen, was neu ist, Paketmanager
erhalten und diese Konsul Option auswählen. Aber hier werde ich sagen, Staub
hinzufügen, mein Grayson, und dann hat sich die Migration, die ich hinzufüge, geändert. Verlassen Sie die Geschichte, Team. Ich meine, du könntest auch „Veränderung“ sagen , Geschichten
hinterlassen,
jemanden, der es so sieht. Sie und sie sind Lee Geschichten, um Anfragen zu hinterlassen. In Ordnung, also ist es expliziter, was genau zu tauschen ist, also ließ dieses percenter es diese Migration hinzufügen . Oh, das ist ein wichtiger Norden. Manchmal, wenn sie einige Änderungen an Tabellen vornehmen, die den Namen
ändern oder bestimmte Datentypen ändern, die ihm während der Migration zugeordnet sind,
kann
es sind,
kann
eszu
Datenverlust kommen. Sie müssen also sehr vorsichtig sein, wenn Sie diese Migrationen durchführen. Aus diesem Grund wird das Seeding der Datenbanken normalerweise empfohlen, da Sie dann mehr Kontrolle haben. Über die statischen sind die grundlegenden Daten, die in dies geht während der Entwicklung. So ist es immer einfacher, Daten während der Entwicklung zu verlieren als in der Produktion. Richtig? Also musst du es sein. Ich meine, wenn du es in den Entwicklungen bekommst,
dann wirst du besser in der Lage sein, zu beurteilen. Es ist in der Produktion, und es gibt Kontrollen für Migrationen in der Produktion. Aber ich bringe Sie nur ins Gefängnis zu dieser , Bedingung,dass einige Änderungen später zu einem Verlust führen werden. Im Moment haben
wir sowieso nicht viel zu verlieren, also verstehe ich, diese Migration weiter voranzutreiben. Dann sage ich einfach Opiate Dash Datenbank drücken Sie die Eingabetaste auf. Dann ist es fertig. Also werden wir einfach überprüfen, indem wir zu unserem Objekt-Explorer gehen, Drilldown in Richtung lokale DB in Tora Datenbanken suchen, verlassen Management, Blick auf die Tabellen auf Dort wir gehen. Also verlassen Geschichte ist keine aufgerufenen Urlaubsanfragen. In Ordnung, so dass die Migration war völlig erfolgreich auf wir sehen, dass es alle Spalten beibehalten, wie wir gesagt, es sollte. Also nein, wir haben RD Toby Austausch und unsere View-Modellerstellung durchgeführt. Als nächstes werden
wir mit dem Aufbau des Controllers beginnen und die verschiedenen Aktionen auf. Wir werden nur etwas Spaß damit haben. Als nächstes wird die Einrichtung des Bildschirms für einen Mitarbeiter in der Lage sein, sich für ein
Formular aus dem Urlaub zu bewerben .
38. Modul für die Mitarbeiter/innen - Setup Controlledrs: Hey, Leute, willkommen in dieser Lektion. Wir werden die Controller-Aktionen einrichten und die ganze Abhängigkeit ist, dass
wir zumindest denken, dass wir jetzt brauchen, um unser Urlaubsanforderungsmodell zu unterstützen. Also in Visual Studio, werde
ich einfach direkt in die Anpassung springen, um direkt zu Controllern zu gehen. Klicken Sie auf, fügen Sie an einem neuen Controller hinzu. Und dann, wie üblich, wählen
wir das NBC-Steuerelement. Lesen Sie immer die richtigen Aktionen. Also wählen Sie das aus. Klicken Sie auf Hinzufügen. Wir rufen diese Ein-Urlaubs-Anfrage auf Troller an. Dann klicken wir. Fügen Sie einmal das generiert wird, dann möchten wir anfangen, unsere Abhängigkeit hinzuzufügen. Also beginnen wir mit unserem privaten Read only referenziert über Repository für Urlaubsanfragen. Das wäre also an. Ich werde nur auf DSI überprüfen, dass ich den Namen nicht geändert habe. Also sollte es sein, ich lasse Anfrage. ich nicht. Ich verlasse Geschichte, also werde ich nur in den Vertrag gehen auf Ich ging zu mir, dass Update so in der
Vertragsdatei , wo es zuerst zu finden,
dann ging es um es umzubenennen auf. Die Sache ist, wenn ich die Datei selbst umbenenne, wird Ihr Studio der Vorschlag für mich sein, Tool benennen Sie einfach alles um. Das ist also das Request Repository und drücken Sie die Eingabetaste. Dann werden sie vorschlagen, dass ich eine Umbenennung durchführe. Ich sage einfach ja, damit Sie die Gerichtsakte automatisch auf sein werden. Dann werde ich dasselbe für die Recherche des Berichts tun. Ich habe das für den Vertrag getan, der sich einmischt, also werde ich dasselbe für das Repository tun, in dem ich dieses einfach schnell umbenannt habe, so dass es meine neue Disposition
widerspiegelt, die Anfrage auf verlassen ist. Dann sage ich ja zu den Problemen, die in der Anwendung umbenannt werden sollen. Okay, das ist
also ein weiterer Faktor. Also, wie ich schon sagte, du machst eine Änderung. Sie müssen freundlich gründlich auf konsistente Ursache sein Es will etwas namens verlassen Geschichte und etwas namens verlassen Anfrage woanders. Und dann wirst du verwirrt. Also im Leave-Request-Controller verlangsamt
die Mitte alles, was nicht unbedingt notwendig ist. Dann muss ich ihren Freunden die Zehe machen. Ich lasse die Anfrage Repository auf. Ich nenne diesen einen Antrag Bericht, in
Ordnung, und dann natürlich, nachdem ich irgendwelche Referenzen einfüge und meine Rechtschreibung richtig gemacht habe. Das ist also privat. Wiederholen Sie das auf, dann fügen Sie den Verweis oder den Namensraum für das I leave request Repository ein. Ich benutze nur mein Rettungsboot hier. Fügen Sie diese Referenz auf, dann gehen wir. Alle andere Abhängigkeit ist, dass wir wollen würde auf jeden Fall der Mopp er auf sein. Vielleicht eine für den User Manager. Also, stattdessen, aus dem Schreiben des Motors haben sie bereits schön innerhalb der lassen Sie einen Standortcontroller an. Also, sehen
Sie, wenn Sie anfangen, ein großes Projekt zu bauen, und Sie Feuer überall haben und Feuer
offensind , und Sie Feuer überall haben und Feuer
offen , wissen
Sie, ich halte meine volle offen, damit ich dorthin gehen kann, sehen
Sie,
wenn Sie anfangen, ein großes Projekt zu bauen, und Sie Feuer überall haben und Feuer
offensind, wissen
Sie,
ich halte meine volle offen, damit ich dorthin gehen kann,
die Datei auf, Wissen Sie, Rückzug mit schnell statt unsere eigenen, bis ich über sie stolpern, als würde ich
den Schnee tun . Also in Controllern und ich habe diese Zehe, die Bezug auf die zweite diese Kopie genommen werden , die als Abhängigkeit von dann aus dem Kurs sind. Führen Sie die notwendige Aufnahme aus der für die Ordner oder den Namen Arten. Und dann würde ich nicht wissen, schafft Michael Lehrer. Siehst du, Siehst du, thar Also all das haben wir mehrmals gemacht. Nichts davon sollte Ihnen fremd sein, also werde ich mich einfach beeilen und das tun, damit ich nicht zu viel Zeit damit verbringe,
diesen Teil auszubauen , und es gibt fertige Konstruktoren. Also, wenn Sie in der Lage waren, es selbst zu tun, dann ist das eine gute Verteidigung, oft suchen Salat. Und das ist gut. Wenn nicht die Spot-Video auf, Versuchen Sie
einfach und replizieren, dass kaltes Eisen so vorwärts drücken. Ähm, wir können einfach die Indexansicht von Nein machen. Also der Index, den Sie Dieser wird irgendwie knifflig sein. Unsere Indexansicht wird also hauptsächlich darin bestehen, den Administrator zu zeigen oder die, die Sie wissen, dass die Urlaubsanfragen sind. Sollte es, weil dann dort zu Index verwenden, dass wir die Indexansicht haben können, die die Ansicht ist, die der Benutzer sehen wird, wenn er alle ihre Urlaubsanfragen sehen möchte , die sie eingereicht haben. Dann gibt es auch die Indexansicht für den Administrator, oder wo er alle ausstehenden Listen sehen wird. Der Concept off Index ist also wirklich die Zielseite. jedoch Sie müssen ihnjedochnicht immer standardmäßig Index nennen. Alles wird auf dem Index bezahlt landen, sicher, aber dann wissen wir bereits, dass wir den Boden kontrollieren können, den wir kontrollieren können, wer was sieht, indem benutzerdefinierte Aktionen
erstellen, die wir an bestimmte Links binden, die bestimmte Leute sehen können. Also werde ich einen großen autorisierten Vortrag über diesen gesamten Controller stellen. Das bedeutet, dass niemand in der Lage sein sollte, etwas von diesem verlassen
Anwendungscontroller zu bekommen , ohne ein registriertes Mitglied von dieser Anwendung zu sein. Okay, aber dann gibt es bestimmte Aktionen, die ich für die Administratorrolle nur
dann autorisieren werde , gibt es bestimmte, so gut, jeder wird in der Lage sein, in unsere wir können wahrscheinlich bei der Autorisierung für nur die Rolle des Mitarbeiters. Auch
jemand, der diese Gelegenheit nutzen, um diese Indexsprache einzurichten. Wie verabreichen Ruder, Index, Ansicht Herzen, Ich werde zuerst sitzen auf autorisieren oben auf diesem auf. Dann werde ich die Rolle angeben. Rose ist nicht gleich, Sir. Gleich öffnet die Zeichenfolge auf, dann. Das ist Administrate Tour. Also sollte nur der Administrator in der Lage sein, zu dieser Indexoption innerhalb der
Blattanforderung zu gelangen , der Controller jedoch autorisierte
jedoch
bereits alles. So könnte nur eine allgemeine oder allgemein registrierte Person auf etwas zugreifen, das
nicht speziell für den Administrator ist . Alles klar, damit du mischen und zusammenpassen kannst. Hättest du die Autorisierung über jede Aktion durchführen können, die mit Arbeit beschäftigt gewesen wäre. Wir können nur als das gesamte Steuerelement erstellen. So müssen Sie geliebt werden, werden zuerst authentifiziert, aber dann spezifische für bestimmte Regeln, können
wir einfach diese direkt über sie setzen. Drehen. Also, für diese Ansicht, habe ich tatsächlich eine Vision, wo, wenn der Administrator geht, um alle Urlaubsanträge zu sehen, sie werden vielleicht eine Gesamtzahl von Urlaubsanfragen für den Zeitraum sehen. Sie werden die Gesamtzahl der ausstehenden Anfragen auf sehen. Dann sehen sie die Gesamtzahl aus. Sie wissen, dass abgelehnte Anfragen auf genehmigte Anfragen sein können. Sie werden also drei verschiedene Figuren sehen, wenn sie auf dieser Seite landen. Das ist zusätzlich zu der tatsächlichen Liste von Anfragen, die Aktion sein müssen. Um also eine benutzerdefinierte Ansicht wie diese zu erhalten, mit all diesen Statistiken und so weiter, werde
ich ein Ansichtsmodell erstellen, das speziell darauf ausgerichtet ist
, diese Art von Daten anzuzeigen . Das ist ein weiterer Fall, warum wir euch Models haben, weil ich in die Modelle gehen will. Ich werde meine Urlaubsanforderung VL-Datei aufrufen, dann denken Sie daran, ich verwende nur eine Datei und in dieser eine Datei habe viele Klassen. Das ist mein Muster. Andere Leute, die ich erstellen einen anderen Aktenbereich, Mutter, das ist in Ordnung. Aber ich halte es nur konsistent auf Ich werde sagen, öffentliche Klasse auf, Nehmen wir an, Admin-Ansicht oder ich meine verlassen Anfrage
Ansicht, VM In Ordnung auf. Ich mache dies explizit, weil ich dann auf Admin-Urlaub habe, Anfrage Bearbeitung über mehr Details vm anders als die reguläre über, also meine
ich, ich mache nur den Klassennamen explizit, so dass ich keinen Fehler mache,
wenn ich die Linien, ähm, ich werde diese Gelegenheit noch einmal nutzen, um die Karten einzurichten. Denken Sie daran, wenn wir ein Ansichtsmodell haben und die Ansicht Mutter einen Mopp zu einer Datenklasse braucht, müssen wir sicherstellen, dass wir Repräsentation sind. Aber ich glaube wirklich nicht, dass wir dieses Mapping brauchen, oder? Nein. Also werde ich es ausbauen und mal sehen, ob wir das Mapping brauchen. Alles klar, das wird
also Statistiken zeigen. Also wäre dies die erste Eigenschaft für mich ist eine Ganzzahl, die die Gesamtanforderung anzeigt. Dies wird also die völlig von den Anfragen im System sein. Und ich dupliziere das einfach, weil ich für ganzzahlige Werte Gesamtanforderungen haben möchte. Ich habe Anfragen genehmigt, für die ich ausstehende Anfragen habe, dann habe ich Anfragen abgelehnt. Alles klar, dann sind das vier Werte, die ich auf ST gedruckt werden möchte, einige nur sitzen oder Eigenschaften, um für jeden zu mop. Aber dann, zusätzlich zu diesen Eigenschaften, möchte
ich auch die Liste aus. Glauben Sie Anfragen im System. Also, wie wir es in der Vergangenheit getan haben, erstelle
ich einfach eine Liste von Typ verlassen, Anfrage VM auf dies würde Anforderungen glauben. In Ordnung. Und dann können wir sehen, ob Sie versehentlich Duplikate dieser Zeile dort sitzen. Richtig. Also haben wir eine Liste. Ich nenne es Urlaubsanträge. Oh, ich habe vergessen, diese Öffentlichkeit zu treffen. Also unsere öffentlichen Anfragen am wenigsten führen vor einem Jahr. Also wurde es vereinbart. Oder wissen Sie einfach, dass diejenigen, die es nicht öffentlich,
irgendein Loch überwachen ? Nein. Ich habe mein View-Modell. Ich kann nicht anfangen, einige Gymnastik und einige kreative Dinge in meiner Aktion zu machen,
bevor ich das Modell lade und es in die Ansicht schicke. Also gehe ich zuerst Ah,
Steinbruch, wo ich Anfragen bekomme, oder lass mich explizit darüber sein. Sie hinterlassen Anfragen, und das wird gleich sein. Zehenunterstreichung Ich habe auf einem quadratischen Urlaub Bitte drei ziehen gesehen, nicht finden. Alle. Also Norm Rückzug alle von den Urlaubsanfragen im System. Jetzt, da ich alle von den Urlaubsanfragen im System
habe, kann ich abfragen, wie viele zu Hause anhängig waren und dieses Haus gewesen sind. Irgendwelche waren das, weil bereits einen Aufruf an die Datenbank gemacht hat. Und nein, ich habe alle Objekte, die ich die Mathematik auf die Objekte ausführen kann. Sie hatten zwei Möglichkeiten. Er könnte entweder zu dem Bericht gehen und setzen Formular angezeigt Ursache für jeden einzelnen, so dass Sie konisch aus genehmigten Coned off abgelehnt bekommen können. Aber dann jedes Mal, wenn Sie online schreiben, sagt
das, dass der Anforderungsbericht Punkt alles findet, was eine Datenbank namens machen
würde, die vier Datenbanken gewesen wäre, um vier Zahlen zu erhalten. Manchmal möchten Sie die Datenbank reduzieren, weil Also, anstatt das zu tun, bekomme
ich nur alle Urlaubsanfragen, und dann werde ich dieses Objekt verwenden, nachdem ich eines Tages getan habe, Toby, beginnen, meinen Mund zu tun, damit ich so etwas wie auf sagen kann. Bevor ich vorwärtskomme,bin
ich bei den Muppets. Bevor ich vorwärtskomme, Jemand, der sagt, Vier lässt Anfragen, Models. Ich wäre gleich toe mah pro auf dann Mopp er Wischen Zehe ein Typ aus Liste. Hinterlassen Sie Anfragen die m Alles klar, also kartieren wir 12. Das Zeug geht weg. Fordern Sie das M an und was wir zuordnen, sind die Blattanforderungen, die wir gerade
aus der Datenbank abgerufen haben. In Ordnung, und dann füge ich einfach die fehlenden Referenzen hinzu. Ja, so zu Hause oder rote Linien. Also wissen Sie, was auch immer ich tun werde, ich werde mit dem Model tun. Also hier ist, was ich tun kann. Ich kann sagen, dass etwas bei Vire Model gleich ist, um Mittelansicht hinzuzufügen. Also haben wir gerade die Admin-Ansicht erstellt, Sir, es ist gut, zu einer neuen Instanz aus dieser Klasse zu gehen. Und dann öffnete ich meine geschweiften Klammern, die alos Muto zeilenweise jede Eigenschaft
deklarieren. Die erste Eigenschaft, die ich möchte, wäre Angenommen, Gesamtanfragen werden gleich sein, und dann soll es gleich sein alle aus dem Rekord, dass ich mich gerade zurückziehe. Die Gesamtanforderungen wären also alle außer Betrieb. Ich habe gerade abgerufen, ähm, also werde ich Urlaubsanträge sehen. Aber dann denken Sie daran, dass ich die Modelle habe. Ich möchte nicht mehr mit diesem Objekt interagieren. Das hier war nur, um die Daten zu bekommen. Jetzt ist es zu meinem Ansichtsmodell gekoppelt, also werde ich alles andere mit dem Ansichtsmodell machen. Lassen Sie also Anfragen Modell Punkt und dann kann ich einfach sagen zählen, weil die Gesamtzahl der Anfragen die Gesamtzahl der Datensätze wäre, die ich gerade abgerufen habe. Na gut, dann. Der nächste, den ich sehen kann, würde genehmigt werden. Anfragen, die ich sehen kann, genehmigen Anfragen ist gleich viel Urlaub. Hinterlassen Sie Anfragen. Die Mutter Reliever Quests, Modell Punkte. Am Tag werde
ich auf eine Bedingung setzen, die ich ging, um zu sehen, wo Sie mit meinem Pfeil. So Start meiner geliebten X Person auf meinem Zustand genehmigt werden würde, ist gleich wahr, so dass es, durch genehmigt, ist gleich wahr. Das bedeutet, dass es gleich am genehmigt wird. Dann sieht es etwas, das ich nicht implizit Typ von unzähligen konvertieren kann, was bedeutet dies immer noch eine Sammlung bekommen wird? Weil, nein, es ist, wenn es 10 hier gäbe und es fünf genehmigt wurden, dass dies die Liste zurückgibt. Die fünf genehmigten, nicht die Nummer fünf. Ich brauchte die Nummer Feuer. Also, nachdem ich alles gefiltert habe, was ich auf dieser Liste will, kann
ich sehen, dass Graf Andi zu dieser Zeit. Entschuldigung. Es muss Brie sein, anscheinend. Sehen Sie, Also in dieser Situation tut eine Zählung gegen die direkte Sammlung. Genau in dieser Situation ist Rechnung gegen,
äh, äh, etwas modifiziertes Set. Das waren Krallen und jeder andere Lambda-Ausdruck, den Sie hinzufügen könnten. Also Filter schrieb oder ändern Sie die Liste. Bevor Sie Konto zu tun, wird
es ändern, welche Sie sagen, dass Sie die Telefonfunktion anstelle von
den Kegel als Eigenschaft verwenden müssen . Alles klar, damit Sie darauf achten können. Wenn Sie also einen dunklen Kontinenten eine rote Linie machen, ist
es mehr als wahrscheinlich gesehen, dass Sie die Funktion benötigen. In der Tat könnte
man eigentlich nur Kegel sagen und den Holzausdruck verwenden. Alles klar, also würde das in der Sammlung aussehen und du siehst, dass ich will. Konto von allen Aufzeichnungen, die diese,
ähm,
Bedingung erfüllen ähm, . Sie sehen also, dass es so viele Möglichkeiten gibt, dass Sie dies tun können, dass es sehr, sehr flexibel ist. Zweitens habe
ich die Where-Klausel gemacht und dann angerufen Konto nach der Tatsache. Oder ich könnte einfach die Kegel verwenden, die meine Lunda einrichten, auf denen die Bedingung Andi-Filter nicht und in Wert sagen mir, wie viele Datensätze diese Bedingung erfüllt haben. Okay,
jemand, der mit dieser Variation vom Kegel vorwärts drängt. Also werde ich das bei dann ausstehenden Anfragen tun, würde jemand sehr ähnlich aussehen, um
dies wieder zu kopieren . Aber dieses Mal würde die Bedingung ausstehen. Wäre, dass genehmigt ist nicht so denken Sie daran, dass, wenn wir die Datenklasse für Urlaub
Anfrage erstellt oder ich kann einfach in der VM genehmigt suchen ist auf keiner Ebene. Wenn wir also das Fragezeichen gegen den Bullen setzen, bedeutet
das, dass es bemerkenswert ist, was bedeutet, dass er wahr sein kann. Es könnte keine Stürze sein, und es könnte auch keinen Wert haben. Also technisch gesehen, wenn Sie sich für einen Urlaub oder was auch immer bewerben, würde
es keinen Wert in der Genehmigung von Slot haben, weil es nicht genehmigt wurde, nicht genehmigt. Mittel wurden abgelehnt, aber es wurde nicht genehmigt,
was bedeutet, dass es nicht wahr ist. Es ist also in einem anderen Zustand. Es wartet. Also werde ich nur das mittlere gewachsene für das Ja oder Nein verwenden, was der Null ist, um das zu sagen. Okay, niemand hat eine Option darauf gesetzt, also ist es immer noch anhängig, Ordnung, und dann würde der letzte abgelehnt werden. Anfragen an jemanden, abgelehnte Anfragen zu sehen, sind gleich hoch. Dann sind es buchstäblich nur genehmigte Anfragen rückwärts. Also wäre es dort, wo sie falsch sind. Also noch einmal, wenn es genehmigt ist, bedeutet das, dass genehmigt ist gleich wahr. Wenn es Ausgaben ist, bedeutet
das, dass niemand die Genehmigung ausgibt, die besagt, dass durch unsere Stürze auf,
dann, wenn es abgelehnt wird, bedeutet
das, dass jemand es in einen fernen Zustand versetzt hat. Dann wäre die letzte Sache für dieses Ansichtsmodell verlassen Anfragen. Also eigentlich erschien das, weil ich nur Kontrolle und Raum gedrückt habe. So füllte es nur in der Zeile, weil er wusste, dass die einzige andere Sache, die dort gehen könnte ,
so dass visuelle Schüler macht es so einfach, effizient zu sein. Also lassen Sie Anfragen, wartet auf die Liste aus Typ verlassen Anfrage VM auf. Das ist für die Urlaubsanfragen aus der Datenbank, was wir gerade getan haben. Ich bin hier drauf. Also für Urlaubsanfragen muss
ich nur die eigentliche DR-Sammlung übergeben, die wir früher abgeschwächt hatten. Das ist unser Modell. Also die Ansicht modern machte es uns leicht,
einfach unsere eigenen benutzerdefinierten
Eigenschaften zu injizieren , ,die wir Onda wollen, was auch immer tatsächliche Daten wir wollen, dann werden wir es einfach in die Ansicht zurückgeben. Nein, wenn wir
in den vorherigen Übungen die Ansicht generieren, die sehr wählerisch sind,
wenn Sie das
Ansichtsmodell auswählen , ,das das Modell verwendet werden soll, müssen
sie die Vorlage für die Ansicht zerlegen. Also in dieser Situation werde
ich Urlaubsanfragen auf verwenden. Dann werden wir es ändern, außer dass der Administrator Request VM aktiviert lässt. Wir werden es Schritt für Schritt versiegeln,
verstehen, was los ist. Also klicke ich mit der rechten Maustaste auf sie und
füge die Ansicht hinzu, dann wähle ich die Listenvorlage aus, weil ich das
Tabellenformular generieren wollte . Aber ich will nicht, dass die Arbeit versucht, den Tisch zu machen. Also ist der Tisch für mich der schwierigere Teil. Also werde ich nur eine Liste in der Liste zu tun, wird vom Typ verlassen Anfrage VM befriedigend verlassen Anfrage VM auf. Dann hatte ich und nein wir haben oder Vorlagen. Also werde ich den Create verlassen, weil ich dem Administrator die
Möglichkeit geben möchte , eine Urlaubsanfrage im Namen einzureichen. Oft Mitarbeiter, denke
ich, das wäre eine coole Funktion. Also werde ich den Create-Button verlassen, aber ich werde das ändern. T nicht ein Modell vom Typ I unzählige verlassen Anfrage VM. Ich will keine Sammlung. Ich möchte nur eine Instanz von der Create leave Request VM entfernt. Also werde ich nur ändern, dass alte Admin verlassen Anfrage Ansicht VM Sorry, Onda, das ist oder Modell. Wenn dies also unser Modell ist, bedeutet
das, dass wir Zugriff auf alles darin haben, was nein bedeutet, haben
wir Zugriff auf die Abholungsanfragen, was bedeutet, dass unsere für jede Schleife durchlaufen muss Modell, das Anfragen hinterlässt, dies bereits generiert, aufgerufen wird, das über Urlaubsanforderungen weiß, so dass wir dort schließlich nicht viele Änderungen vornehmen müssen . Richtig. Eine andere Sache, die ich mitteilen möchte, dass es sagt, Mitarbeiter
anzufordern, dass ich D.
Ich will nicht, dass die i d von den Angestellten. Was ich aber wünschen
würde, sind Angestellte. Nun, Nun, es sieht so aus, als müsste ich mein paar Modell modifizieren, weil ich keine Vertretung der
Angestellten mache . Ich mache nicht repräsentieren, wo ich den Blatttyp habe. Also muss ich die Vertretung des Mitarbeiterobjekts machen. Das bedeutet, dass ich zu meinem Ansichtsmodell zurückkehren muss, das heißt, die Anfrage zu verlassen, AM Onda zu sein. Das tue ich. Oh, es bittet Arbeitgeber. Entschuldigung. Also das Anwesen, das Anwesen,
ähm,
führte ähm, mich in die Irre. Es verlangt also, dass ich okay bin, also ist es schon da. Wie mein Körper. Es fordert Mitarbeiter Dot Andi,
ich will den Vornamen. Andi. Ich kann eigentlich nur den vollständigen Namen in diesem Ganzen setzen. Es verlangt also, dass ich Sie beschäftige. Also in dieser Spalte wird die anfordernde angezeigt. Ich beantrage Mitarbeiter Vornamen Onda. Nachname. In Ordnung. Aber ich erinnere mich, in einer vorherigen Übung hätten
wir zur Datenklasse gehen müssen und die Includes gemacht. du, Weißt
du, wie ich schon sagte, dein Gericht entwickelt sich und dann siehst du etwas. Und dann, wenn Sie mehr Erfahrung sammeln, sehen
Sie, dass etwas passieren wird, bevor es überhaupt passiert. Weil ich nur voraussehe, dass dies mir die Null-Ära gibt, die wir vorher erlebt hätten. Also gehe ich einfach zu meiner Repository-Klasse zurück und finde die Funktion, die alle Urlaubsanfragen anfordert. Dann werde ich nur sagen, dass es eine Entfernung der Bremsleitung einschließen soll. Dann werde ich Dot Include sehen, die mich dann an einer Bibliothek für ein Darknet in verschiedene Wort-Core auffordern wird . Dann möchte ich que duct-Mitarbeiter einbeziehen oder
will der anfragende Mitarbeiter als Objekt auch einschließen? Sie haben zugestimmt. Krul ist von rechts genehmigt genehmigt durch war ein weiterer Mitarbeiter Objekt, dass ich auf hatte. Ich möchte auch den Urlaubstyp einschließen. Alles klar, wenn es diese Daten abruft, stellt
es sicher, dass alle Details, die mit anderen verbunden sind, mit einem beliebigen Fremdschlüssel vorhanden
ist, enthalten sind. Also werde ich nur diese drei Include-Dateien auf. Ich werde auch nur die Find-Funktion auf setzen. Ich werde diese Funktion von suchen zu zuerst oder Standard ändern. Also haben wir das alles in einer früheren Aktivität gemacht, also sollte es nicht fremd sein. Wenn ja, ist das in Ordnung. Sie können die vorherige Aktivität überprüfen, wo in die Tiefe ging, um zu erklären, was es ist, dass wir hier tun. Aber noch einmal, wir stellen nur sicher, dass, wenn wir unsere Datensätze abrufen, alle anwesenden
Details aus dem Fremdschlüsseldatensatz behandelt wurden , kleinere aus allen Tabellen Mitarbeiter anfordern, die dieses Mal vom Mitarbeiter Tabelle, die von genehmigt wurde, kommt auch aus der Tabelle Mitarbeiter. Also wissen wir, wer darum bittet, dass wir ihre Details bekommen können. Wer stimmt nur für den Fall. Es ist nicht nur der Admin-Benutzer, da wir andere Benutzer in einer Admin-Rolle haben können, die nicht beweisen können, dass sie wissen wollen, wer den Urlaub
genehmigt hat, auf den sie projiziert werden. Wir haben den Urlaubstyp. In Ordnung. Also zurück zu unserem Index. Ähm, und eso geht einfach durch und säubert. Also haben wir das Startdatum, das Ende es haben wir den Blatttypnamen, so dann werden sie wissen, welche verlassen Typnamen, und noch einmal, das hätte uns wahrscheinlich gegeben, dass keine Ausnahme. Wenn wir diese Anpassungen nicht erfüllt haben,
das Datum, an dem es angefordert wurde,
das Datum, an dem es sich um Maßnahmen auf DSO handelte. Ich möchte nicht, dass diese Details in der Tabelle aufgeführt sind. Also werde ich all das Datum nehmen, es war Aktion und Aktion bedeutet, dass es entweder
abgelehnt oder genehmigt wurde . Ich werde die genehmigte von entfernen. Ich brauche nicht zu sehen, wer es auf dem Ich werde ein bisschen Phantasie mit meinem Display für
die genehmigte Sektion bekommen . Also werde ich nur alle Etiketten ändern. Sie bemerken also, dass, weil es die Ansicht geändert hat, das Ansichtsmodell von unserem Modell, das
dies ist, aus dem Datentyp für Urlaubsanforderungen verwendet wird, diese Admin-Urlaubsanforderung, in der
die Urlaubsanforderungen enthalten sind. Offensichtlich haben
diese Eigenschaften einige Schwierigkeiten, da sie im Allgemeinen Karten direkt zum Modell sind. Also, wenn du diese roten Linien bekommst, ist
das in Ordnung. Sie können tatsächlich einfach den Graben löschen, wenn Sie Ihren Text schreiben. In Ordnung, also für den ersten Hitter, möchte
ich, dass hier der Name der Mitarbeiter angezeigt wird. Das ist der Name der Person, die den Antrag stellt. Ich werde sehen, beginnen, so kann tatsächlich nur einige von der Schnur auf nur in den
statischen Text setzen . Also fange an und es geht. Geben Sie den angeforderten Tag ein. Und ich lasse die Berichte, dass, weil manchmal kann es Loch auf dieser Urlaubsanfrage zu informieren da
war es warten, um gewählt zu werden. Artikel der Datumsoption Header auf Artikel die von Hitter aufgelaufene. Also haben wir 123456 Spalten auf Go on a in der Nähe dieser. Siehe stattdessen den Genehmigungsstatus. Aus genehmigt. Das wird also den Genehmigungsstatus sagen. In Ordnung, dann haben wir 123456 Gut. Und dann, um es zu einer Datentabelle zu machen, habe ich einfach unsere i d tbl Daten eingefügt. Also werde ich eine weitere Anpassung auf diesem Bildschirm vornehmen. Andi, das ist Werkzeug basierend auf dem Wert aus dem genehmigten Status. ,
ob es , , genehmigt
,
anhängig oder abgelehnt ist . Ich möchte drucken, wie eine kleine Karte oder eine kleine Pille, die sagt:
Okay, Okay, das ist es. Staat und die Farbcodierung würden irgendwie darauf hindeuten, was es ist, richtig? Bootstrap hat also, was wir Abzeichen nennen, und ich denke, wir haben in unseren vorherigen Modellen Budges verwendet. Also werde ich Ihnen nur zeigen, wie das Budget aussieht, wie wir
O. R. If Aussagen und Aris Accord Toe wissen, welches Abzeichen gedruckt werden soll. Also werde ich diese Zeile entfernen und dann werde ich das Schild sehen. Wenn Sie Ihre Aussage starten, dann werde ich sehen, ob ich Punkte versuche und dann sagen genehmigt ist gleich wahr. Nun, die Sache mit Anlagebarren, könnte
man immer nicht das Wahre sehen müssen. Wir könnten einfach sagen, wenn Artikel, die genehmigt, aber in diesem Mirani in unser Problem, weil, um und dann ihre visuelle Studio sitzen, dass das illegal ist, weil es den keinen Staat hat. Man muss also sehr explizit sein, wenn man es mit einem bemerkenswerten Bullen zu tun hat. Sie müssen sehen, ob ich mich herausstellte, dass ein Klug definitiv wahr ist. Dann will ich. Und dann ist dies das Gericht für einen Budge. Also sehe ich gesponnen Klasse Budge auf Budge Dash Erfolg, was uns gibt, ah grün budge mit dem Wort genehmigt, dass ich werde sagen, anders, wenn sorry, als ob und dann die neue Bedingung ist, dass ich drehte, dass genehmigt ist gleich in Schlepptau fällt. Oder vielleicht hätte ich nur sagen können, wenn nicht, aber ich bin nur sehr explizit dran. Dann werde ich sehen, statt genehmigt, Ich ging zu sehen abgelehnt. Und dann wird diese Gefahr sein, weil ich eine rote Charge sein wollte. Dann werde ich so etwas sagen. Sonst sind es Ausgaben. Also, wenn es nicht wahr ist, es ist keine Farce, dann muss es nicht sein, wenn es nein ist, als seine Ausgaben. Also werde ich das als Warnung setzen, um zu sagen,
Hey, wissen
Sie, wissen
Sie, schenken Sie dem etwas Aufmerksamkeit, also werde ich sagen, anstehende Genehmigung, Ordnung. So wie es steht, habe ich keine und er hinterlässt Anfragen im System. Ich meine, wir haben die Erstellung noch nicht eingerichtet, also werde ich nur eins in mein Datenbank-Handbuch einfügen, ist, dass ich einfach auf den Tisch gehen werde . Richtig. Klicken Sie auf Daten darauf anzeigen. Ich werde eine mit den Daten einfügen, die ich hier habe. Du musst das nicht tun. Ich möchte das nur tun, damit ich eine visuelle Darstellung von einem anderen Wort geben kann, das wir gerade gemacht haben. Dann im nächsten Video beginnen
wir mit dem Bau von Booten, kreativere Dinge. In Ordnung, also habe ich nur eine Regel eingelegt. Ich zeig es dir nur. Wie gesagt, Sie müssen diesen Schritt nicht wirklich tun. Aber ich habe nur eine Rolle mit einer von den Benutzer-IDs, die ich in einen fiktiven
Start und in der Tat
einen der Blatttypen gesetzt Start und in der Tat habe. Andi,
ich fühle nur, dass auch Datum Aktion ist nicht erkennbar. Also wollen wir das wahrscheinlich ändern, weil, naja, bis es genehmigt oder abgelehnt wird, dann gibt es keine Datumsaktion, richtig? Also werde ich diese Anpassung auch an die Datenbank vornehmen. Aber im Moment möchte ich nur etwas visuelles abhalten. Was wir gerade darauf eingebracht haben, ist nur Teil eins. Also verbringen wir nur die ganze Zeit auf dem View-Modell sitzen, um den Index,
den Ausdruck für die Indexsprache, abzulegen . Wir haben die Kluft auf dem Teil, in dem wir die Zahlen zeigen, nicht angezogen. Wir haben diesen Teil noch nicht angezogen, also wird das in Teil zwei von dieser Aktivität sein. Wie gesagt,
ichwill das visuelle,
also werde ich zu Ansichten gehen. Wie gesagt,
ich will das visuelle, Finden Sie meinen Leo Haute auf. Stellen Sie sicher, dass mein Link, der sagt verlassen Anwendungen zeigt auf die Karten Platz. Verstehen Sie die Kopie von den vorhandenen von Pfaden auf. Dann wird dies sein, um Anfragen zu hinterlassen. Alles klar, also verdient mein Bruder einfach und dann wurde unsere Arbeit beurteilt. Alles klar, jetzt gehen wir zu verwalten und klicken Sie auf Anwendungen lassen an. Da gehen wir. Das ist unsere Admin-Liste für Urlaubsanträge. Allerdings Name des
Mitarbeiters Indeed gestartet, wobei
der Blatttyp das Datum angefordert wurde, an dem es für den Genehmigungsstatus angefordert wurde
, der ausstehend ist. Also lassen Sie uns das einfach auch testen, wenn ich zurück zu meiner Datentabelle gehe und ich werde nur die Geldwächter treffen, also richtig nein, es ist genehmigt ist nein. Also, wenn ich diesen Shop
ändere, kann ich nur einen sehen, was wirklich in der Datenbank wahr ist. Ich gehe zum Tag der Erfrischung zurück. Lädt also die spätere aus der Datenbank neu. Und nein, es schien wahr zu sein. Es gibt mir auf die gleiche Weise genehmigt. Wenn ich stattdessen Null sagte, das ist die gleiche US fällt auf. Es machte, dass die Aktualisierung der Datenbank es wird nicht abgelehnte Kunst zu sehen. Also, das ist ein nettes, ähm, Nettes im Schlepptau. Wie Loch können wir kontextuell drucken oder ein wenig bizarre Elemente im nächsten X im nächsten Teil. Abgesehen von dieser Übung werden
wir diese Ansicht ein wenig nach unten drücken, also wird dieser gierige Fuß hier oben, unten auf der Seite. Aber an der Spitze, wir werden vier Karten oder vier Abschnitte, die die Zahlen für jeden aus dem Urlaub Anfrage Zahlen drucken ,
die wir berechnet haben und in R V M setzen würden Also kleben Sie unsere eigenen auf dies ist fortgesetzt werden.
39. Modul für die Mitarbeiter:innen - Setup Admin Index-Ansicht: Hey, Leute. Also sind wir wieder da
und wir sind bereit, in dieser Lektion zu tauchen. Wir setzen unsere Aktivität fort oder deaktivieren die Admin-Ansicht, damit sie alle
Abwesenheitsanforderungen anzeigen , die derzeit im System sind. Das nächste, was ich tun werde, ist, eine visuelle Darstellung einzurichten. Zoff. Nur ein paar Statistiken, um sie zu zeigen. Weißt du, ich gehe auf so viele Urlaubsanträge stehen noch aus. Wie viele sind in ihrem System überhaupt an? Wir werden das einfach aufstellen, während wir weitermachen. Also zurück in Visual Studio, werden
wir Bootstraps Karten verwenden. Das ist also meine visuelle Darstellung aus der Wahl. Um,
Also, wenn Sie auf den Bootstrap gehen, nicht ruhig, Dokumentation ist Bootstrap dot com bekommen, gehen Sie zu Komponenten und suchen Sie nach Karten. Dann wirst du sehen, dass sie diese Karte sehen,
ähm,
Repräsentation so sehr haben ähm, , du das nehmen wirst. Aber was ich wirklich will, ist die Nummer in einem Abschnitt über den Typ gedruckt oder ein Schlepper legal in einem anderen Abschnitt dafür
gedruckt. Richtig. Also bin ich einfach in minimiert. Hören Sie, ich werde mir diese Punktzahl leihen, Ordnung? Also, das ist der Kern, der abseits von Kurs verwerfen erzeugt, ich werde es ein wenig ändern. Aber dann ist hier die Sache. Ich möchte, dass vier Karten nebeneinander von links nach rechts gedruckt werden. Also werde ich Bootstrap-Estrich verwenden, altes System
legen und es ist ziemlich einfach. Also werde ich nicht in die Dokumentation gehen. Ich gehe gerade durch, wie ich es tue. Also schuf ich geben. Ich gebe ihm die Klassenrolle. In Ordnung, also erlauben Sie tatsächlich, Tabellen zu erstellen, indem Sie nur Dips verwenden. Dies stellt also buchstäblich eine Rolle von links nach rechts dar. Fahren Sie fort. Nein. Und dann innerhalb dieser Regel will
ich das aufgeben. Dann werde ich diesem div eine Klasse von Dash MD Dash drei geben. Also hätte ich bereits erwähnt, dass der Anruf MB auf der Nummer, die wirklich zu sehen ist. Ich möchte eine Spalte für mittlere Größe Bildschirm von Größe drei auf drei hier präsentiert drei aus. Ah, Potential 12. Also von links nach rechts auf jedem Bootstrap-Bildschirm sind in einem Bootstrap. Weiter haben 12 Arten, die Sie füllen können. Dann ist dies die Breite aus dem Raum. Mit anderen Worten, nach 12 dieser leben die meisten nehmen drei. Andi,
ich will vier so 34 Schwellen. Also, wenn ich 43 Spaced gibt Spalten darstellen, dann kann ich vier geben unsere für Bits von Inhalt nebeneinander gehen über den Bildschirm passen. Richtig. Also ein wenig Mathematik da. Nichts zu kompliziert. Aber von innen jeder aus diesen Säulen. Ich will meine Karten. Ich werde dieses Kartenkabel nehmen, das ich gerade auf Stücke kopiert habe, die von der Säule entfernt sind. Jetzt kann ich anfangen, diese Karte zu ändern. Also zuerst wollen
sie dieses Bild nicht. Jemand, der alles nimmt, was Abschnitt ausgibt, dann werde ich im Körper einfach die Dokumentation zurückbringen. Das wäre also der Titel. Dies wird der Text auf sein. Dann geben sie uns ein Musterbuch. So ihre Vorstellung, dass Sie fast alles in ihr stecken können, greifen Sie die Karte an. Also werde ich stattdessen das machen und jeder Schlepper, der die Nummer hat,
dann wird dies das Etikett sein, das sieht, was diese Zahl darstellt. Also in Visual Studio ändere
ich dies von H fünf zu jedem auf, dann bietet stattdessen Angebote in den Worten Autotitel. Also beachten Sie, dass es immer noch in einer Gerontocracy am Zeichen Modell Punkt auf in der ersten Tally sein wird. Ich möchte zeigen, würde Gesamtanfragen die Gesamtzahl der Anfragen auf dann für den Text und dann eine Weile verwechseln, um zu speichern. Da gehen wir. Also, dann innerhalb des Textes, werde
ich das einige Inhalte ändern,
etwas, etwas, etwas auf das ich beim Model sagen werde. Nun, nein, das ist
eigentlich ungenau . Sollte die Anzeige für oder Anzeigename für tun, so kann ich bei diesem Spiel sagen. Entschuldigung. Es tut mir leid, dass HTML den Ersetzer anzeigt. Ich diese Kopie, das ist, ich meine nicht wieder diesen Fehler. Also verwende ich diesen HTML-Talk-Helfer, der das Namens-Tag drucken würde. Angesichts des Ansichtsmodells müssten
einige zurückgehen, um das Modell zu überprüfen und das zu hoch. Aber dieser Flugname für auf dann innerhalb dieser, Ich werde nur ein Lambda Ausdrücke einrichten. Also Model auf dann, was? Setzen Sie den iro und dann sage ich Modellpunkt auf das Element, das ich will. Die Disziplin in vier ist Gesamtanfragen. In Ordnung, also bedeutet das nein. Im Ansichtsmodell müssen
wir sicherstellen, dass wir den Anzeigenamen für die Gesamtanforderungen haben. Und dann kann ich diesen Knopf einfach entfernen, da fast alle Faktoren zu mir gingen. Dies ein H fünf statt, aus R P Steuer. Ich werde sagen, h fünf statt p. Ich wollte das etwas größer als nur ah p Schlepper. Was? Wir werden sehen, wie es aussieht. Das wird uns also eine Karte geben. Dann lassen Sie uns eine Vorschau sehen, was das alte macht, das wirklich ist. Also gehe ich einfach auf die Seite, aktualisiere die Seite, Ordnung? Und das ist, was das benutzen wird. Also sehen wir, dass die Nummer eins gedruckt wird und dann sehen wir die Gesamtanfragen. Also gehe ich zu mir in Restaurants, bevor wir uns das ansehen. Die erste Anpassung ist also, dass ich diese Spalte kopieren werde. Also dieses ganze div aus der Spalte mmd drei. Ich werde es kopieren, und ich werde es vier weitere Male innerhalb der einfügen, wenn das die Rolle ist. Oder noch drei Mal eher. Also jetzt habe ich vier Karten, eine für die Gesamtanfragen. 14 genehmigte Anträge. Also werde ich nur die Formen ändern. In Ordnung. 14 tendenziell. Oder vielleicht sollte ich eigentlich anhängig zuerst rechts sehen. So sehen Sie, dass bewiesen, dass Sie die anstehenden sehen. Entschuldigung. Dann sehen Sie die genehmigt auf, dann sehen Sie, sie abgelehnt. Also ich meine, du kannst ganz rauslassen. Du
denkst, denkst, es wäre das Beste für dich. Also dann Abgelehnt. In Ordnung, also haben wir vier Karten,
die alte drucken , die verschiedenen Urlaubsanträge Statistiken für unsere
Urlaubsanträgeim System bis jetzt. Andi, Dann würden Sie auch bemerken, dass es sehr wenig Platz zwischen den Karten auf der
Datentabelle . Sergeants sind unsere Gespräche, um etwas Tageslicht zwischen ihnen zu bringen. Ah. Jetztkann
ich, kann
ich, ähm, einen Abschnitt
einrichten, in dem ich einen Abdruck gewinnt. Ähm, jeder ist so angezogen, von denen
jede eine horizontale Regel ist. Das ist nur eine Zeile. Ich ging, um jeden zu sehen. , Gehen Sie, fordern Sie das Protokoll an. Alles klar, das ist
also ein Abmelden aller Urlaubsanfragen. Gegenwärtig kennen
Sie vergangene Gefängnisse und werden nicht Zukunft, aber so bin ich nur Sektionalisierung der Pizza. Es sieht ein bisschen schmackhafter aus. Ich werde auch ein
paar Dinge reinlegen, um den Text größer zu machen. Besser aussehend. So, wie die Nummer. Ich will nicht, dass es noch übrig bleibt. Ich will nicht, dass der Text nach links abfeuert. Also für die Dif-Klasse, das ist, um, Cardiff Klasse Kartenkörper. Ich werde nur eine andere Bootstrap-Klasse als sein Text-Dash-Center einfügen. Also denke ich, dass es sogar tun, dass das liefert als alles, was innerhalb des div, das
textbasiert ist, nur Mittellinie sein wird. Wenn nicht, dann müssen wir es in die einzelnen Elemente einfügen. Aber versuchen wir es für keine auf Cent. Auch, für jeden gehen, um in visuelle Zahl
setzen, setzen in Farben, die Art von visualisieren Was ist der Status? Also, wie
zum Beispiel, ausstehend, ausstehend, werde
ich es auf orangefarbenen Knöpfen machen. Ich werde auf orangefarbene Zahl sehen. Entschuldigung. Also Text Bindestrich Warnung. So geben sind in Stöcken. Ähm, genehmigte Anfragen, dass. Ich werde Text sehen. So ist dieser genehmigt. Das ist also Erfolg. Das ist grün. Text auf. Dann konnten
Sie für projizierte Text-Strich für Gefahr behoben sehen. In Ordnung, ähm, also weiß ich, dass wir Stil haben könnten. Diese Geschichte wird wahrscheinlich verwendet Warnungen stattdessen, off mit einer Kartenfunktion, Sie hätten die Alert-Funktion von Bootstrap Andi setzen Sie Ihre Inhalte in den Sattel verwendet haben können. Gibt es so viele Möglichkeiten, dieses Ding zu tun? Ich zeige Ihnen nur eine Option und lasse Sie wissen, dass Sie andere Optionen haben. Nutzen Sie Ihre Kreativität, um zu erbringen, was Sie wollen. Also das nächste, ähm Ziel? Nein. Bevor wir Antwort aktualisieren, ist
Ihre Arbeit, um sicherzustellen, dass wir die richtigen Anzeigenamen für jede Eigenschaft haben. In unseren Ansichtsmodellen werde
ich zu diesem Ansichtsmodell zurückkehren, indem ich nur die Kontrolle halte und auf klicke. Dann werde ich diese Anmerkungen einrichten. Das würde also sagen, dieses Spiel Onda Name gleich auf. Dann ist das Torta. Zahlen Sie Anfragen ab, in Ordnung. Und dann wird die Anzeige einige Datenbibliothekseinbeziehung erfordern. Also, was ich tun werde, gehen Sie
einfach durch und machen Sie diese aus der Kamera? Ähm, und du kannst hier von dir anhalten und für dich weitermachen. Sind einige mit meinen Anmerkungen fertig? Und so werde ich einfach zurück zum Browser gehen und die Seite neu laden und sehen, wie es
aussieht Kunst. Und da gehen wir. Also, jetzt haben wir für wie, eine schöne Tabelle Tabelle Abschnitt zeigt uns die Anzahl der Anfragen anhängig, genehmigt und abgelehnt auf wieder. Dies sind die Anzeigenamen, die ich im Ansichtsmodell eingerichtet hätte. Sie wissen also, dass sie drucken oder es ist schön und sauber. Alles in Central und alles sieht ein bisschen einheitlicher aus. Die Farben sind irgendwie führend, oder Sexten, wissen
Sie, der Zustand auf alles, was ich meine, das ist nicht das Beste. Es ist nicht perfekt. Es hat Raum für Verbesserungen. Aber natürlich haben
Sie Ihre eigene Flut Ihres eigenen Stils. Ich bin sicher, Sie kommen mit einem anderen Design, das wahrscheinlich dieses macht. Aber das Konzept, das du aus dieser Lektion gewonnen hättest, würde dir erlauben,
kreativer zu sein , als ich jetzt bin. Natürlich kann
dies ein bisschen mehr aufgeräumt werden, denn dann können Sie diesen Link sehen ein bisschen
attraktiver auf Sie können all das Wort in, dass zu treffen . Also werde ich diese Dinge tun. Aber ich werde sie aus der Kamera machen. Ich möchte, dass Sie die Praxis aus tun es selbst, zu
wissen, was ich nur und wie immer, wenn Sie in Schwierigkeiten laufen fühlen sich frei Zeh, Sie wissen, Drama Linie, kontaktieren Sie mich und ich werde bereit sein, Ihnen zu helfen
40. Modul für die Anträge aufbauen Teil 1: Hey, Leute, willkommen in diesem Video. Wir werden das Urlaubsantragsformular für unsere Mitarbeiter einrichten. Mit anderen Worten, wenn ein Mitarbeiter an das System kommt und sie auf Antrag auf Urlaub klicken, sollten
sie auf Antragsformular sehen, wo sie in der Lage sein, den Typ aus dem, den sie auf dem Zeitraum während der , die sie wollten, indem sie das Enddatum und das Startdatum angeben. Nun, wenn Sie schnelle Anpassungen, die ich außerhalb der Kamera vorgenommen hätte, zeige
ich sie Ihnen nur, damit Sie sie replizieren können. In jedem Intervall können Sie das Video anhalten und replizieren. Aber ich möchte nicht zu viel Zeit mit dem Video verbringen, weil es grundlegende
Dinge sind . Aber zum einen richte ich den Link „Apply for leave“ ein, um auf den Controller aus dem Urlaub zu zeigen. Anforderung für die Aktion, namens Erstellt, konfiguriert
innerhalb des Urlaubsanforderungs-Controllers die Aktion für erstellen, die das Formular für die Anwendung für die Mitarbeiter rendert. Das ist also eine Änderung, die ich vorgenommen habe, damit du das Video pausieren kannst,
weitermachen und das replizieren kannst, aber weitermachen kannst. Ich treffe auch unseren Urlaub Request View Modell. Also für das Urlaubsanforderungs-Ansichtsmodell, das da war, bevor ich aufstelle,
werden einige Datenanmerkungen eingerichtet. Einige Anzeigenamen bei einigen Validierungen liegen über den Datumsangaben. Aber ich habe auch ein Ansichtsmodell speziell für oder erstelle Formular diese erstellen lassen. Anforderungsansichtsmodell verfügt über Validierungen für das Anfangsdatum für das Enddatum. Eine Liste von Auswahllistenelement namens Blatttypen. Andi individuellen Wert für einen Blatttyp Ideen. Also die Validierungen für die Daten würden Nun, eins, wir haben die Anzeige. Also ist es, beginnen Sie es, ähm, wir zwei verschiedene Worte auf, dann haben wir es wie erforderlich. Und dann geben wir an, dass wir den Datentyp außerhalb des Datentyps wollen. Das bedeutet also,
dass in der Form
die Eingabe heute gerendert wird, dass ich standardmäßig Datum sein werde,
oder? wird, dass ich standardmäßig Datum sein werde, Nur weil wir angeben, dass es der Datentyp ist, den wir wollen. Das ist also sowohl das beginnt als auch dann die Öffentlichkeit. Tut mir leid, die Liste. Die unzählige aus ausgewählten Listenelement namens Blatttypen halten alle Urlaubstypen aus unserer Datenbank, und wir werden es verwenden, um zu füllen oder Dropdown-Liste. Der Kontext ist also, dass jeder verlassen Typ im System in der Datenbank gespeichert wird, und wenn er in der Datenbank gespeichert ist, dann brauchen wir eine Möglichkeit, sie dynamisch dem Benutzer anzuzeigen, weil wir nicht zu einem dort fünf oder eine anzeigen, wenn es mehr als eine rechts? Also, wenn sie fünf sind, sollten
wir Feuer zeigen, wenn ihr Stand mit den enttäuschenden. Wenn also die Person das Formular zur Erstellung eines Urlaubsantrags übernimmt, hinterlasse
ich Anfragen. Die Dropdown-Liste sollte immer repräsentieren, was sich in der Datenbank befindet. Andi, Die Dropdown-Liste wird auch als Auswahlliste wörtlich bezeichnet. Die Rede für eine Dropdown-Liste ist auf DSO für jedes Element, das in dieser Liste erscheint, wählen wir es ein wählen Sie dieses Element, so dass ist, wo wir haben, dass es auf, dann ist die I. D ist wirklich, was Sie wählen. So wählen Sie lesen Text und klicken Sie auf den Text, den Sie lesen können, aber in der Rückseite. Und was wirklich tut, ist es zurück auf das entsprechende I D in der Tabelle, die es von
nun an kommt. Das wird wirklich gespeichert, wenn wir eine Urlaubsanfrage erstellen. In Ordnung. Ich habe nicht alle anderen Felder, die sich im Ansichtsmodell befinden,
wie , die angeforderte Datumsaktion,weil wir die hinten sitzen werden, den
Benutzer nicht festlegen müssen. sind also habe ich dieses Ansichtsmodell nur speziell für das Urlaubsanforderungsformular auf
Ankündigung erstellt . Es hat nur die Felder, die für den Mitarbeiter relevant sind, der sich bewerben wird. Also nochmals können
Sie hier pausieren. Kopieren Sie das auf. Kannst du mit auf den neuesten Stand kommen? Ich werde weiter und nein, das sollte sehr leicht zu verstehen und zu replizieren sein. Also wieder unter unserer Kontrolle, werden
wir anfangen zu sitzen oder Action zu schaffen. Nein, es ist einfach genug, einfach mit der rechten Maustaste auf die Ansicht zu klicken und die Ansicht mit einer
Create-Vorlage für die von Ihnen modellierte Creative zu generieren. jedoch angegeben, Wir habenjedoch angegeben,dass wir eine selektiv Stern-Dropdown-Liste benötigen, in der Elemente
aus der Datenbank gestohlen werden , was bedeutet, dass wir diese Ansicht mit einer gewissen Menge von Daten erstellen müssen undsind technischer Begriff auf wissen, dass dies zu tun wäre, es mit unserem Modell toe zu laden, ein Modell mit Daten geladen zu
bekommen und die Ansicht mit unserem Modell im Auge zu erstellen. Also die Daten, die ich wirklich benötige, wären die Blatttypen jemand, der
ir-Urlaubstypen speichert , ist gleich Zehe auf der Punktzahl Leave Type Report also off course, wenn ich Urlaubstypen und jeden Urlaubstyp bekomme Leute Also, wenn Sie dies nicht bereits getan haben, dann können Sie hier auch pausieren. Aber wir müssen Repräsentation für unser Urlaub Typ Repository machen. Einige einschließlich der Abhängigkeit, die ich bin, obwohl die Abhängigkeit ist, dass bereits einige einschließlich verlassen Typ
Repository enthalten hätte . Ich bekomme es in den Controller und dann initialisiere ich, damit Sie hier pausieren können . Stellen Sie sicher, dass Ihr Mantel so aussieht. In Ordnung. Auf können Sie sich auf Pause ein Video herausfordern und versuchen, es selbst zu tun, ohne auf meinen Hof. Und dann vergleichen Sie einfach danach. Diese Maßnahme unter auf der Spur. Das ist ein guter Weg für ET, sich zu verbessern. Aber vorwärts drängen. Wir retten Ire. Lassen Sie Typen Typ Gewehr Punkt auf. Ich möchte alle Blatttypen, die derzeit in der Datenbank sind. Alles klar, auf, dann können wir var sehen, und ich werde diesen einen verlassen Typ I Begriffe lassen Typ-Elemente, also lassen Typ fünf Mal. Nein wird die Auswahlliste entsprechende Version von den Werten aus
der Datenbank darstellen . Also werde ich das langsam erklären. Wir wissen bereits, dass dies aus der Datenbank kommt, und wenn wir über die Variable sind, sehen
wir, dass wir eine Sammlung aus Zeit Urlaub Typ bekommen. Allerdings erfordert
unser Modell auf unzählige, die nur eine weitere Sammlung ist. So sehen Sie, dass eine Menge von Kollektionen oder Sammlungstypen in C scharfe Augen, neuere Fahrrad tragbare Sammlung, ich mindestens ein Jahrhundert, so sind. Aber der Punkt ist, dass es eine Sammlung aus Typ erfordert, wählen Sie Listenelement. Aber wir wissen als die Programmierer, dass die Auswahl dieses Elements den Blatttyp darstellen sollte. Also müssen wir eine Form der Konvertierung von ah Liste aus verlassen Typ toe unsere Liste aus wählen Listenelement so und schöne schnelle Möglichkeit, das mit Link zu tun oder, am Ende, zu verschiedenen Arbeitserweiterungen, die auf Sammlungen arbeiten, Übrigens können
wir gleich sagen. Dann bekomme ich meine Sammlung, das ist lassen Typen, die ich sagen möchte, dass Select Öffnen Sie meine Klammern, starten Sie eine Lambda Expressions. Ich verwende Q als meine Lundell Variable. Und dann kann ich sehen, dass ich jedes Element aus dieser Sammlung im Schlepptau auswählen möchte. Ein neuer Datentyp für Auswahllistenelemente. In Ordnung, auf. Möglicherweise müssen Sie eine Bibliothek direkt dort einfügen. Zweite Pause. Stellen Sie sicher, dass Sie eine Bibliothek einschließen, bevor Sie weiter drücken. Aber was ich hier sage, ist, dass ich diese Liste befragen möchte, die ich Sie von der Datenbank für jedes Element da drin vertrete. Ich möchte die Daten in einem neuen auswählen dieses Element auswählen oder die Daten darstellen, und Sie wählen dieses Element auf. Dann werde ich fortfahren und die Werte den Eigenschaften des Auswahllistenelements zuweisen . Also ein ausgewähltes Listenelement auf Ich breche einfach in der Linie, so dass wir genau sehen können, was passiert. Ist dann der Kontrollraum auf? Da. Ich sehe, dass Sie Text haben, den ich befolge. Das sind die beiden. Wichtiger, sobald der Text ist, was in der Dropdown-Liste auf dem Wert zu sehen ist, was das System verfolgt, um sicherzustellen, dass zu speichern sind so Text, der Sie in
der Dropdown-Liste sehen werden , wäre niedlicher Punkt on Remember Lambda Variably entschuldigen O que jetzt gibt uns Zugriff auf die verschiedenen Daten, die von den Objekten kommen werden Werte in der
Datenbank dargestellt . Der Text, den ich anzeigen möchte, ist also der Name, weil ich beim Beenden des Jobs nur
etwas den Namen vom Blatttyp für eine Auswahl möchte . , den wir verfolgen, wird jedoch Der Wert, den wir verfolgen, wird jedochniedlicher Punkt i d sein, der ich diesen
entsprechenden Namen abwertet . Keine Notiz. Ich bekomme eine rote Linie und das liegt daran, dass Valionis Bear String i d eine ganze Zahl ist, so dass ich speichern kann , die an String angedockt ist, was eine Funktion ist, die schnell konvertieren kann. Ähm, weißt
du, es ist schnell, es ändert nur die zarte Zehe um eine Schnur. Er arbeitet neun von 10 Mal. Manchmal muss man noch schicker werden, aber das funktioniert neun von 10 mal. Also nein, ich habe eine Liste aus und wenn ich etwas über meine neue Variable
bin, sehe ich, dass es ein unzähliger off-Typ ist. Wählen Sie diese Elemente auf diesem sieht genau so aus, wie ich in meinem Ansichtsmodell deklariert habe. Also nein, ich muss das Ansichtsmodell erstellen, das ein Objekt aus den Ansichtsmodellsekunden erstellt. Ein Feuermodell ist gleich einem neuen Exemplar aus erstellen lassen fordert die m an. Dann werde ich dies deklarieren oder dieses Objekt initialisiert, um die Werte für Urlaubstypen gleich den Blatttypelementen
zu sein, die ich gerade erstellt habe. Dann benutze ich meine Semikolons und oh, mein Modell wird erstellt. Es ist aus Typ verlassen Anfrage VM auf Es hat die Daten, die es mindestens ein Laden des Formulars benötigt und so kann ich es anschließend in das Formular übergeben. Also nein, dass ich alles abgetan habe, dass ich weitermachen und mein Formular erstellen kann. Also Irak Ansicht Ich habe Sie auf, dann füge ich hinzu, ich erstellen, Also wählt es die Vorlage erstellen. Ich verwende die create leave anfrage die m on. Ich werde das Datenklassenobjekt entfernen. Also die Datenklassen-Datenkontext-Klasse, für die ich manchmal verwendet hätte, und ich hätte sie für andere Zeiten
entfernt. Die Sache ist, es funktioniert am besten, wenn die Werte sind Die übergebenen Daten werden verwendet, um zu generieren. Die Vorlage weist eine Zuordnungsbeziehung mit der Datentabelle auf. Diese Erstellungsurlaubsanforderung hat also nicht wirklich diese Zuordnung. Ich habe nicht in die Datenbank gerufen und dann etwas gefunden, um es direkt zu markieren auf dso würde ich mir etwas Luft über keinen Schlüssel
ersparen, wenn ich es einfach entferne. Also, wenn Sie es nicht entfernen und Sie klicken hinzufügen, erhalten
Sie eine hat keine Taste Luft oder etwas aus, dass starten Sie können einfach wieder auf Sie können es einfach entfernen und dann können Sie gehen Sie weiter und drücken Sie Anzeige, die dann gibt uns unsere Form. Also haben wir eine Form, ähm unter mir, wir können die Augen entfernen und wissen Sie, um diese Form ein bisschen zu essen, aber ich werde mich auf das konzentrieren, was gerendert wird. Also haben wir ah, Textfeld für unser Startdatum oder eine Eingabe für unser Startdatum oder eine Eingabe für tatsächlich es auf . Es gab einige Eingaben für den Urlaubstyp I d. Nein. Denken Sie daran, dass die kontextuell auf dem Feld basiert, das für den Typ aus aufgefordert wird. Die Eingabesteuerung wird bei diesem Typ unterschiedlich sein. Kann durch den Datentyp bestimmt werden, den wir angegeben haben. Mit anderen Worten, wenn dieses Formular auf erstellt wird, haben
wir eine Eingabe für gestartet. Der Eingabetyp, wenn er gerendert
wird, wird außerhalb des Typdatums sein. In Ordnung, wir werden das Verhalten davon in ein paar sehen. Aber ich werde hier nur ein paar Änderungen vornehmen, wo ich betrügen werde. Nehmen Sie diese Formgruppe, die,
ähm,
weit den Blatttyp
I d hat ähm, . Ich werde es annehmen, und ich werde es an die Spitze stellen. Das ist also der erste Abschnitt des Formulars, den ich gerendern möchte. Ich will die Kalender-Steuerelemente. Entschuldigung. Ich möchte, dass die Daten nebeneinander stehen. Ordnung. Jemand, der einen Live-laufenden Teoh
erschafft, diesem Dave die Klassenrolle gibt, und dann möchte ich es anderen Typen geben. Andi jeder Live wird die Klasse namens MD so genannt dash haben. Andy und ich wollten sechs werden. Ich will, dass jede Spalte Philip halb vom Platz weg ist, richtig? Denken Sie daran. Wir haben bis zu 12, indem wir sechs sagen. Es bedeutet, dass ich sechs von den 12 will. Und so möchte ich sechs nach 12 aufnehmen. Also wollte ich es einfach nicht duplizieren. Und dann werde ich es beginnen und setzen Sie in der 1. 1 auf, dann in der Tat es und setzen Sie in der 2. 1 Also die Erwartung ist, dass, wenn diese Form rendert, Ich möchte diese Eingabe auf haben. Dann werde ich nebeneinander zwei Textfelder warten auf die Eingabe alle vor unserer
Schaltfläche erstellen . Na gut, dann
weiter. Dies wird MD vier genannt. Sie bemerken also, dass das vier Leerzeichen ausgeschaltet, 12 auf, dann von den vier Arten der 12. Ich will, dass dieser hier die Hälfte nimmt und der hier die Hälfte einnimmt. Also werde ich das nur erweitern, um vielleicht, äh, das war das vier. Ich werde es drauf setzen. So nimmt die Form mehr Platz ein. Also gut, , bevor wir uns die Arbeit ansehen, die wir tun oder bisher geleistet haben, möchte
ich hier eine Anpassung vornehmen. Also ist diese Eingabe nur auf Eingabe für Blatttyp I D. nicht wirklich
das ist, was wir wollen. Was wir wollen, ist eine Auswahlliste sind Dropdown-Liste Jetzt gibt es mehrere Möglichkeiten, eine
Dropdown-Liste zu erhalten . Ähm, nicht den gewählten Weg von wenig Widerstand gegen DSO. Wir werden einige Änderungen hier vornehmen, um unsere Auswahlliste zu erhalten. Schau, um stattdessen
aufzutauchen, aus dieser Eingabe, damit du hier pausieren kannst, schau dir an, was gerendert wird. Dann können Sie zurückkommen und dann werden wir ändern, was dadurch gerendert wird, was ich denke, nur ein Textfeld mit einigen Eingaben für eine Zahl. Ich werde das so ändern, dass es wie eine Dropdown-Liste aussieht. Also Schritt Nummer eins wird alles entfernt, dass im Fortitude Court. Also haben wir die Etiketten. Sicher. Kunst und natürlich glaubwürdig heraus, was auch immer Display Ning gesetzt wurde. Also für Blatttyp I d. Ich sagte, dass ich den Etikettentyp ausdrucken möchte. Alles klar, das ist in Ordnung. Aber stattdessen, von dieser Eingabe, was ich verwenden werde, ist ein HTML-Helfer. Also habe ich das Zeichen HTML und ich sage Punkte Drop Stone Liste vier und dann öffne Brise auf, Dropdown-Liste für und die meisten anderen. Ähm, du weißt etwas, Force. Sie haben Lehrbücher für Ihre Radiobox. Denn du hast all die, ähm? Helfer, die Ihnen ein Formular Steuerelement vier geben, Rechts. Alle von ihnen nehmen Alumna Ausdruck innerhalb der Jahre. Ähm, wie ich es vom ersten Tag an tue, benutze
ich mein Stichwort. War mein London verbal auf und ich sage q Punkt auf dann gebe ich an, welches Element aus dem mehr Modell zurück zu dieser Dropdown-Liste markieren
sollte. Das elementare Mapping ist also für den IV Typ i d. Jetzt, da ich das Element zuordne, muss
ich es sagen, wo es die Liste von Werten bringen soll, von denen es dem Benutzer
angezeigt werden soll . Alle, wissen
Sie, die Dinge, die wir gerade dynamisch geladen und essen einen spitzen in die richtige Richtung, irgendwo zu sagen. Neue Auswahlliste. So haben wir gesehen, dass wir Auswahllistenelement haben, aber wir haben auch ein Steuerelement namens Auswahlliste oder einen Datentyp Bruder, unsere Klasse Typ namens Select lis. Und dann nimmt diese Auswahlliste eine Liste ab. Auswahllistenelemente sind eine Liste aus Versuchen. Also die Liste aus ich Begriffe, die ich in die Auswahlliste übergebe, um zu füllen. Das Drop-Down kommt von meinem mehr Modell rechts Kopf und Modell, und ich sage Punkte auf. Dann ist es die Liste von Urlaubstypen, die ich buchstäblich gerade in meiner Aktion geladen habe, bevor zur Ansicht
übergehe. Also lassen Sie Typen drinnen. Je mehr Modell sollte die Liste deaktiviert haben. Wählen Sie Listenelemente auf in der Auswahlliste Elemente hat zwei Eigenschaften Text für Werte. Also müssen wir dies sagen oder auswählen. Welche dieser beiden Eigenschaften sollte der Text sein und welche sollte der Wert sein. Und ich denke, es ist klar geschnitten an diesem Punkt, der dies für Text und Werte für Wert nimmt, richtig? Also macht es es irgendwie Uniform und Sie, Andi sauber, wenn wir die ausgewählten Listenelemente verwenden, also werde ich Komma-Wert für Wert sagen. Also sollte die Wertverfolgung über die Wertdateneigenschaft von jedem von
diesen Objekten in den Listen, die ich verwende, sprechen , indem Referenz auf die Texteigenschaft von
jedem aus diese Werte, die ich anspiele Zehe. Nein. Nachdem ich all das getan
habe, werde ich nochmal Komma sagen. Also, aber stellen Sie sicher, dass ich meine Zahnspangen schließe. Ich glaube, ich werde vermisst sind Klammer hier. Das ist also. Oh, ich denke an eine zusätzliche Klammer hier. In Ordnung, gut, Sir, deswegen. Also haben wir neu wählen Sie diesen Artikel auf, dann sind wir vorbei. Wir haben offene Klammer, dass wir die Sammlung Komma die Werteigenschaft auf der
Texteigenschaft auf haben . Dann, nachdem wir diese Klammer geschlossen haben, haben
wir Komma, dass ich eine Standardnachricht einrichten werde. Meine Standardnachricht ist also Select leave type. Also, wenn der ehemalige unders, das ist das erste, was in der Dropdown-Liste sein wird und ihnen sagt, dass sie von
hier an auswählen , dann möchte ich einen neuen Bereich auf open up ah sehen, Abschnitt hier, wo ich werde einige verteidigen HTML-Attribute. Also das Attribut, das ich für diesen Job nicht auflisten möchte, wäre, dass es die Klasse sich Klassen und Attribute merkt, die dies ein HTML-Schlepper ist. Dies ist ein HTML-Attribute in diesem Schlepper. Also sage ich, ich will in der San Klasse, was ist, wann ich genau diese Attribute darstellen und ich sage gleich Andi. Ich wollte die gleiche Klasse haben, die jedes andere Formularsteuerelement hat, das Dash-Steuerelement gebildet wird, das unsere Bootstrap-Klasse ist. Um sicherzustellen, dass es wie ein Bootstrap-Formular aussieht, ähm, Elemente auf dann für meinen Button, verstehen Sie mir bei diesem BT und Dash Block. Alles klar, also Bt und Dash Block, vielleicht für die Aktion. Ich brauche keine Liste, also werde ich mich setzen. Ich werde das also verlassen. Nein. Während wir unsere,
ähm,
Anwendung ein bisschen mehr ausarbeiten ähm, , weil diese zurück zur Liste versuchen würde, auf die
Indexfunktion innerhalb unserer gesamten Anwendung zurückzusetzen , die ohnehin wirklich für Administratoren reserviert ist. Also, als wir kowtow waren, werden
wir den Mitarbeitern seine eigene Indexseite zeigen,
was bedeutet, dass er geht und sieht, was sie unsere Anwendungen verlassen hat und dann eine Anfrage stellen kann, wenn er will. Wenn wir an dieser Ansicht arbeiten, können wir diesen Lead ändern. Also bis dahin lassen
wir es so, wie es auf ist, verstehen, um alle Änderungen zu speichern oder Kontrolle Shift und s auf, Dann werde ich nur meinen Browser-Link laden auf. Dann schauen wir mal, wie das aussieht. Alles klar,
jetzt, wo wir es geladen haben, ist
das erste, was ich tun werde, dass ich mich um Urlaub bewerben werde. Und dann sagt es uns, dass wir uns einloggen müssen, weil wir gesagt haben, dass alles in diesem gesamten Controller an den autorisierten muss, damit sie mich nicht durch einen entfernten Zeh lassen. Verwenden Sie mein Standardkennwort für diesen Benutzer
, der sich außerhalb von W oder Organisation 1 befindet. In Ordnung. Und sie sagen mir, ich kann nicht das Passwort sein. Ich tue nur, dass pünktlich geschnitten werden kann, jedes Loch. So sieht das Formular aus, oder? Also haben wir unseren Urlaubstyp an. Wir haben diese Dropdown-Liste, genau
das, was wir wollten. Aber lassen Sie mich nur Elemente untersuchen. Ich kann Ihnen zeigen, was ich mit der Text-gegen-Wert-Konversation gemeint habe. Also haben wir eine Auswahlliste, richtig? Also über Akkord, dass wir jeden html, die Dropdown-Liste vier gesagt. Es erzeugte einen ausgewählten Schlepper. Es hat die Validierung in all den Dingen eingebaut, die generiert werden, wenn ich auf dieser
Liste fallen gelassen habe. Beachten Sie, dass Sie die Option haben. Also für jeden Wert, der aus der Datenbank kommt, hat die Option auf dann die Optionen
einen Text, der auf einem Wert sichtbar ist. Jeder Text als gültige Option hat einen Wert auf den Text. Das ist also alles zu sehen, wenn wir angeben, dass wir dies für Text auf diesem vier Wert wollten. Das ist es, was es getan
hat, wirklich und wirklich, richtig? Also, wenn Sie Erfahrung mit der Auswahl dieser als Entscheidung haben, würde
ich nicht vorher in das, was Sie gelernt hätten, immer halten, um die
Dropdown-Liste dynamisch basierend auf Daten von anderen Orten in Ihrer Anwendung zu generieren , was ein nützlich auf sehr Zeit. Um, Rettung Neto haben. Alles klar, also das nächste, was ich darauf hinweisen möchte, dass wir die Daten nebeneinander haben , , also haben wir die Regel aufgestellt,dass wir ihnen gesagt haben, die beide Textfelder wollten, sind entweder, Um, Eingangssteuerung für die Daten zu sein,wissen
Sie, wissen
Sie, um die Hälfte von der Art zu nehmen, die der Container ist. Also die coolen Container, die sie kommen acht aus möglichen 12 Räumen auf, dann innen von, dass acht Räume sechs und sechs beanspruchten. Richtig? Deshalb kann ich mischen und viele, die als MD's bezeichnet werden, um schön,
sauber,
grün aussehend zu bekommen sauber, . Leals sind hübsch alte Leute, wie du sie willst. Nein. Eines möchte ich darauf hinweisen, ist die Tatsache, dass dies bereits den Beat-Wert impliziert hat. Wenn ich dann hineinklicke, fragt
es mich nur. Es veranlasst mich, das Date einzugeben. Ich bekomme eine Kalendersteuerung, was gut ist, weil das Letzte, was Sie wollen ist, dass jemand kommt und tatsächlich nur
Freehand eintippt Freehand eintippt Dummheit für das Bit
einsetzt. Die nicht Seite, jedoch Zehe ein loadet der Bruder ER, um ihre Kontrolle auf Ich werde nur über Zehe
Internet Explorer springen zu bestimmen , ist, dass die Datumskontrolle wird für jeden Bruder anders aussehen. Das ist also Internet Explorer-Version von diesem Datumskontrolle, während Chrome gibt dem Kalender aussehende Kontrolle jetzt, Sie wollen nicht, dass diese Art von Inkonsistenz. Sie möchten sicherstellen, dass alle Ihre Kunden überall eine Sache sehen. Dies wäre also ein guter Punkt, nein zum Einschließen, wie eine Standard-Datumsauswahl, von der Sie wissen, dass es die Nahtsteuerung in allen
Browsern rendert . Also das ist meine Wahl zum Picker, also das ist Jake. Sorgen Sie i dot com Schrägstrich Datum Picker auf. Dies ist mein Standard goto one. Wenn ich in das Textfeld trickse, bringt
er nur dieses Steuerelement auf, und so wird es konsequent aussehen, oder? Also werde ich dieses Kalendersteuerelement auftauchen lassen, wenn jemand auf das Textfeld klickt. Jetzt müssen wir ein paar Anpassungen vornehmen
und noch einmal erklären, warum, Andi,
ich hoffe, du verstehst, warum wir manchmal so viele Buchan-Forts haben, wenn wir unser
Land wollen bestimmte Dinge. Aber mit dem Datum werde ich nicht zulassen, dass es den Beat einen Za-Typ für die Importe macht . Ordnung, klicken Sie in das Textfeld. Du musst mir nicht so krank folgen. Und diese Uhr, was ich tue. Richtig. Klicken Sie in die Lehrbücher, um das Textfeld Startdaten zu überprüfen,
beachten Sie, dass das Element selbst ist Es wird mit dem Typ aus gerendert. Iss, richtig. Also habe ich gesagt, dass, wenn wir den Datentyp im Modell angegeben haben, es den Datentyp beeinflusst , der der Eingabetyp ist, der beim Rendern verwendet wird. Also, wenn ich diesen Tag Picker verwenden möchte. Der Eingabetyp muss Texte sein. Also, wenn ich mir die Quelle ansehen, werde
ich hier sehen. Dieser Importtyp ist gleich Text, nicht Datum. In Ordnung, also lassen Sie uns ein paar Anpassungen vornehmen und dann unsere Tiefe eintreten. Die erste Anpassung besteht darin, sicherzustellen, dass ich die dafür benötigten Skriptdateien habe. Collender. Die von den Dateien wäre die CSS-Dateien, die jemand nur machen, um dieses CSS für
uns zu kopieren , ist eine Reihe anderer Dinge. Sie sind nicht unbedingt notwendig. Sie sitzen wirklich für die Demo. Das ist also unser Teil davon, zu wissen, was Sie brauchen und was Sie nicht brauchen. Also, was wir brauchen, wäre die Basis-CSS-Datei hier, die tatsächlich unseren Kalender geben wird, die aussehen und fühlen, dass wir jemanden gesehen haben, um diese Volkszählungsdatei zu kopieren, gehen Sie zurück zu unserem Projekt auf gehen Sie zu Overlay oder Datei auf. Fügen Sie dann diese CSS-Datei hier hinzu. In Ordnung, also haben wir eine neue CSS-Datei, eine neue CDN-Link-Toe-Orgie. Corey, warum als nächstes? Wir wollen sicherstellen, dass wir unsere Skript-Dateien auf die Skript-Dateien haben, die
Referenz gemacht werden, um unsere kleine zu hören Wir müssen bemerken, dass dies eine Version von Jake Sorge ist. Wir haben Jake schon Sorgen. Aber die Sache ist, manchmal erfordern die diese Steuerelemente Funktionen von einer bestimmten Version von J. Query auf wir haben die neueste Version. Natürlich nehme
ich diese, ähm, ähm, Version von Jake Worry auf. Ich nehme die Skriptdatei, die mit Jake oder Ihren Augen verbunden ist. Ich nehme sie beide mit. Und dann in meiner frühen Haute, werde
ich die Zehe, legen sie unter den anderen Jake schlimmer nach dem Jake oder ist von allem geladen, Dingen dieser Version von Jake
abhängt. Sorgen sind geladen. Dann werde ich meinen Geek laden,
wo in der Tat meine Skriptdatei hier auch Abhängigkeit für diese Person hat. Natürlich gehe ich auf die Zehe. Legen Sie es noch weiter darunter. In Ordnung, also nein, diese Skriptdateien werden referenziert. Ähm, da für den JIC oder Sie ich dann das nächste, was sie sagen, dass wir brauchen, wäre die
Initialisierung der Funktion, die die Deepika-Kontrollen verursacht hat. Ich werde nur dieses Blockierungsskript hier abnehmen. Kopiere es dann auf. Inside von unserem Kreieren. Ich werde einen neuen Abschnitt vier Skripte regeln. Entfernen Sie also diese Skripte des Render-Abschnitts Und dieser Abschnitt würde standardmäßig unter allen
Skripteinschlüssen angezeigt , oder? Also konnte ich immer einfach voran gehen und Skript sagen, ein Skript
öffnen und dort etwas tun. Aber wenn die Seiten gerendert werden, wird
dieses Skript inside off gerendert. Render Körper Andi. Es wird ausgelöst, bevor die erforderlichen Skripte enthalten sind. Also werde ich sicherstellen, dass ich den Abschnitt Army Verweis auf den Abschnitt, der
hier ist , bevor ich in die Skripte, Ich sage nur in der Wissenschaft Abschnitt über, dann ist der Name des Abschnitts Skripte offen und schließen Klammern auf, dann innen aus diesen Klammern. Jetzt kann ich mein benutzerdefiniertes JavaScript-Kabel setzen, das, wenn die Seiten gerendert werden, ja , einen Körper rendert und alles hier rendert. Aber wenn es zum Abschnitt kommt, können
Sie den Lorbeer verlassen, bis er alles andere gerendert hat. Dann rendert es das Skript dort, so dass dieser Abschnitt, ähm, kalt funktioniert. Also nein, ich werde ein paar Anpassungen vornehmen. Eine Ich werde den Datentyp von Datumszeit ändern, weit von Datumsangaben. Ich entferne diese DEET-Validierung. Also, nein, es wird nur das Startdatum als normales Textfeld sehen, weil ich das nicht erzwinge. Es sollte zu der Zeit sein. Ja, dieser Datentyp ist die Uhrzeit. Aber ohne die Datennotation wird
das Formular standardmäßig gerendert. Nur ein Textfeld der Eingabe wird Eingabetyp gleich Text sein. Das nächste, was ich tun möchte, ist sicherzustellen, dass es auf die richtigen Elemente zeigt, oder ich weiß, ist Suche nach einem Element mit der I. D-Datumsauswahl. Und das basiert auf der Demo. Allerdings haben
wir zwei Elemente hier begann es und in der Tat ist es, dass die Dienste von den
Tiefenpflückern brauchen . Stattdessen werde ich ihnen beide die Klasse Deep Speaker geben. Also füge ich nur dem Klassenabschnitt hinzu. Geben Sie entweder den Klassendatumswähler ein, der stattdessen die Elemente des
Hashtags referenziert , bedeutet ein i d auf Element mit dem I D aus. Was auch immer nach Ashdown kommt, ich will Elemente mit der Klasse aus. Was auch immer nach dem vollen Stopp kommt. So ist es ein spezifizieren Ideen. Hash-Tag, um die Klasse anzugeben. Verwenden Sie den vollen Stopp. Richtig? Etwas Full-Stop-Datumsauswahl. Suchen Sie nach allem, was die Klassendatumsauswahl enthält, die wir soeben hinzugefügt haben. Diese beiden Steuerelemente auf und initialisieren die Datumsauswahl sind das Kalendersteuerelement. Also werde ich nur Shift s kontrollieren Machen Sie diese Änderungen speichern diese Änderungen. Gehen Sie zurück zu meinen Bewerbungen. Ich kann die Jake schließen, wo Sie sind, dann ging ich zu aktualisieren und mal sehen, was passiert sind so auf der Aktualisierung Nall Wir können sehen, dass das Datum, das Datum Durchsetzung, diese Art weg. Nein, es sieht so aus, als würde es uns noch irgendwie die Kontrollelemente geben, die wir
zuvor gesehen haben , also würde er zu diesem Drop-down-Menü gehen und wir bekommen den Kalender. Aber wenn wir dann einfach in den Körper klicken, sehen
wir Orgie wo? Also das sind sie immer noch irgendwie Konflikte und das liegt daran, dass der Datentyp
, der Totzeit
ist, immer noch den Typ überschreibt. Und es ist nicht, den Text zu rendern. Es rendert immer noch einen Datentyp. Also unsere Höhlen oder versucht seine beste Zehenanlage. Es ist dieser Typ. Alles klar, wenn
ich das manuell in Text ändere. Sie bemerkten, dass es nichts geben würde. Aber dann, wenn ich auf J Steinbrüche Kalender ist der einzige Kalender, der
dort gerendert wird . Alles klar, damit wir uns das ansehen können. Wir können wahrscheinlich so etwas tun, wie wir im Ansichtsmodell den Datentyp von
tagsüber zu nur String ändern können . Aber natürlich müssen
Sie sicherstellen, dass, wenn wir unsere Operationen und unsere Mop-Dinge machen, dass wir jeden Wert in Datumszeit
umwandeln. Also, das ist so manchmal vermissen viel kann auftreten. Also, für nein, ich möchte es als die Zeit lassen. Andi Ja, wir haben zwei konkurrierende Kalender-Steuerelemente, aber ich werde es allein für nein lassen. Zumindest verstehen wir, was passiert, und später können
wir in ein dynamischeres Gericht setzen, um die Situation zu bewältigen. Aber nein, wir haben unsere Standard-Kalendersteuerung. Wenn ich es in Internet Explorer betrachte, dann haben wir immer noch diese Konfliktsache, weil Internet Explorers Aufruf der Steuerung immer noch versucht, Jake oder so später zu finden. Wir können das ändern, aber zumindest für nein, wir wissen, was das Problem verursacht, und wir können es lösen. Eine andere Sache, die ich tun möchte, ist sicherzustellen, dass mein Datumsformat ist warum, Warum? Warum? Warum ein Strich? Mm. Dash DD bedeutet, dass es Jahr,
Monat
danach sein muss Monat . Tag. Ich will nicht, dass es, ähm, du weißt schon, irgendeine Verwirrung verursacht, wie es ist. Also gehe ich nur Fuß in den Datumswähler Funktionsaufruf, der sich bis zu geschweiften Klammern öffnet. Dann denke ich, sie haben eine Eigenschaft in der Datumsauswahl für Datum. Es sagte, wie es für viel Doppelpunkt tat. Am Datum werden
vier Monate die Werte haben. Warum y dash? Mm. Dash d d? Nein, nur eine kleine Bi-Abfrage kann es in der Dokumentation finden. Wenn Sie zurück zum Jake gehen, wo Sie Datumsauswahl sind und auf vier Monate klicken, werden
sie Ihnen die verschiedenen Formate zeigen. Also geben mir die beiden Weisen die vierstelligen Daten. Das vierstellige Jahr. Entschuldigung. In Ordnung. Und dann die Monate und dann der Tag. Also wollte ich nur Uniformen aussehen. Das ist es also für die visuellen Elemente. Als nächstes möchte
ich die Post-Aktion starten. Was passiert, nachdem der Mitarbeiter klickt unsere Anfrage jemand zu Teenager-Text hier erstellt, um Urlaub anzufordern. Nein, Unser Questurlaub wird etwas Intelligenz erfordern und natürlich, wenn sie klicken, dass der natürliche Fluss ist für die Post Aktion zu gehen oder erstellen. Also im nächsten Video werden
wir die Post-Aktion für das Erstellen auf beenden. Wir werden etwas Intelligenz einbringen, die wir noch nicht berücksichtigt haben. Einige Geschäftsregeln auf ich meine, Sie haben vielleicht eine andere Vorstellung von den Geschäftsregeln als ich auf Diff, wissen
Sie, um sie zu implementieren. Dann sind wir gut, denn dann verstehst du das Konzept. jedoch Wenn wirjedochin der nächsten Lektion zurückkommen, wir dies beenden, und es wird jede Urlaubsanforderung an die Datenbank senden.
41. Modul für die Mitarbeiter:innen - Erstelle Vorstellung Teil 2: Hey, Leute, von wo aus wir im vorherigen Video aufgehört haben und einfach anfangen wollen,
unseren Beitrag zu erstellen Aktion für Urlaubsanfragen und ich werde einfach direkt eintauchen. Also sind wir bereits im Controller auf Ich bin die Aktion angerufen. Die erste Änderung ist also die Daten, von denen wir wissen, dass es zurück in den Ochsen bei der
Aktion geht , die aus Datentyp erstellt Urlaub, Anfrage VM. Ich nenne es Model Soul. Wir werden hier ein paar Dinge tun, nur um sicherzustellen, dass unser Urlaubsantrag gültig ist. Der erste Vorgang besteht darin, zu prüfen, ob der Modellstatus gültig ist. Also werde ich diesen Kommentar einfach entfernen und dann werde ich sagen, wenn nicht Modellzustand sorry, Modellzustand, der geschätzt wird. Wenn es also nicht gültig ist, dann wissen wir, dass wir die Ansicht zurückgeben möchten. , Hier ist ein kleiner Trick,den du vielleicht gesehen hast, dass er vielleicht nicht gesehen hat, aber als wir die Ansicht zurückgaben, müssen
wir sie mit einigen Daten zurückgeben. Ich denke, wir hatten ein Szenario wie das früher, wo wir die Ansicht zurückgegeben haben, aber wir haben sie nicht mit den erforderlichen Daten geladen, und so gab es uns einige keine Ausnahme. In diesem Fall wird
es die Ansicht zurückgeben, auch wenn wir über Model Model bestanden haben, wird die
Dropdown-Liste und Elemente nicht verfolgt , so dass, wenn ich es mit Modell zurückgebe, wird es zurückgeben. Entschuldigung wird es mit einigen MT zurückgeben. Daten, richtig? Es wird also mit einem leeren, das auf diese fallen gelassen wird, zurückkehren, was absolut notwendig ist. Also dann muss ich sicherstellen, dass ich das Modell wieder ablade. Also werde ich das einfach kopieren. Hat Onda erzielt. Ich gehe die Zehe einfach laden. Es ist, sobald wir den Posten getroffen haben. Ich werde nur diese Abfrage ausführen, weil wir mehrere Orte haben, an denen es sie
zurückgeben wird . Also will ich nicht Oh, legen Sie diese Sorge in die if-Anweisung und dann muss es wieder in die Katze verstehen ein Mal auf. Dann werde ich Modellpunkte zuweisen. Verlassen Sie den Typ. So haben Modell bereits. Einige setzen nur neu belebende Blatttypen Variable mit den Blatttyp-Elementen, die wir gerade bekommen haben. Also, wenn es an irgendeinem Punkt innerhalb des Angriffs zurückkehren muss , werde
ich das in die Strecke bringen, denn das ist der Punkt der Strecke bei dir Tran Operation auf. Wenn Sie eine Ausnahme haben,
was bedeutet, dass es einen Datenbankpfeil gibt, fängt er ab. Es ist richtig, also versuchen wir es an, dann bekommen wir alle Werte, die wir wissen, dass wir für das Drop-Down brauchen. Dann sagen wir, wenn der Wert, wenn der Modellzustand nicht gültig ist und nur das Modell zurückgegeben hat und es bereits
die Daten hat , die es benötigt, die eindeutig fehlt, wenn es vorbei kommt, der schlechte Start. Das ist also das Erste. Also überprüfen wir. Wenn der moderne Zustand gültig ist, geben wir die Ansicht zurück. Wenn es danach nicht ist, dann möchte ich anfangen, einige Daten zu bekommen. Also zuerst möchte ich die Mitarbeiter auf dem Mitarbeiter, der derzeit Lobbyarbeit ist. Also möchte ich, dass Mitarbeiter, der Urlaub Anfrage für einen persönlichen macht, der die Urlaubsanfrage gestellt hat, der Benutzer sein muss, der angemeldet ist, also muss ich das im Formular nicht verfolgen. Ich brauche nicht, dass Sie mir sagen, wer Sie sind, denn das System würde bereits eine Vorstellung davon haben, wer Sie auf Ihrem Logbuch basieren, in der einzigen Art und Weise unsere eigenen ist, wenn ich Ihren Pastor als Ihre Anmeldeinformationen und ich versuche, verlassen Anfragen wie Sie . An welchem Punkt ist das wahrscheinlich Ihre Fahrlässigkeit oder mein Versuch, eine Situation zu betrügen, nicht Details von der Person, die angemeldet ist, zu bekommen. Ich brauche sie nicht, um zu identifizieren, wem sie auf einer Farm schon geliebt hätten. Und sie, wenn sie es liebten, würden sie die Blattanfrage einreichen. Was bedeutet, dass ich nur die Person abrufen muss, die geliebt wird, an den Punkten zu sein, die diese Anfrage in jemanden geht, um die Mitarbeiter mit dem Benutzer-Manager abzurufen,
der bereits als Abhängigkeit von enthalten ist . Ich werde sagen, etwas wie VAR-Mitarbeiter ist gleich auf dem Score-Benutzer-Manager
, der meine Abhängigkeits-ID angedockt ist. Dann haben sie ein Telefon. Kelche bekommt Benutzer eine Spüle, jemand Benutzer Lockerung zu bekommen. Das erwartet einige Feuer Amateur aus System, das Sicherheit behauptet Prinzip unsere Prinzipien so innen, dass ich unser Objekt oder eine Klasse namens Benutzer übergeben werde. Nun, es sind wirklich Act-Objekte, also wenn ich den Mauszeiger über das Wort user zeige, dann sehen Sie, dass es genau der Datentyp ist, der benötigt wird, der das Prinzip reinigt. Also bekomme ich den Benutzer an. Dann werde ich nur sagen, dass Ergebnisse, um die tatsächlichen Daten abzurufen, da dies eine asynchrone
Funktion ist . Also nein, meine Mitarbeiter werden auf Mitarbeiter Objekt haben. Also bekomme ich den Benutzer zurück, der gerade angemeldet ist. Das ist also eine nette Möglichkeit, den aktuellen Benutzer abzurufen. Sie möchten, dass der Benutzer, der sich während der Sitzung angemeldet hat
, ein Schlüsselwort hat, das wörtlich das Wort user ist. Sie können sehen, dass es ein wenig komplizierter sind, weil einige Leute tatsächlich geben es ein voll qualifiziertes System,
dass Sicherheit, die behauptet, dass das Prinzip löscht, dass Benutzer. Manchmal siehst du das? Was? Das ist in Ordnung. Sie können einfach das Wort Benutzer sagen. Eso Nein, ich kenne den Angestellten, der die Anfrage stellt. Das nächste, was ich wissen muss, ob ich ihm sagen muss oder nicht, wenn diese Anfrage sein Wert ist, dass er seine tatsächliche Zuteilung verletzt hat, richtig? Also muss ich die Zuweisungen für diesen Benutzer finden, damit ich so etwas wie Bar sagen kann, dass unsere Standorte gleich Zehe sind. Dann sehen wir auf der Partitur Verlassen Sie einen Standort auf DSO. Ich habe eigentlich nicht diese Abhängigkeit. Also werde ich wieder weitermachen müssen. Stellen Sie sicher, dass ich eine Abhängigkeit für meine Urlaubszuweisung habe Melden Sie jemanden, um das
schnell zu tun . Ich werde sagen, ich gehe. Ah, Standort-Repository auf diesem hier wird verlassen werden. Ich sehe, ich bin nur Thread Shorten Bericht über. Dann werde ich einfach die Abhängigkeiten einbinden. Also nutze ich nur das Gericht, das bereits da ist, um diesen Prozess zu erfüllen. Pfleger. Also natürlich, wenn ich zu schnell gehe,
wir nur, wir nur Sie wissen schon, pausieren Video auf Sie einfach wieder tippen auf Aufholen. In Ordnung? Also nein, ich habe diese Abhängigkeit für die Urlaubsorte. Also lasst uns das noch mal versuchen. Also lassen Sie Zuteilung. Unterstrich. Lassen Sie Alec Repo angedockt. Dann kann ich sagen, bekommt Urlaub Zuteilungen von Mitarbeitern, die eine Zeichenfolge für die Mitarbeiter Ideen erwartet, die ich sagen kann, bekommen von Mitarbeitern. Diese Funktion wurde bereits früher erstellt. Dann werde ich in den Wert Mitarbeiter Punkte übergeben. Alles klar,
also gehe ich in die Angestellten und die Nummer ein. Alles klar, Aber dann besteht hier eine Gefahr. Was ist, wenn diese Operation sich anfühlt, wenn sie versuchen,
diese Angestellten abzurufen , es war nicht so, Chaos zu ersparen, wenn überhaupt. Ähm, Fehler sind so auf eine ich denke, deshalb haben Sie die Katze versuchen. Also fangen sie, sobald er einen dieser Pfeile bekommt, können Sie die Ausnahme abfangen, aber dieses
Objekt, das Sie einfach in die Ansicht übergeben können, wenn Sie einen Systemfehler machen möchten oder etwas auf dem Bildschirm aufgedruckt ist, was nicht notwendigerweise der beste Fall. Aber der Punkt ist, das ist der Punkt eines versuchen fangen. Wir haben es ein paar Mal gemacht und ich bringe Sie nur presento, warum wir die Strecke noch haben. Also versuchen wir zu operieren, und dann fangen wir die Ära ein. Und wenn es einen Fehler gibt, als wir etwas tun, damit ich nur Fuß gehe, würde ich
Modellzustandspunkte seltsam bei Model Arrow hören . Dann werden es Gnocchi sein. Aber dann lief etwas schief. Ich gebe nur,
dass etwas mit der Operation schief gelaufen ist. Ähm, ihnen nicht unbedingt die Details zu sagen. Aber für die 1.000.000.000-Zwecke können
wir dieses Objekt immer beobachten. Jedes Haus, das wir abrufen oder Mitarbeiter, wir rufen die Zuweisungen, die dieser Mitarbeiter hat. Und dann erkannten wir nein, dass es alle Zuweisungen sind und es nicht unbedingt spezifisch für die Zuordnung aus dem Blatttyp ist, der angefordert wird. Das sagt mir also, dass ich eine andere Funktion in meinem Repository gemacht habe, um noch spezifischer zu sein. Also gehe ich einfach zu Fuß, gehe zurück zu meinem Repository, um mit Contra zu beginnen. Also ich, Levi Standort Repository auf. Dann werde ich das auf duplizieren. Dann werde ich sehen, bekommt eine Standorte von Mitarbeitern Andi-Typ Also auf die Zuweisungen von den Mitarbeitern und die Arten von ging in der Zeichenfolge Mitarbeiter I d sowie eine Ganzzahl verlassen Typ-Idee auf dann im Repository, ich gehe , um diese Funktion zu implementieren, also warte ich nur, bis ich die rote Linie hier bekomme. Dann habe ich gerade über oder nehmen Sie die Glühbirne, verwenden Sie die Haftung wirklich auf implementieren stört auf. Dann wird diese Funktion sehr ähnlich aussehen oder Zuweisungen von Mitarbeitern erhalten. Denken Sie daran, dass wir für einen Zeitraum überprüfen und sie die Zuweisungen überprüft haben, verstehen Sie die Kopie. Dies erzielte, weil ein sehr ähnliches bisschen vom Kurs zu sein, aber dieses Mal sehe ich alle finden, wo die Mitarbeiter, die ich d ist gleich der Idee , die in der Periode kommt, ist gleich dem Zeitraum auf. Dann werde ich sagen Onda, die Q Punkte verlassen ich d Typ Ideen. Gleiche Zehe glauben Typ I d kommt rein. Nein, bei dieser Gelegenheit wollen
wir nur einen. Selbst wenn ein Datensatz diese Bedingung erfüllt, was ist, wann das passiert ist, ist, dass wir immer einrichten, um eine Liste unserer Sammlung zu erhalten. Es wäre also eine Sammlung mit einer. Ich will keine Sammlung mit einer. Ich will nur ein Objekt. Also, um ein Objekt zu erhalten, kann ich dies ändern, waren zuerst oder Standard. Also zuerst wird
unser Standard immer nur ein Objekt zurückbringen, da es etwas findet, das viel die Bedingung ist ,
die es am ersten herbeiführt. Also, selbst wenn Sie gebracht, wenn wir eine Sammlung von Dingen, die viel die Koliken, die Bedingung, Sie werden nur die 1. 1 zurückgeben Wenn Sie keine gefunden haben, dann kehrt es zurück. Nein, das ist es, was der Standard bedeutet, oder? Also verwenden wir die gleichen Lambda-Ausdrücke Waren die Änderung der Funktion von waren die erste unsere Standardeinstellung, also brauche ich nicht in der Liste. Also nein. Wenn ich das mache und ich bekomme eine rote Linie hier eso meine rote Linie ist, weil Sorry, ich kehre zurück. Einmal. Ich ging gerade durch die Periode der Hälfte sagen, dass wir erwarten, ein Objekt, aber ich habe diese Funktion
erklärt, um auf die Sammlung zu warten. Also muss ich nur die Datentypen hier umkreisen, also lassen Sie die Zuweisung stattdessen von einer Sammlung ab, die den Vertrag nicht viel ausmacht. Also gehe ich zurück zu meiner Vertragsdatei oder zu meiner Störungsdatei und stelle sicher, dass ich es richtig
repräsentiere. Nein. Nachdem ich alles abgetan habe, sollte ich keine Probleme haben. Also habe ich Urlaub Zuteilung, bekomme Urlaub Zuteilung nach Mitarbeitern und Typ, die eine bekommt. Und wir haben es gerade in unserem Repository implementiert. Ordnung. Also zurück in unserem Controller, werde
ich dies verbal von Zuweisungen für die Zuteilung ändern. Es gibt also einen Datensatz mit der artikulären Zuordnung zurück, die dieser Mitarbeiter für diesen
Urlaubstyp hat . Also Oh, ich muss diese Funktion ändern. Richtig? Also habe ich die Funktionen im In nicht geändert. Der Controller benötigte keine Knoten, die diese bestimmte Funktion genannt werden. Ich rief an, aber ruft man Zuteilungen von Mitarbeitern und geben Sie auf sie vorbei an einem Mitarbeiter i d und auch Modell, das Typ I d verlassen . Also weiß ich, dass die Mitarbeiter die Anfrage stellen und das Modell die Blattzeit überträgt , die angefordert wird. Nein, ich überprüfe die Zuteilung. Nein. Noch einen Scheck, den ich treffen muss. Nein, ist die Nummer von diesen zugeordnet oder derzeit im System für diesen Mitarbeiter? Ist es größer oder gleich der Zahl, die angefordert wird. Also nein, wir müssen einen Monat machen. Ich muss sagen, Sie haben gefragt, dass Sie wissen, zwischen dieser Angst als dem Pier, das ist X Anzahl von Tagen. Haben Sie diese Nummer in Ihrer Zuteilung? In der Tat denke
ich, dass ich eine sehr wichtige Validierung übersprungen habe, die passieren muss, bevor wir mit der Überprüfung der Standorte
beginnen können . Und das ist eine sehr einfache Validierung gegen die Taten, weil wir einen Anfang haben. Und dann,
in der Tat, was? Wir müssen sicherstellen, dass die Person kein Startdatum setzt. Das ist weiter, was ich in der Zukunft hatte als das Enddatum. Also, bevor ich überhaupt mit all dem vorantrete. Das hat mich vor einer Weile getroffen, dass ich diese Validierung verpasst habe. Nein. Der Punkt dieser Übung ist, dass, was auch immer Logik Sie hier einfügen, die Validierungen, die das System machen und brechen können. Das sind kleine Dinge, die
große Kopfschmerzen verursachen . Wenn Sie ein großes Unternehmen und schlechte Validierungen haben, die es Benutzern ermöglichen, zwei Müll in das System auf dann als Entwickler oder die I t Person, die für das System verantwortlich ist, werden
Sie derjenige sein, der das Chaos aufräumt. Also ist es einfach. Denken Sie nur darüber nach, was am Punkt aus gehen kann, Eintrag auf, dann gegen die Onda validieren. Versuchen Sie, oder Szenarien zu beseitigen, ? Also überprüfe ich bereits, ob die gültige Wenn der Staat gültig ist und ich zurückkehre, bin
ich. Ich bin ich denke, ich kann das benutzen sind gut, ich werde überprüfen. Nimm einen anderen. Wenn Aussage, Ich werde sagen, wenn am Tag werde ich Ah verwenden, die Zeit Compere So Datum Zeit Das Objekt hat etwas genannt es. Zeit compere Direkt an. Dann vergleichen sie ihre Zeit. Es braucht zwei Werte. Wer nimmt zwei Daten, so kann ich sagen, Modell, dass, Andi Ich sehe so etwas wie begann es Also dauert es die ersten Daten, die Sie mit den zweiten Daten vergleichen
möchten . Ich vergleiche den ersten Tag, um nur das Datum zu beginnen. Dann vergleiche ich es. Zehenmodell Punkte enden, sei es? Ja. Es gibt also etwas zurück, das kleiner als Null ist. Wenn es früher ist, als wenn das angegebene Datum früher ist als die beiden, vorausgesetzt, er gibt
Null zurück . Wenn es das gleiche Datum bei jeder Rückkehr etwas größer als Null ist. Wenn es ist, wissen
Sie, größer als so offensichtlich wollen wir vergleichen und einfach überprüfen, ob es weniger als Null ist, weil niemand anfangen sollte und beenden es Start ist der Tag, an dem Sie über Dwell geschrieben wurden. Es sollte nicht kleiner sein, als es größer als Null sein sollte, tatsächlich, weil es das gleiche Datum sein kann. Wenn Sie nur einen Tag genommen haben, dann wählen Sie den ersten Start unter nd, um den gleichen Tag zu sein, an dem wir wissen, dass es ein D richtig ist. jedoch ist, Wenn esjedoch ist,dass das Startdatum das 16. auf dem Indy ist, ist
es das erste. Dann wissen wir, dass wir ein Problem haben. Also werde ich nur vergleichen und sagen, wenn dieser Vergleich ein Ergebnis verwendet, das weniger als Null ist , dann möchte ich zurückkehren. Also verstehe ich, dass die Rückkehr zur Ansicht ist, richtig? So können wir so viele Validierungen haben, wie wir es für notwendig halten. Die nächste Validierung wird also gegen die Einrichtung der Zuteilung sein. Also nein, ich habe die Zuteilung für diesen Urlaubstyp auf. Dann werde ich sehen, ist die Zahl aus der angefordert wird größer als oder gleich der Zahl aus diesen in der Zuteilung. Oder besser gesagt
, oder? Ja, ist ein größer als ist ein größer als die Anzahl von diesen in der Zuteilung. Dann hätten wir einen anderen Validierungspunkt getroffen oder zurückgekehrt. Also
lassen Sie mich für diesen einen Modellstatusfehler einfach hinzufügen, damit wir speziell auf den Bildschirm drucken können, das ist der gestartete. Es kann nicht in der Zukunft
weiter sein als das Enddatum. Also lassen wir den Benutzer wissen, dass der Müll, den sie auf DSO bedauert haben, ablehnte und sie wissen
lassen, dass das Ihr Pfeil ist. Diese haben das behoben. Beschlagnahme macht es sehr einfach, dies zu tun, ähm, Berechnung für die Anzahl von Tagen zwischen dem Startdatum und dem nd. Also der Vergleich wirklich nur einen negativen zurück, wenn er früher als Null ist. Wenn es am selben Tag ist, dann größer als eins, wenn es ist, wenn der Start es begrüßt getan. Alles klar, Onda. Als ich das sagte, erkannte
ich, dass ich hier eine logische Ära habe. Also müssen wir das Datum auf der Zeit zu beginnen Datum und in der Tat es zu vergleichen. Wir müssen Irwin geben. Es ist größer als eins. Tut mir leid. Also sagte ich weniger als Null,
was bedeutet, wenn das begann, es ist früher als der Indianer, dann bekommen wir weniger als Null auf. Das wäre OK, aber das Problem ist, dass wir wollen, wenn wir das Problem erkennen wollen, wenn der Start es
größer ist als der Indy es auf, wenn das in dieser Funktion passiert, gibt den Wert von eins zurück. In Ordnung, also ist es wirklich diejenige, nach der wir suchen müssen. Dann geben Sie den Fehler für die für die Verletzung zurück. Also etwa zwei Stunden Berechnung für die Anzahl der Tage, die ich sagen werde, dass etwas wie int
angefordert wird , gleich ist dann ein einfacher Weg, dies zu berechnen, wäre zu sagen, Modellpunktstarts haben oder ein anderes Modell, das seine beendet hat, da das ein größerer Wert ist. Es ist ein Modell, dass Andy dot minus Also haben die größeren Schulden oder was wir wissen. Also, wenn wir dieses Feuer bekommen und wir wissen, dass es in der Tat deutlich größer ist als starten Sie es auf, dann sehen wir mein Nasenmodell Punkt Startdatum, das auf Taten. Dann, nachdem wir das tun, dann haben wir gerade außerhalb der Brise si dot Tage. Also wird es tun. Seine Berechnung ist nicht nur leid. Das sind insgesamt Tage, also werden die Gesamttage nach John zurückkehren. Wir können nur auf Interesse schauen, da er den Wert der aktuellen Zeit zurückgibt, die in ganz
und fraktioniert gesponnen ist. Also wollen wir wirklich festhalten. Es gibt ein Double zurück, aber ich wollte in Seoul sein. Es wird einen Bruchteil zurückgeben, wissen
Sie, vielleicht 2,4 Tage, die vielleicht in einem Sprung hier, aber wir setzen es wirklich in eine ganze Zahl auf. Also bekommen wir die rote Linie unter dieser Linie außerhalb des Gerichts, weil sie nicht scheinen dass dies ein Double zurückgibt, aber wir sagen in eine ganze Zahl jemand, der es implizit auf Interview wirft, indem wir einfach
unsere Klammer öffnen , Schreiben Sie das Wort in eine Pause. So einfach kann es also sein, zwischen Amerika-Werten zu wechseln. Sie haben doppelt auf einer Seite, die Sie wollen, John macht Eddie einfach diese Technik verwenden, um zu kosten. Also jetzt bekommen wir, aber die Nummer aus wird angefordert. Dann werde ich noch einmal überprüfen, ob die Nummer aus der angeforderten überschreitet die entsprechende unseren Standort. Also ging ich, um zu sehen, ob angefordert ist größer als ein Ort. Das ist die Zahl von diesen richtig? Also schauen wir ab. Die angeforderten Tage überschreiten die Anzahl von diesen in diesem Zuordnungsdatensatz, den wir gerade aus der Datenbank für diese Mitarbeiter auf dem Blatttyp
abgerufen haben, für den angeforderten Blatttyp. Wenn das der Fall ist, geben
wir
dann, wenn diese Bedingung erfüllt ist, die Ansicht zurück. Also kopieren Sie das, Andi,
ich hatte einen Modellstatus-Fehler, um Sie zu sehen. Habe ich nicht geschrieben B. Es ist falsch in diesem Bereich. Wenn Sie trotz, dass jemand zu sehen, haben Sie nicht ausreichend. Diese haben Sie nicht ausreichend ist für diese Anfrage. Also lassen wir sie wissen, dass Sie nicht genug Tage haben, erfüllen Sie diese Anfrage bitte. Ziehen. Richtig. Das sind also eine Art von Validierungen, die wirklich passiert sind. Wenn Sie klicken, senden und Sie erhalten eine Fehlermeldung basierend auf einigen Daten, die Sie möglicherweise eingefügt haben, dass die Geschäftsregeln verletzt sind, sind
die Regeln, die Anwendung ihre eigenen buchstäblich dort nur noch
einmal gebaut wurde , eine bunch off if-Anweisungen, ähm, nur nach verschiedenen Dingen zu suchen, die der Entwickler nicht wollte, dass die Einrichtung unterhalten wird. Also, nachdem wir all diese Schecks gemacht haben, nein. Wenn er weiter als diese,
wenn Aussagen, dann können wir sicher davon ausgehen, dass dies ein gültiger Urlaubsantrag ist. So können wir den Prozess starten, indem wir einen Datensatz in der Datenbank auf den notwendigen Abzug erstellen. Also eine, die ich abziehen möchte, die Anzahl von Tagen von der tatsächlichen Zuteilung Datensatz auf dann
, wenn diese Zahl aus, das war der Arzt. Dann haben wir in die Leber Suche eingefügt, so dass wir es in umgekehrter Reihenfolge tun können, die wir in
Urlaub Anfragen auf eingefügt . Dann machen wir den Abzug. So oder so, beide Schritte müssen passieren, also möchte ich sagen, vier verlassen. Anfrage ist gleich aan den Ich beginne mit einem neuen Urlaubsantrag. Lassen Sie also die Anfrage VM eingeschaltet. Dann wird dieses Objekt Werte für die auf nehmen Let's start. Beginnen Sie langsam, Nehmen wir an, der Mitarbeiter, der anfordert, es ist ein anfragender Mitarbeiter I d. Wir wissen dies, weil wir die Mitarbeiter Objekt haben und wir können die i. D. So die Person, die die Anfrage die Person unterzeichnet es machte die Anfrage. Ich kenne den anfragenden Mitarbeiter, den ich den nächsten Wert habe. Wir wollen das Datum beginnen. Das Startdatum wird also Gleichheitsmodell sein, das das Ende beginnt. Es wird das gleiche Modell sein, dass und es sein wird. Dann wäre das nächste Wichtigste der Genehmigungsstatus, dem wir wissen, dass niemand ihn genehmigt hat. Es wurde gerade eingereicht, also werde ich sagen, genehmigt ist gleich zu wissen. komm schon Dannkomm schon. Wir haben gesagt, dass es darum geht. Also der Schuldenantrag, der Totzeit Punkte ist? Nein, weil du es gerade angefordert hast. Weiß es nur. Ich weiß, als Sie angefordert haben, System weiß, wann es auf angefordert wurde. Ich denke nicht, dass etwas anderes absolut notwendig ist, um in die Datenbank eingefügt zu werden ,
da ich nach der Erstellung festgelegt werde, wäre
die Erkennung leer. Aber dann weiß ich, dass es einen Pfeil geben wird, weil die Datumsaktion ist, ähm, es ist nicht Snoble. Also müssen wir hier einen gewissen Datumswert angeben. Also haben wir zwei Möglichkeiten. An diesem Punkt können
wir einen Datumswert abschleppen. Vermeiden Sie das, keine Ausnahme. Oder wir gehen zurück zu unserer Datenbank-Datenklasse. Ich finde es einfach oder Datenklasse für Urlaubsanfragen auf. Dann ändern wir es auf unkenntliches Datum. Wenn wir also diesen Tyrann unerkennbar bekommen, müsste
ich die Datumsaktion ändern. Auch zwei bemerkenswerte. Richtig? Also haben wir diese beiden Optionen, die ich die leichtere wählen möchte und die Behandlung Nun, für den Zweck, durch diese Übung zu bekommen, werde
ich nur geben Datum angefordert oder Abzug. Eher die gleiche DEET Zeit. Kein Wert ist nicht so. Wir bieten einen gewissen Wert für die Datumsaktion, aber natürlich ist
das anfällig für Änderungen, wenn sich der Genehmigungsstatus ändert. Richtig? Also haben wir unsere Objekte erstellt, in die Toby geladen wurde. Also werde ich stattdessen dieses Urlaubsanforderungsmodell nennen. Da es das Ansichtsmodell ist und nicht die eigentliche Anfrage, die ich sagen möchte, Vier verlassen Anfrage ist gleich. Zehe das Mapping, also unterstreichen Sie Mapper-Punkte. Dämpfen an. Dann mappe ich dem Datentyp off leave Requests zu, was unser Klassentyp für das zu moppende Objekt ist, ist das verlassen Anforderungsmodell. Nein, du fragst dich wahrscheinlich. Ok, warum musste ich gehen und das andere Ansichtsmodell referenzieren, bevor ich das
Request-Modell auf dso setzen konnte . Also ja, wir haben kreativ Sie Modell erstellen lassen Anfrage Ansicht Modell Führung, was in der Form war. Aber dann bauen wir verlassen Anfrage VM Also ich immer Keeper View-Modell, das direkt der Datenklasse und anderen skalieren eigenen Versionen
zugeordnet ist , die tatsächlich unter dem Modell verwenden. Also verwende ich dieses Ansichtsmodell, weil es alle Felder hat, die direkt in die
Datenklasse einbezogen werden . Dann, nachdem wir all das getan
haben, gehen wir voran und retten Unser ist so, daß es gleich Unterstrich ist. Lassen Sie Anfrage drei. Ziehen Sie angedockt. Erstellen am. Wir erstellen den neuen Datensatz, das ist Urlaub Anfrage. Also geht die Bitte vom Land oben weiter. Dann wissen wir, dass dies ein Anlagebarren zurückgibt, also dann werde ich nur sagen, Wenn nicht, Erfolg bedeutet, wenn die Einfügung fehlgeschlagen
ist, dann werde ich die Ansicht noch einmal mit ah auf einer Straße zurückkehren. Das ist etwas schief gelaufen, wenn Sie Ihr Gericht einreichen. Also wissen Sie, diese Fehler sind gute Orte, um zu sehen, kontaktieren Sie Ihre Administratoren, so etwas. Aber so oder so, ich bin der Kleber. Wenn es nicht Erfolg ist, als das an zu tun, dann werde ich zum Action Off Index zurückkehren, was ich nicht unbedingt tun möchte, weil ich früher gesagt habe, dass im Kontext dieses Steuerelements indiziert wirklich um zur administrativen,
ähm,
Indexdatei zu gehen ähm, , zu der ich den Benutzer nicht wirklich brauchen würde, um zurück zu gehen. Richtig. Also müssen wir unsere Ansicht einrichten, die ihnen ihre Anfragen und den Zustand der Anfragen zeigt . Und das wird im nächsten Video sein. Ähm, aber dann, nein, gehe
ich zu Fuß, lenke sie
einfach auf den Index von den Heimcontrollern um. Ich kann nicht einverstanden direkte Aktion Komma auf. Dann kann ich den Controller angeben, um zu Hause zu sein, oder? Also dann ist es ein echter Direct-Action-Index im Home-Controller, dem wir wissen, dass diese Homepage ist, die gerade ziemlich leer ist. Also wissen Sie, wir bauen auf der Anwendung auf. Wir können alles auf einmal machen, aber nach und nach. Stücke gehen rein. So können wir alle vier Änderungen speichern und dann übernehmen Anwendungsformular für einen Testlauf. Also gehe ich einfach Fuß, lade dieses Antragsformular neu und übertrage Anfrage. So Reform wird neu geladen und unsere Auswahl, dass ich Urlaub verlassen Onda Oszillatoren wollen. Ich will Urlaub, Lee vom 1. Januar. Ich meine diese Auswahl. So sehen Sie hier, dass es Konflikte ist, obwohl wir unsere Kalendersteuerung bekommen, wir müssen das immer noch beheben. Also machen wir das in einem anderen Video. Aber im Moment möchte
ich mich nur darauf konzentrieren, diese Gewaltauswahl zu überwinden. Also der erste vom 2. Januar, der fünfte Januar. In Ordnung dann, die Gottheiten 2020. So können Sie sehen, dass, wenn wir die Anwendung nicht richtig meinen, dass diese Dinge sehr frustrierend auf machen oder brechen die Erfahrung für unsere Benutzer. Richtig? Also lassen wir das für unseren letzten Schliff, wo wir diese
kleinen Nuancen unter dem Schirm durchgehen . Also klicke ich einfach auf Anfrage verlassen, und dann sagt es mir, dass ich etwas Wertes einlegen muss. In Ordnung. Also schätze ich, wir können nicht warten, weil ich hier versuche, es einzupacken, und ich bekomme eine Reihe von Fehlern. Also lasst uns das zusammen reparieren und das ausruhen. Nein, ich muss ein paar Anpassungen vornehmen. So unsere Ansicht Modelle auf dem Weg, dass diese Dinge eingerichtet sind. Die erste Anpassung, die ich mache, ist, dass ich zum Ansichtsmodell für die Erstellung gehe, und ich ändere den Datentyp von tagsüber in eine Zeichenfolge. Also, weil es diese Zeit ist, versucht
es immer noch kontextuell, uns einen Tag zu geben, den Eingabetyp, der uns die Kalendersteuerung für den Browser gibt, bevor es uns die G equerry einmal im Sitz gibt. Offensichtlich funktioniert
es nicht, also ändere ich dies in String. Nein, wenn ich den Stream ändere, bedeutet
das, dass ich ändern muss, wie wir den Wert interpretieren, der vom Modell kommt, denn jetzt ist es eine Zeichenfolge, aber wir haben eine Reihe von Off-Date Operationen, die tun, ich bin gehen Zeh oben auf der Seite. Speichern Sie unser Startdatum ist gleich dem Modell, das Bits beginnt, und dann werde ich dies bis Datumszeit kosten. Und wir haben früher eine Art von Kalkulation gemacht, wo wir die ganze Zahl kosten. Das funktioniert also nicht immer so gut, nicht in jeder Situation. Also haben sie eine Convert-Klasse, ich kann sehen, konvertieren angedockt. Dann kann ich sehen, dass am Tag die Zeit haben. Konvertieren Sie also in Datumszeit, und dann übergebe ich den Wert, der sich im Startdatumsfeld in unserem Modell befindet. Also dupliziere ich nur diese Zeile und mache dasselbe für das Enddatum. Also Enddatum, Umwandlung und in diesem Modell Punkt und ich weiß, dass ich eine Variable begonnen habe, ein Indien, das ich verwenden
werde , um die Verweise auf die Modellvariablen zu ersetzen. Richtig? Also überall, wo ich vorher angefangen hatte, werde
ich einfach all das ersetzen, indem ich einfach anfangen kann variabel zu sein. Dann werde ich das mit dem Enddatum wiederholen. Also nd Es ist Ripleys Ersatz Modell Punkt und es überall. In Ordnung? Nein, lass uns ihn sehen. All diese Änderungen beim Laden unseres Formulars neu und sehen, ob sich etwas zum Besseren ändert. In Ordnung? Also, nein, wir sehen nicht die Voreinstellungen getan Werte. Aber wenn wir klicken, bekommen
wir unsere Datumsauswahl. Also habe ich gesagt, wir testen zwischen dem 1. Januar am 5. Nun, sechs. Andere kleine Überlegungen wären also, dass, wenn jemand Urlaubsurlaub an
diesem Wochenende oder Wochenende beantragt , diese enthalten sind. Sie wollen diese Wochenendtage von den Berechnungen ausschließen, richtig? sind also kleine Geschäftsregeln, die du beim Aufbau dieses Systems oder
für Nolans einbauen musst ,
gerade berechnet, dass jeder siebziger Jahre die Woche arbeitet. Also jede Zahl von diesen, die sie angefordert haben, ist die Zahl von diesen unsere Berechnung gegen. Und dann sagen wir, Bitte verlassen Sie auf. Wir sind in einer Reihe zu sehen, dass etwas schief gelaufen ist, was bedeutet, dass er eine Ausnahme gefangen hat. Es gibt etwas, das nicht feuert, also wenn wir auf diese Art von Eros stoßen, ist
es besser. Wir gehen zu de Boot festgemacht auf festgelegten Breakpoints, so dass wir über Aktivität verfolgen können. Also werde ich in den Debug-Modus gehen. Ich werde am Anfang dieser Funktion einen Haltepunkt setzen, dann gehen wir durch jede Zeile, um genau zu sehen, wo unser Gericht bricht. In Ordnung, also habe ich die Form, ich fühle diese Autorität. Wenn ich also auf Anfrage verlassen klicke, sollte
es unseren Bruchpunkt in der Post auf treffen, damit wir das überwachen und sehen können. Okay, beginnen ihre Abstieg über diesen Wert, damit ich Schritt und Schritt durchgehen kann. Also fangen Sie an, nein zu sein, hat ein Datum Zeit außerhalb dieser vier Monate, was ich glaube, ist die oder es ist Monate das Recht. Also, das ist die Datumszeit, die für das Startdatum am Ende erstellt wurde, es sind Dämonen hier Monate die oder Sorry. Das ist also die sechste. Also, wenn wir dann alle Urlaubstyp Berichte finden, bin
ich eigentlich nur gerne voran,
weil ich denke, wir sind eine ziemlich gute Vorstellung davon, was zwischen diesen Zeilen irgendwo passiert, um zu diesem zu
überspringen. Wenn Anweisung auf, dann wird seine Anweisung überprüft. Ist es gültig? Es ist also gültig. Wir wissen also, dass dies nicht das ist, was zu unserer Ansicht zurückkehrt. Dann machen wir das Date. Vergleichen Sie, wo wir die Startdaten mit dem Enddatum am vergleichen. Dann gehen wir weiter auf diesen Vergleich erfüllt Oh, unsere Anforderungen. Also das nächste ist, dass wir versuchen, unsere Mitarbeiter zu bekommen. Wenn ich also in die Benutzerobjekte schaue, dann kann ich sehen, dass es einige Details darüber gibt, dass sie gespeichert werden. Ich kenne den Namen Onda einige andere wenige Dinge, aber dann, wenn ich den Benutzer einen Senkenanruf mache, erhalten
Sie alle erforderlichen Details im Objekt. Ich habe den Angestellten, die i d. Alles an diesem Mitarbeiter ist nicht im System oder bereit für Austin manipuliert. Als Nächstes. Ich bekomme ihre Zuteilung. Also trete ich das wieder durch. Andi. Nun, nur Schritt, machen Sie ein paar Schritte, lassen Sie es durch den Prozess gehen. Also das bin ich mit f 11, nur um sicherzustellen, dass ich nach ein paar Schritten nichts, was
wichtige Künste ist, vorwegspringe . Und ich habe ein wenig Kerosin, dass der Tag kein Volumen Nachmittag, weil aus dem ganzen Schritt,
Also, wenn Sie einen Terry bekommen könnte es ignorieren. Wenn du das mit mir machst, wenn du es nicht bist, dann ist das in Ordnung. Aber wir machen das zusammen durch. Also ist die Zuteilung zurück und wir haben alles über die Zuteilung, die wir brauchen. Nein, ich werde wieder vortreten. Also werde ich zu CF 11 auf dann sehen, ist die Anzahl von Tagen angefordert größer als die Zahl von diesem zugewiesenen auf. Wir wissen, dass, wenn ich zwei Tage für die Zuteilung beantrage, 15 Tage beträgt, diese Validierung in Ordnung ist. Also gingen wir durch, wir bauen unsere Objekte. Also lassen Sie mich sehen, ob hier die Eros erscheinen. Also, wenn ich diesen Urlaub baue, fordere Modellobjekt an, dann sehe ich. Genehmigt auf, genehmigt von und genehmigt von I d Alle wissen, dass wir unsere Datumsoption angefordert werden und Bit alle von ihnen bauen all die tollen Zeiten, wie wir erwarten, also sollte all das in Ordnung sein,
Ähm, also werde ich einfach weitermachen, so f n f l jemals Entschuldigung auf dann gehen Sie auf die Vorlage, wo es die Entität hinzufügt. Also füge ich die Entität vom Typ verlassen Anfragen hinzu, die wir gerade konstruiert haben, dass dann speichert es die Änderungen. Und dann, die Änderungen speicherte, fing
er die Ausnahme, richtig? Also, wie ich immer sage, das ist der Punkt von der Spur Fang. Also wird es die Operation ausprobieren und dann fängt es eine Ausnahme jemand ab, der
diese Zeile überschreitet. Dann kann ich nicht untersuchen Also, indem ich diese Zeile zum Catch hinzufüge, kann
ich sehen, was die Ausnahme ist. Dann kann ich einen Drilldown durchführen und sehen, dass die Insert fehlgeschlagen Insert Anweisung in Konflikt mit der Fremdschlüsseleinschränkung für den Leave-Typ I d steht. mit der Fremdschlüsseleinschränkung für den Leave-Typ I d steht. Ich habe nicht beim Aufbau der Modellkraft der Mission. Ich habe nicht in der Blatttyp I d. Also werde ich aufhören, und dann werde ich meinen Fehler beheben auf Ich werde sagen, dass der Urlaubstyp. Ich verstehe. Ok. In Ordnung. Also weiß ich es. Ich verstehe, warum hat es nicht reingesteckt? Weil ich das Blatttypobjekt habe, aber ich habe nicht das Feld für den Typ verlassen in meinen Ansichtsmodellen. Also habe ich mein Ansichtsmodell nicht korrekt erstellt. Richtig? Also werde ich nur diese Blatttyp-Ideen einbringen. Einige ferne Kopien sind hier bereits durchschnittlich. Legen Sie es ins Schlepptau, das gemeine Objekt, und sie wissen, dass ich es in der Mitte habe, die ich meine Klasse. Entschuldigung. Nein, das ist, wie es dort bin ich gegangen, um Repräsentation für Blatttyp-Ideen zu machen. Gleiche Zehenmodellpunkte. Lassen Sie Typ I D auf dann bin ich sehr zuversichtlich, dass dieser Urlaub wird dieses Mal
jemand eingereicht werden , um diesen Bremspunkt von Anfang an zu entfernen. Ich werde es nur durch den Erfolg hinlegen. Ja, es ist entweder erfolgreich oder nicht. Also, wenn es genau diesen Punkt trifft, dass ich weiß, dass es an die Datenbank gesendet wurde, oder zumindest wenn es sich fühlt, dann würde es zum Fang gehen richtig? Also lassen Sie mich einfach wieder in den Debug gehen. Mehr als versuchen, das wieder sind also lassen Sie uns das noch einmal versuchen. Ich wähle das Datum vom ersten Januar 2020 bis zum fünften des Generators in 20 Anfrage Urlaub aus. Dann sagt es mir, dass ich Wert hier ist ungültig. Ich brauche einen richtigen Wert. Ich habe nicht aus der Dropdown-Liste ausgewählt. Lassen Sie mich das nochmal versuchen. Dann trifft es den Bremspunkt. Es hat also nicht die Abstimmung über dieses Land bombardiert, wie es zuvor getan hat. Und wenn ich mit dem Mauszeiger darüber bin, ist das sein Erfolg wahr ist, was mir sagt, dass es ohne Probleme an die Datenbank übermittelt wurde. Jemand, um meine Breakpoints zu entfernen klicken Sie weiter auf, Dann wird es auf die Homepage umleiten. Wie ich es dir gesagt habe. Also haben wir es gesagt, das zu tun. Kein Zehe validieren, dass es da ist. Nehmen wir an, ich habe das Blatt eingereicht und dann gehe ich rüber zu H R. und dann sage ich der Person, die ich kenne, das genehmigt. Hey, ich habe es eingereicht. Sie müssen bestätigen, ob ich es eingereicht habe. Sie melden sich also als Administrator an. Dann gehen sie zu managen, dann Angestellte. Oh, das ist ungenau. Verwalten, lassen Sie Anwendungen eher, und dann werden sie sehen, dass sie Anfragen haben. Man verbringt einen wurde abgelehnt. Dann können sie sehen, dass Testbenutzer eine Antragsanfrage für Urlaub gemacht hat, wenn sie sie in der Reihenfolge aus der angeforderten sehen
wollen Nun, wir können immer einfach in unserer Datentabelle in diesem Abschnitt setzen. Äh, nimm
einfach etwas schnell, Andi. Ich weiß also, dass hier eine Datentabelle war. Ich bemerkte, dass es zu einer normalen HTML-Tabelle auf die zurückgekehrt ist. Gerade inspizieren Elemente auf ging zur Konsole und nirgends Der Blick auf einen Fehler auf diesem Pfeil ist hier, weil aus unserem Stint mit RG uns abfragen. Also werden wir einige Zeit damit verbringen müssen, diese Referenzen zu reparieren, denn wenn ich mich nicht irre, wird an diesem Punkt
keine Datentabelle geladen, weil aus diesem Fehler, Ordnung, also das ist eine andere Sache, die sollte waren ein Datenteam. Also haben wir noch etwas zu tun. Aber zumindest können wir uns sicher fühlen, dass Mitarbeiter keine Anfrage verlassen k
42. Modul für die Antragstellung von Mitarbeiter:innen – Admin Leave: Hey, Leute, willkommen zurück in dieser Lektion wird alle Funktionen bauen, die es unseren
Admin-Benutzern ermöglichen, Urlaubsanfragen zu genehmigen oder abzulehnen. Wissen Sie, unsere vorherige Lektion hätten wir Gelegenheit gebaut, die es einem Mitarbeiter ermöglicht, tatsächlich einen Urlaub Anfrage zu stellen. Und das wäre durch die Auswahl eines Typs am Anfang gewesen. Und in der Tat ist es seit diesem Video habe ich einige kleinere Anpassungen gemacht, weil wir
diese Lektion mit,
ah,wissen
Sie,
Toga Krieg zwischen unserem Jake oder Sie y Kalendersteuerung auf Türdatentabellen verlassen haben diese Lektion mit,
ah, wissen
Sie, wissen
Sie, , wissen Sie, die Anpassung dass ich meine, es war wirklich klein. Alles, was ich tat, war die Referenz auf die Jake, wo Feuer für den Kalender entfernt. Also, ursprünglich hätte
ich sowohl die J-Abfrage JS-Datei auf die Wange kopiert oder Sie I Js-Dateien haben seitdem die zweite Referenz
entfernt. Die Jake, wo Dateien, da ich bereits eine Referenz in meinem Projekt habe, sind im Experiment, und es funktioniert. Sie sind also bestimmte Versionen aus. Jake. Sorgen Sie sich, dass der Geek, wo Sie y Kalender Picker nicht mit Andi funktioniert. Ich meine diese Annahme. Anfangs habe ich so etwas in der Vergangenheit erlebt, Nein, tatsächlich
habe ich gerade die zweite Referenz entfernt. Ajay Abfrage. Andi,
ich habe eine referenziert auf eine Abfrage und dann jede andere Bibliothek, die eine Abhängigkeit hat, einschließlich, oder Jake. Wo Sie Warum? Dabei müssen beide Datentabellen korrekt geladen werden. So sollte unsere Datentabelle aussehen. Ah, als es einen Konflikt gab, war es nur da, um Tisch zu spielen, den wir versucht hatten, zu ändern. Nein, es ist Hinterzehe, wie es aussehen sollte. Eine Datentabelle auf auch für unser Formular oder Kalender zu sein kommt. Und dagegen,
das Ergebnis des Bruders der Vollendung. Aber unsere Kalender von so allen eine Schmiede, eine Abfrage oder Javascript-Bestie Kontrollen feuern, wie wir sie brauchen. Das ist also ein Weg. Wenn Sie Konflikte mit J haben, eine Abfragedateien oder ein JavaScript-Steuerelement und Sie bekommen Arizona Konsole und Sie
bekommen nicht das Steuerelement, wie es aussehen sollte, Dann können Sie vielleicht versuchen, Ihre eigenen Referenzen zu verschieben. Denken Sie daran, dass Ordnung wichtig ,
Andi, natürlich kann es Konflikte geben. Seien Sie also vorsichtig, wenn Sie diese Dinge bewegen. Unser Ziel für dieses Hören ist viel für einen Admin-Benutzer. Sobald sie auf dieser Schnittstelle sind, um zu sein, wählen Sie einen Urlaub Anfrage auf, dann gut sein,
gehen Sie zu den Details und genehmigen Sie es oder abgelehnt. Das bedeutet, dass wir die Optionen, die sie hier sehen, verfeinern müssen,
was bedeutet, ich möchte nicht, dass sie in der Lage sein, sie zu bearbeiten, um sie zu löschen. Aber ich möchte, dass sie zu einer Ansicht gehen, die ich die Details Sie verwenden kann. Das war so alle Details,wissen
Sie, wissen
Sie, andere Details aus der Anfrage, dass ich, ein Beamter hier auf dann, am Ende der Rezension, in der Lage
sein, auf einen Beweis klicken, der dann, Sie wissen, legte es in einem genehmigten Zustand oder Ablehnung, die es dann in einem abgelehnten Zustand setzen würde. Beachten Sie auch, dass, sobald ich den Antrag verlasse, genehmigt wird, dann muss die Zuteilung, die dieser Mitarbeiter im System hat, angepasst werden, um diesen Abzug
widerzuspiegeln. Also lasst uns in den Fonds gehen. Das erste, was ich tun werde, ist, die Interferenzen zu ändern, und das ist die Indexdatei in oder lassen Sie den Anforderungsordner auf. Was ich tun werde, ist einige der Aktionen zu entfernen. So, wie ich schon sagte. Die einzige Aktion, die ich wirklich brauche, sind Details oder während ich tatsächlich Fuß, machen es Bewertungen sagen. Anstatt also das Wort Details zu sehen, wird
der Link selbst Review sagen. Ich werde mein Bt auf Bt und Dash primär hinzufügen. Ich werde alte Zeile primär undan Justin sehen, um ein Fünf-Symbol oder zwei hinzuzufügen. Also lass mich das schnell machen. Ich bin auch vorne. Maiken, ich weiß nicht, warum ich weiterhin fünf Symbole sehe, aber das ist, was ich tue. Also habe ich den Fonds Awesome hinzugefügt. Um Symbol referenzierte eine Datei auf diesem ist, was es auf dem Bildschirm rendert. Also, jetzt haben wir, ah,
Knopf, die sagen, die Überprüfung. Aber natürlich wird auf die Detailaktion innerhalb des Controllers zeigen. Also müssen wir jetzt umsetzen, was diese Aktion tut. Also zurück in unserem Controller, werde
ich zu meiner Detailaktion gehen, die einen ganzzahligen Umfang von I d erwartet, den wir wissen
, dass es das Ich d von den Urlaubsanfragen sein wird. Also muss ich diese Anfrage von der Datenbank jemand abrufen, um zu sagen, Vier Anfrage ist gleich oder lassen Sie mich sehen. Virale Urlaubsanfragen sind gleich auf der Punktzahl. Hinterlassen Sie eine Sperre Bericht Punkte von I D. und dann faste ich in, dass ich d für Amateur. Nachdem wir das abgerufen
haben, laden wir unser Ansichtsmodell ab. Also haben wir Request View Modell auf mich verlassen. Überprüfen Sie einfach und stellen Sie sicher, dass es genug für mich hat auf Haben Sie bemerkt? Das habe ich immer noch. Diese Datenanmerkungen für Beat. Ordnung, also lasse ich die in diesem Ansichtsmodell, also werde ich Blut aus dem Modell verlieren und C var Modell ist gleich on. Dann ging ich zum selben oberen, dass die Karte und dann das Mapping in die Richtung von der verlassen Anfrage VM auf dem Objekt, das zugeordnet werden soll, ist die Anfrage verlassen. Und dann, nachdem wir ausgeschaltet sind, dass wir gerade in unserem Modell bestanden haben, weiß ich, dass wir das Modell
übergeben haben und ich einfach mit der rechten Maustaste auf die Ansicht hinzufügen. Und dann haben wir nur die Details Rede mit der Detailvorlage endgültige Modell abgewürfelt, die Anfrage vm auf verlassen wird. Klicken Sie dann auf Alles rechts. Also mache ich nur die wenigen Kleinen die üblichen Anpassungen, die ich irgendwo vornehmen werde. Details erscheinen so überprüfen. Andi,
ich verstehe. Bei san model dot fordern Mitarbeiter den Vornamen Nachnamen an. Also werde ich sagen, ich überprüfe Urlaubsantrag für diesen Mitarbeiter auf einem C-Apostroph
Urlaubsantrag . In Ordnung, das sind
also die Dinge, die Sie auf Ihren Bildschirm stellen können, um es ein bisschen mehr,wissen
Sie,
persönlicher zu machen wissen
Sie, . Ich werde das Leo nicht ändern. Wie Sie sehen können, ist
es bereits Mapping. Also das sagt dieser Spielname für auf dann gibt es uns das I d. Also, wie diese Idee möchte ich den Namen drucken. Nicht sie Mitarbeiter i d. So ersetzte ich das Startdatum endete es die Urlaubszeit für das angefordert werden. Ich werde es unter dem Überprüfungssatz nach oben schieben. Jemand, der nur im Alter von vier Jahren auf Cent setzen kann. Ging, um den Anzeigenamen für den angeforderten auf dann Strich zu sehen, so dass es oben ist. Wann? An diesem Tag, an dem dieser Urlaub angefordert wurde. Also überprüft es es für diese Person, und dann hat die d direkt auf Anethe angefordert. Dann kann ich es aus den allgemeinen Details entfernen, also möchte ich diese Details nicht. Ich will die Datumsaktion nicht. , Der Admin-Benutzer weiß bereits,dass er sich in einem genehmigten Zustand am befindet. Dann werde ich den Teil bewegen, der sieht oder tut mir leid, er weiß bereits, dass es nicht ist. Es ist kein ungenehmigter Staat, auf dem wir umziehen werden. Oh, sie haben von genehmigt. Diese Details sind also nicht notwendig, wenn dieser Admin-Benutzer versucht zu entscheiden, ob
er genehmigen soll oder nicht . Gehen Sie nach rechts. Also wollen wir relevante Strände zeigen, die wir arrangieren können, was wir wollen. Dann können wir mit Funktionalität vorantreiben. Dann möchten wir, dass einige Aktionen für diesen Benutzer verfügbar sind. Wir möchten, dass sie genehmigen, ablehnen oder zur Liste zurückkehren können. Also werde ich es jetzt so machen,
jemand, der einen Beweis sagt, und ich werde diesen Knopf kopieren, der das Rohr herausnimmt. Dann werde ich Andi ablehnen sehen. Ich möchte eine Liste gesichert lassen, so dass wir drei Tasten an haben. Dann werde ich nur etwas Zeit verbringen und ihnen all ihre Klassen geben, also mache ich das außerhalb des Bildschirms. Was ich werde zu genehmigen Bt und Erfolg kommen zu machen Ablehnung Bt und Gefahr auf zurück zu diesem wird BT und sekundär sein. Also werde ich innehalten und das tun. Sie können es selbst versuchen. In Ordnung? So dass Erfolg, Gefahr und alte Linie Bindestrich sekundär. Ich glaube, ich habe etwas betrogen. Ich sagte nicht Oh, Linus, sagte Sikander. Aber das ist in Ordnung. Welchen auch immer du wählst. Es ist zu Ihrem eigenen Nutzen und Ihrer persönlichen Kreativität. Kunst. Also werde ich auch den Fonds hinzufügen. Tolles Symbol. Einige werde ich die Linie brechen, damit ich jeden Onkel von selbst angegriffen sehen kann. Aber ich füge die Symbole hinzu, um zu essen. Also für diesen, werde
ich es f e Raum F 8 Strich geben. Ich glaube, sie haben Teak. Ähm, ich kenne sie nicht alle. Manchmal mache ich eine gebildete Vermutung basierend auf der Art der Ikone, von der ich hoffe, dass es da ist, und manchmal irre ich mich. Also muss ich trotzdem zur Dokumentation zurückkehren. Aber ich werde das zuerst tun und dann Andi verfeinern. Meine Intelligenz gibt mir das zu füttern. Ich werde es sehen. Ich möchte etwas, das wie ein X-Strahl ist, also denke ich, dass sie eine haben, die seine entfernt ist, so dass, wenn Sie dann für die gesicherte
A-Liste entfernen , ich möchte einen Pfeil zurück gehen. Also werde ich sagen, f A r o links. Also lassen Sie mich das dann schnell machen. Das hier ist F E R O. Das ist übrig. Also, überprüfen Sie
einfach die Dokumentation und ich habe gesehen, dass es nicht tickt, aber es ist Scheck. Deshalb benutze ich mich wie ein kleines Häkchen. Alles klar, so noch einmal, Sie können immer auf die Website gehen und verweisen auf die Front waren auch mit Version 4.7 Punkte alles, was ich nicht merken alle von ihnen, aber auf Anfrage, ich gehe und finde, was ich brauche und 15 entsprechend. Also, jetzt sind das unsere Details. Sie haben ein paar andere Dinge, die ich ändern möchte, oder zumindest eine nachgewiesene Ablehnung. Beide zeigen auf die Bearbeitungsaktion. Ich will das nicht unbedingt, aber Sie haben eine Reihe von Optionen, wenn es darum geht, mit dieser Situation umzugehen. Was einige Leute tun, wäre, dass sie ein Formular erstellen und alle diese Art von
Submit-Buttons machen . Ich brauche Submit-Button wird auf die Post-Aktion Andi gehen. Wir werden versuchen, die Einreichung in der Post Auktion zu machen, richtig? Das ist auf Option. Sie können immer Ihre eigenen Aktionen in der Urlaubsanforderung auf Troller im Controller auf . Dann verweist man auf die entsprechende Aktion. So zum Beispiel kann
ich
zum Beispieleine Aktion machen, die nur Genehmigungen besucht. Also, wenn dieser Link korrekt ist, wird
es genehmigen Aktion aufrufen. Und dann können wir alle vermuten, dass diese Beweisaktion die Transaktion genehmigen wird . Richtig. Sie können auch eine andere Situation erstellen, in der Sie für die Genehmigung von 14 Ablehnungen gewonnen hätten. Sie können mehrere Optionen haben. Sie können so viele Aktionen ausführen, wie Sie möchten. Sie können sie auf Anfrage erstellen. Sie können eine Aktion erstellen, die einen Parameter übernimmt. Das ist vielleicht eine Herde,
um
wahr oder falsch zu sehen . Wahre Bedeutung. stimmt, es ist genehmigt, sagen
wir, genehmigen sie Schritte auf dfars? Sie ist nicht genehmigt, daher führen Sie die Ablehnungsschritte durch. Also, am Ende des Tages, wissen
Sie, dass es eine gibt gibt, die in Ihrer Implementierung herauskommen werden, und es liegt an Ihnen. Aber für diese Situation oder den Zweck davon. Hören Sie, ich werde eine Aktion zur Genehmigung für eine Aktion zum Auswerfen erstellen. Das bedeutet also den genehmigten Knopf, den er dort anrufen wird. Es ist die Aktion. Anforderung genehmigen am. Dann wird die Ablehnungsoption die Aktionsreihenfolge aufrufen. Schaltfläche „Auswerfen“. Entschuldigung. Wird die Aktion Ablehnungsanforderung auf aufrufen. Dann wissen wir alle, dass Kampf ist einfach geht direkt zurück auf den Index sowieso. Also mit dem fertig ist, werden
beide das i D von der Hebel Quest akzeptieren. Also wissen wir, dass
wir in diesem Beweis die Hebel Quest mit diesem I d genehmigen. In der Ablehnung wurden den Urlaub abgelehnt. Bitten, dass ich d. Also werde ich einfach zu meinem Controller gehen schnell auf dann. Ich werde Zehe erstellen mein Aktionsergebnis auf diesem wird aufgerufen genehmigen Anfrage auf seiner Annahme auf int mit einem I D offenen und schließenden Klammern auf. Dann kann ich Skopje all diese Onda machen es im Schlepptau. Ablehnen Anfragen edibles Seite an Seite. Jetzt lasst uns arbeiten oder was passiert, wenn wir schlagen? Genehmigen, was wir zuerst tun müssen Diese haben eine Urlaubsanfrage abgerufen, die im Begriff ist,
bestätigt werden genehmigt. Entschuldigung. Also gehe ich einfach auf die Zehe. Verwenden Sie diese Zeile noch einmal, und ich werde sie nur irgendwie gleichzeitig erstellen, denn in beiden Situationen muss
ich den Urlaubsantrag zurückziehen, der genehmigt werden kann. Richtig? Also bekomme ich die Urlaubsanfrage. Ich muss in dieser Situation nicht wischen, weil es keine Operation gibt, die als visuelle Elemente, also gibt es keine Notwendigkeit für ein Ansichtsmodell. Also habe ich die Datenklasse abgerufen. Dann ändere ich auf. Dann aktualisiere ich. Also Zeit, die ich modifiziere. Wenn jemand den Urlaubsantrag genehmigt, wären
die Elemente, die geändert werden müssen, auf Anderson, um zu sagen, dass die Anfrage nicht aktiviert ist. Dann beginnt uns die Genehmigung am Tag. Ich vergesse, auf welchem Feld es sein würde. Ich weiß nur, dass ich den völlig falschen Bericht nenne. Also, wenn ihr dieses Feuer erreicht, bin
ich sicher, dass ihr sehr enttäuscht von mir seid, aber ich nenne den falschen Bericht. Ich weiß nicht, warum ich so fasziniert bin von der Idee. Aus Urlaub Zuteilungen, aber ich habe es mit Urlaubsanfragen zu tun. So habe ich Allah kriechen lassen. Oh, und es heißt in der Urlaubszuweisung, weshalb ich nicht finde, dass die Felder diffus sind, die ich hier erwarte. Also lass mich mein Unrecht korrigieren. Ich benutze das Urlaubsantrag. Ich hoffe, ihr habt das bei Euro erwischt. Wenn du es tust, dann kannst du mich einfach verprügeln und mich wissen lassen, dass du es getan hast. Und dann können wir eine Form der Belohnung für Ihr schnelles Denken und hier Debugging-Fähigkeiten . Aber lassen Sie mich diese Korrekturen treffen. Also bekomme ich den Bericht für Urlaubsanfragen. Also, wenn ich debugge, ähm, die Lösung früher, als wir diesen Fehler bekommen hätten, weil dann die Zuordnung fehlgeschlagen
wäre. Richtig? Also, die Bilder Land, tut mir leid, dass. Also lassen Anfrage Bericht. Die Anfrage fordert angeblich einen Bericht an. Also in einer Urlaubsanfrage Jetzt sehe
ich, was ich sehen sollte. Ich werde den genehmigten Status so ändern, dass ich die Anfrage dann wieder entlasten kann. Dieses Mal ändere ich die genehmigte von I d. um der Benutzer zu sein, der jetzt gesperrt ist. Ich würde es etwas Ähnliches wurden abgerufen. Wer ist die Liebe so? Der Punkt ist, dass Sie mehrere Administratorbenutzer haben können und ob es eine Organisation verwenden wird. Sie werden mehrere HR-Personen haben, die Urlaub genehmigen und ablehnen können,
oder wenn es ein
komplexeres System gibt , ,in dem es ein Supervisor ist, der zu jedem Zeitpunkt jeder sein kann. Ähm, das kompliziertere Szenario feuern. Tatsache ist, dass wir wissen wollen, wer die Zustimmung macht, basierend auf der Person, die Liebe und
die Aktion tut, genau wie zu dem Zeitpunkt, als wir die Anfrage gestellt haben, richtig? Also werde ich nur die Person abrufen, die einen von den vorherigen Code-Bits verwendet, auf die wir
geschrieben haben . Ich habe es hier in der Erstellung, ähm, Auktionen. Ich gehe nur zu Richard, wo das Ding außerhalb des Platzes ist, und dann gehen wir am Tag zurück. Ich wollte das abholen. Also werde ich diesen Benutzer Savar Benutzer auf anrufen. Lassen Sie mich einfach, damit alles, was wir für die Genehmigung eingeben, grundsätzlich für die
abgelehnten zurückziehen wird . Also werde ich nur mit genehmigt zu tun und dann kopieren und modifizieren wir einfach entsprechend. Der Benutzer, den ich wäre oder der von idee genehmigte Benutzer ist. Das ist an. Dann kriegen wir ich für dieses Feld. Dann haben wir verlassen Anfragen das Datum Aktion auf, die nicht die Zeit ist. Keine Bedeutung. Dies ist der Zeitpunkt, an dem dort Maßnahmen ergriffen wurden. Aan den. Ich bin mir nicht sicher, ob es noch etwas über die Urlaubsanforderung gibt, die ich ändern muss, wenn sie genehmigt oder abgelehnt
wird. Also wissen wir, dass es genehmigt ist. Wir setzen, die von der i.
D.genehmigt wird D. das Datum, an dem es Aktion war. Die Anfragen müssen geändert werden und sie verlassen den Typ. Ich glaube, das war's. Also wissen Sie, dass wir diese Modifikationen an unserem Objekt oder unserer Aufzeichnung haben. Wir müssen wirklich richtig retten. Also werde ich sagen, ob oder eher leid, ich ging zu einem Virus. Erfolg ist gleichermaßen Unterstrich. Lassen Sie Anfrage Reform, nicht machen, dass Fehler wieder Punkt auf. Dann sehen wir Update, das diese Update-Funktion aufruft. Dann werde ich unsere Urlaubsanträge einreichen, Mama Model. Und dann sage ich, wenn Erfolg ist oder wenn nicht, ist Erfolg, dann umleiten ihre vielen Möglichkeiten Zehe elegant mit diesen Fehlern umgehen. Aber ich benutze nur, wissen
Sie, einen schnellen und einfachen Pass für uns, um zu beschleunigen und zu öffnen und eine Wertschätzung
für das zu haben was auf dem Kurs passiert, wir müssen all das in einen Versuch einwickeln. Fangen Sie jemanden, der Sie versuchen, und drücken Sie dann zweimal nach oben. Und dann kriegen wir den Versuch, fangen, blockieren. Stellen Sie sicher, dass ich die Ausnahme dafür berücksichtige. Ich werde alle Operationen, die wir versuchen, übernehmen und den Versuch
blockieren . Dann werde ich den Fang machen, wo ich gerade zurückgekehrt bin. Umleiten Sie den Index, und dann habe ich den Wurf entfernt. Also tötet der Wurf tatsächlich alles, was Sie wissen, alle von der Operation aus ihrer Anwendung, die Sie nicht unbedingt die ganze Zeit wollen. Also führe ich die Indexrede um, wenn nicht Erfolg. Nun, ich werde so oder so umleiten. Alles klar, wenn
es erfolgreich ist, wollen
sie umleiten. Wenn es nicht erfolgreich ist, werde
ich umleiten. Also übernehme ich den Scheck, ob es erfolgreich ist, und dann sage ich nur: Mach alles weg. Probieren Sie das alles aus. Umleiten, Auch wenn es eine Ausnahme gibt. Immer noch umleiten. Der Punkt ist, dass, wenn sie auf Genehmigen und Genehmigung klicken, Status ändert sich nicht, weil etwas Feld auf dem Weg. Wenn sie dann zur Indexrede zurückkehren, wird
es immer noch in einem genehmigten Zustand sein, an dem sie wahrscheinlich I t nennen . Aber das erfordert einige mehr, wissen
Sie, komplexe Operationen auftreten. Toe kann uns vielleicht dynamisch zeigen, ob diese Operation erfolgreich war oder nicht, dass wir noch nicht ganz bereit dafür sind. Also baue ich mich nur auf. Tun Sie es an. Ich versuche, es so einfach wie möglich zu halten, oder? Also alles, was wir gerade getan haben, genehmigen, ich werde das kopieren. Und dann werde ich es in Ablehnung CNC tun. Früher
habe ich gesagt, dass wir zu Aktionen haben könnten, die beide Szenarien tun. Und das ist es, was wir tun. Wer hätte eine Aktion haben können, die eine Flut ergriffen hat? Und Leser haben eine Funktion, dass dies das Operationsbecken war. Und wenn Sie es dampfen, damit Sie wissen, dass es wirklich offen ist, ist
es wirklich eine Sache der Implementierung. Also willst du es tun. Also in dieser Situation sind alle die gleichen, ähm, Daten, außer dass Proust es war im Schlepptau fällt. In Ordnung, also, nein, wir haben das alles abgetan. Ich möchte dies für einen Testlauf lehren, also werde ich meine Anwendung mit dem Browser-Link öffnen. Dann schauen wir mal, was unsere Arbeit erbracht hat. Alles klar, Also haben wir bereits einen Urlaub Anfrage in der Anwendung in einem ausstehenden Zustand und gingen einfach schnell eine andere Onda erstellen. Dann können wir es mit einem Szenario mit einem genehmigen oder ablehnen testen. Das ist etwas schief gelaufen. Ich denke, es liegt daran, dass ich auf Admin-Benutzer bin. Lassen Sie mich es noch einmal versuchen. In Ordnung? Also, nein, ich habe eine weitere Urlaubsanfrage mit einem normalen Benutzer gestellt. Dieser Admin-Benutzer verfügt über eine beliebige Zuordnung. Also bekam er den Pfeil. Etwas ist schief gegangen. Also testen wir nochmal. Also lassen Sie Anwendungen. Ich weiß, dass wir Anfragen hinterlassen müssen, oder? Hergestellt von der gleichen verwendbar. Das ist Urinereignis. Also lassen Sie uns sehen, was passiert, wenn jemand auf Bewertung klickt, die die Details laden sollte. Und ich sehe alle Details. Ich sehe also, dass wir diese Urlaubsanfrage ansehen. Die angeforderte war Ausdehnung Datum pünktlich, Die anfragenden Mitarbeiter testen Benutzer auf. Sie sehen also, dass einige meiner Etiketten noch etwas Raffinesse brauchen. So können wir einfach das Ansichtsmodell ändern, so dass diese Beschriftungen besser gedruckt werden und der Urlaubstyp Urlaub ist. Wir wurden genehmigt Ablehnung auf einem Kampf ist Knöpfe. Beginnen wir also mit einer Flaschenliste. Okay, das funktioniert. Lass uns das noch einmal machen. Lassen Sie uns versuchen genehmigt, dann lesen Sie Eric Der Index sind also ich möchte nicht, dass es
diese Indexseite umleitet . Ich wollte die Urlaubsanträge umleiten, ähm, Index Rede, Kunst oder lassen Anfrage in Sieg. Also werden wir das ändern. Ich glaube, ich hatte den Controller angegeben. Da gehen wir. Also gebe ich an, dass wir nach Hause gehen sollten, was ich nicht möchte, dass jemand das entfernt. Sehen Sie nur Eriks zum Index lesen. In Ordnung, das ist einer von denen sagt nicht, dass das Gericht fast blind kopiert und eingefügt wird. Aber zum Glück ist
es unser eigener Code. Wir haben es geschrieben, damit wir es ändern können, wie Sie es wünschen. Okay, also habe ich diese Änderungen vorgenommen. So sehen wir, dass sie Funktionalitäten genehmigt arbeiten und wir sehen, dass Kontext nur sie
sehen können , welche genehmigt wird. Also nein, sie wissen, dass sie diese haben, die Genehmigung für diese Person ist die gleiche Verwendung. einige Tage Onda anfragen, wollen
wir sie nicht zu oft geben. Also ging ich auf die Ablehnung dieses hier. Alles klar, also klicken wir auf Ablehnen und dann sollte dies wissen, Umleitung, die Auflistung sind und wir sehen abgelehnt und abgelehnt so Anfragen in unserem System abgelehnt. Und wir haben eine genehmigte Null ausstehend. Also haben drei insgesamt Null ausstehen eine genehmigte Zehe es ablehnen. Das ist gut. Nun, eine Sache, die wir nicht für die Genehmigung getan haben, war, die Mitarbeiter Zuteilung ändern weil denken Sie daran, dass sie Norm Büro für Urlaub nicht zugewiesen haben. Sie würden jemals ihre Bitten gestellt. Wir hätten es genehmigt. Aber wir haben nicht in die Funktionalität gesetzt, um die Abzüge vom
A-Standort für den Zeitraum tatsächlich zu erfüllen . Also muss ich zurück in meinen Controller gehen und dann gehen wir zu unseren Genehmigungsanfragen auf. Dann haben wir noch mehr Arbeit, die getan werden muss. So kann ich jetzt meine Beurlaubszuweisungsberichte verwenden. Also, nachdem wir die Urlaubsanfrage abgerufen haben, muss
ich diese Mitarbeiter Zuteilungen abrufen. Ich werde sagen, Zuweisung ist gleich zu verlassen I Standort und wäre vorsichtig diesmal angedockt. finden Sie weiter. Hier habe ich nach Idee und finde alles, aber dann muss ich die Zuteilung durch die
Mitarbeiter finden . Ich habe Nummer. Also, was ich tun werde, ist das Repository für Urlaubsanweisungen auf Duh zu ändern. Ich habe es tatsächlich Zuteilung von Mitarbeitern bekommen. Ich habe es. Tut mir leid. Also habe ich den Funktionsnamen vergessen. Also lassen Sie uns einfach zuhören, all das rückgängig zu machen und es ist nicht zu finden, aber es bekommt Zuteilungen von Mitarbeitern auf. Dann werde ich wieder vorbei an den Angestellten i D, die wir aus dem Urlaub kennen. Fordern Sie Objekte aus unserer Datenbank an. So ist es verlassen Anfragen, die Mitarbeiter oder anfragenden Mitarbeiter I d. So gibt es Muster. Wann, wenn Sie das tun. Manchmal möchten Leute es direkt vom Objekt aus referenzieren. Manchmal lügen die Leute klar variabel zu sein, also würden sie nur sagen, Mitarbeiter, ich d. Ist was immer es vom Objekt geht, und dann benutzen sie diese Variable, um tatsächlich diese menialen Aufgaben zu erledigen, Richtig? Ich meine, es ist ein anderes Muster. Du machst diejenige, mit der du dich wohl fühlst. Ich denke, es sieht sauberer aus, wenn Sie die Variable ausführen und dann Ihre Aufgaben mit der Variablen ausführen, anstatt im Laufe der Zeit auf die Eigenschaft und die Objekte zu verweisen. Aber das ist in Ordnung. Also wissen, dass wir die ah Lage haben oder gut, eigentlich brauchen
wir Zuteilung für die Mitarbeiter. Dies sind Zuweisungen für den Arbeitgeber. Wir brauchen eigentlich die Partikelzuordnung für den Blatttyp. Also hier vor bekommen Zuteilungen von Mitarbeitern und verlassen Typ. Also haben wir alles schon so von Mitarbeitern und dem Typ durchdacht. Also dieser benötigt zwei Parameter, die der Mitarbeiter I d.
On sein würde . Das ist nicht sehr explizit. Also müssen wir zurück und Refraktor, dass es sehr explizit ist. Und wir wissen, dass wir es mit dem Mitarbeiter I d
zu tun haben, also treffen wir diese Veränderungen. Wenn ich es in der Schnittstelle mache, muss es im Repository machen. Ich meine diese Änderungen, während ich unterrichte, weil ich dir zeigen will, dass du das
Ding schreibst . Es funktioniert gut. Aber in einem anderen Szenario, Verbündete, die alles, was
Sie hätten sein können, ein bisschen expliziter oder ein bisschen sauberer in Ihrem Hof, und dann werden sie am Ende diese Änderungen vornehmen, während Sie weitermachen. So wissen Sie, dass Sie flexibel sein müssen, und es ist gut, wenn Sie verstehen, was Sie tun, Was wurde getan, warum Sie es ändern müssen. Diese Dinger werden dich unaufhaltsam machen. Also nein, wir haben diese Anpassungen vorgenommen, dann kann ich auch vorgehen, indem ich explizitere
Zuckerguss-Mitarbeiter-Ideen . Jemand anderes will kommen und mir meinen Kern ansehen. Sie müssten nicht erraten, von welcher Idee ich rede, denn es ist schon irgendwie Spucken für sie. Also bin ich in der Angestellten, die ich d, aber auch die Blatttypen brauchen. Ich möchte sagen, verlassen Typ ist gleich auf. Rufen Sie dann den Leave-Typ I d aus dem Leave-Anforderungsobjekt ab, aber sie verlassen. Anfrage, die Art Idee auf DSO Mitarbeiter verlassen ich d Komma Typ verlassen und ich sollte wirklich sagen Typ I D.
hier
verlassen . In Ordnung. Lassen Sie Typ I d. Gut. Also wissen Sie, dass wir die Zuteilung haben, die dieser Mitarbeiter für die Anfrage hat. Ich kann fortfahren, um zu sehen, dass ihre Zuteilung wissen sollte Sei die Anzahl der Tage in Anfrage weniger die Sorry, die Zahl von diesen in ihrer Zuweisung, es sei denn, die Nummer aus diesen in ihrer Anfrage, so dass ich einen Standort auf dem sehen
kann Anzahl Off-Tage ist nicht gleich toe der gleiche Wert , der Zahl off Tage minus Lassen Sie Anforderungen Punkte auf, dann. Ich glaube, ich habe ein Feld, das besagt, dass die Anzahl von Tagen angefordert wird. Tue ich nicht. Die Urlaubsanfrage selbst verfolgt also nicht die Anzahl der angeforderten Tage. Es kennt nur das Startdatum am Ende. Das bedeutet, dass ich einen Monat tun muss, um das zu erkennen, richtig? So kann ich das dynamisch bestimmen. Und ich verwende Code, den ich zuvor beim Erstellen der Urlaubsanforderung geschrieben habe. Also früher hätten wir etwas getan, wo wir diese Nummer abgenommen haben. Diese beantragten und wir haben die Berechnungen durchgeführt. Das kann ich wiederholen. Jetzt diese Kopie an. Geh zurück zu meiner Aktion. Also wird Vier D angefordert. Also sehen Sie, wir haben einige kleine Operationen. Es ist nach dem Gehen, also haben wir die Tage gefordert. Dann wird das verlassen. Fordern Sie das und ein bisschen ein Minus. Die Anfrage nicht starten Schulden. Ordnung, also noch einmal, Sie hätten diese in ihre eigenen Variablen setzen und dann die Operation mit den
Variablen durchführen können. Weißt du, dann liegt
es an dir. Ich weiß, dass ich die Anzahl der angeforderten Tage habe, als die zugewiesene Normal
diese Zahl sein wird . Meine Nase dort wird dann angefordert, nachdem diese Anpassung an dieses Feld vorgenommen wurde, sind dieses Jahr Wert auf? Dann gibt es einen einfacheren Weg, wie wir das hätten tun können. Ich hätte Minus gleich auf sagen können. Dann haben diese angefordert. Also das ist ein nettes, obwohl wir, dass c Sharp Alozie diese Aussage zu schreiben, wo es im Grunde sagt, dass das, was es sagt minus gleich, Es impliziert nur, dass welcher Wert auf dieser Seite minus dieser Wert ist auf, dann was auch immer die Begrüßung ist in diesem Wert gespeichert. Das ist also eine alternative Möglichkeit, diese Aussage zu schreiben. Also, was ich tun werde, ist es in beide Richtungen zu schreiben. Also, wenn Sie ein Anfänger wäre scharf sehen, dann können Sie nicht mit dieser Technik vertraut sein, so dass das in Ordnung ist. Also das ist eine andere Möglichkeit, dass Sie jemals in diesem Thread sehen und Visual Studio sogar kommen, wissen
Sie, irgendwie darauf hindeuten, dass es jemals auf diese Weise, in Ordnung,
Also, nachdem Sie diese Berechnung gemacht und entfernt oder Reduzierung der Anzahl von Tagen, die nicht verfügbar sind, durch die Zahl aus wird angefordert, dann sitzen alle von den Flaggen auf, dann die Aktualisierung der Urlaubsanforderung, Ich werde nur sagen, aktualisiert jemand tatsächlich in diesem Jahr zu starten, weil ich bin es nicht benutzen. Manchmal möchten Sie also nicht verfügbar erklären. Sie verwenden in dieser Situation nicht. Ich brauche diese Variable nicht. Also mache ich die Aktualisierung des Urlaubsanforderungsberichts, und dann werde ich einen Standort verlassen, der nicht optimistisch ist, weil ich gerade Änderungen am
Allokationsdatensatz vorgenommen habe. Auch dann ist die Entität oder das Objekt und die Übergabe der Zuweisung. Und dann, wenn alles abgeschaltet ist, dann leiten wir den Store Index vom Kurs um. Wenn es abgelehnt
wird, dann fällt mit Ihrer Zitadelle und nichts ändert sich für ihre Zuweisungen und entfernen Sie diese ungenutzte Variable auch auf, dann können wir es erneut versuchen, damit wir mit einem Mitarbeiter versuchen können, der einen Urlaub Anfrage macht. Und dann sehen wir die Änderung in der Zuweisung, nachdem es genehmigt ist hier bin ich mit dem
Benutzer, der die Hebelsuche für Urlaub erstellt. Denken Sie daran, dass Urlaub standardmäßig, zumindest auf meiner Seite, wurde auf 15 Tage eingestellt, wenn verwendet einen anderen Wert als Sie brauchen nur müde aus dem Tal, das Sie verwendet. Aber ich werde vom 26. Januar bis zum 30. Aber ich werde vom 26. Januar bis zum 30. 2016 Sonntag. Also lassen Sie mich es ein bisschen realistischer machen. Also vom 27. bis 30. das sind etwa drei Tage. Ich bitte um Erlaubnis, alles klar, und das war erfolgreich. Also melden Sie sich einfach als unser Admin-Benutzer schnell an, und ich sehe nur die Passwörter. Ich muss nicht jedes Mal neu tippen. Nein, gehen
wir einfach zurück auf die Urlaubsanweisung. Überprüfen Sie einfach oder das zeigt nicht die Urlaubszuweisungen. Tut mir leid, dass ich meine Position verloren Das sollte an die Angestellten gehen. Dann kann ich die Details sehen So dieser Mitarbeiter hat 15 Tage Urlaub Urlaub Urlaub. Lassen Sie uns das im Hinterkopf behalten. Das ist die Zahl von diesen, die sie zugeteilt haben. Also gehe ich und lasse Anwendungen verlassen, um Noahs zu verwalten. Sie haben eine neue Rezension, Andi. Eine Sache, die ich wahrscheinlich tun möchte, ist, die Urlaubsanfragen in der Reihenfolge vom angeforderten Beat zu bestellen, so dass die zuletzt angeforderten nach oben schweben. Richtig? Also werde ich bestellen, dass es später ist, oder ich werde Sie herausfordern, das zu tun, Neuordnung in der Steuerung zu bestellen. Oh, das verlangsamte sich in diesen Daten, aber ich werde wissen, gehen Sie einfach zu überprüfen und dann werde ich Zehe genehmigen. Also wissen Sie, dass es genehmigt ist. Andi,
Ich weiß, es ist für Gerechtigkeit Benutzer genehmigt, die ste bei B t. Es ist nicht,
Ich denke, das ist Akkumulatoren, die ich verwendet, aber ich werde auf Testbenutzer-Profil suchen. Ich schaue auf die Details und nein, ich sehe, dass der Urlaub ist nicht reduziert. Also das nächste Mal, wenn sie einen Urlaub Anfrage machen, haben sie bis zu 12 Tage, von denen an mich diese Anfrage. Wenn ich diese Anfrage erneut versuche,
denken Sie daran, dass wir eine Validierung vornehmen, dass die Anfragen die
Zuteilung niemals überschreiten sollten . Jemand, der versucht, sich für den gleichen Urlaub mit demselben Benutzer zu bewerben. Aber dieses Mal werde ich Zehe für einen Monat im Wert von Urlaub gelten und die Auswahl zu sein, es ist , dass deutlich überschreiten 12. Diese Anfragen gehen weiter. Dann bekommen wir unseren Pfeil. Sie haben nicht genügend Tage für diese Anfrage. Alles klar, das sieht gut aus. Bisher möchte
ich noch eine Änderung vornehmen, dass Zehe ist. Entfernen Sie die Schaltfläche „Überprüfung“. In der Tat werde
ich Zehe entfernen die Fähigkeit für Lassen Sie mich zurück, um Anwendungen zu verlassen. Ich werde die Möglichkeit für Admin-Benutzer entfernen, den Status von der Urlaubsanforderung zu ändern . Also wissen Sie, was das ist, obwohl es genehmigt ist? Werden ausgeworfen. Wenn sie auf Überprüfung klicken, erhalten
sie weiterhin Zugriff auf die drei Schaltflächen. Nun, wichtiger, sie haben immer noch Zugriff auf die Genehmigungsschaltflächen unter Ablehnung, die ich nicht mehr in meiner Detailansicht im Abschnitt oder in diesem Dave, der diese Tasten
lädt. Ich kann einfach auf, wenn Aussagen setzen, ich werde sagen, handeln,
unterschreiben, wenn und dann auf das Modell rufen dann sagte, dass genehmigt ist äquivalent zu wissen. Das einzige Mal, dass sie genehmigen oder ablehnen sollten, ist, wenn sich die genehmigte Flagge in einem
No-Zustand befindet ,
was bedeutet, dass es wahr oder falsch gesagt werden muss. Dann werde ich den HTML-Code akzeptieren, der mit diesen Schaltflächen verbunden ist. Andernfalls wurde
es nur angezeigt zurück zu leasen so oder wird nicht. Sonst. Wenn es in einem No-Zustand ist, dann werden Sie dies anzeigen, aber es wird immer die Schlacht ist geboren, so dass ist ein schöner schneller Weg weg. Was kontrollieren? Der Admin-Benutzer, was jeder in der Lage ist, basierend auf bestimmten Bedingungen und Geschäftsregeln zu tun. also zu dieser Rede zurückgehe, Wenn ichalso zu dieser Rede zurückgehe, die eine bereits genehmigte Urlaubsanfrage und ich aktualisiere, dann werden sie nur die Gefechtslistenschaltfläche sehen, damit sie die Genehmigung und Ablehnung nicht sehen weil Es ist schon in einem anderen Zustand. Aber und das ist fast ein Grund zur Besorgnis. Ein weiterer visueller Cue, den wir einfügen können, ist, wie ein kleiner Abschnitt an der Spitze zu setzen, der zeigt, ist seine ausstehende. Ist es bereits genehmigt? Weil sie hierher kommen? Sie können die vergessen, den Zustand, in dem sie war, als sie auf die Review-Schaltfläche geklickt. Also willst du ihnen ein weiteres visuelles Stichwort geben? Ordnung, in diesem Sinne hatte
ich ein paar Anpassungen an den Störern vorgenommen, und ich werde Sie durch genau das führen, was ich getan habe. Ich habe es aus der Kamera gemacht, aber ich möchte dich zu den Flecken herausfordern, die das Video repliziert hat, aber ich werde sowieso genau erklären, was passiert. Also habe ich in einer Erklärung an der Spitze von den Details, die Sie gesagt,, wenn das Modell nicht gleich Oprah Stimme äquivalent zu wissen, Sorry, ähnlich der, die ich nicht hier mit den Tasten. Also sehe ich, ob es intern gleich ist, was bedeutet, dass es in einem ausstehenden Zustand ist. Dann zeigen Sie bei Dave mit Bootstrap-Klassen an. Warnung bei Warnhinweis So können Sie immer zum Booster der Dokumentation gehen und sich die Dokumentation zu Warnungen
ansehen . Alles klar, es schnell heraufzogen,
sind wir
auf den Fuß gegangen. Holen Sie sich Bootstrap dot com Komponenten und Warnungen auf hier. Dies ist das Beispiel, das ich ausgewählt habe. Also sind sie einfache Warnungen, wo, Sie wissen, dass Sie nur drucken können wie farbige gibt oder farbige Behälter mit Text, und sie haben die verschiedenen Farben, den gleichen primären sekundären Erfolg, alle Farben, Paletten, die Sie für Knöpfe und alles andere zur Verfügung haben. Dann haben Sie es auch für die Warnung. Alles klar, das ist alles, was ich getan habe. Ich sagte nur, wenn es in einem No-Zustand ist, dann gib mir eine Warnung, die wie eine Warnung aussieht. Das ist also ein orangefarbener Alarm. Gib mir eine Kopfzeile. Das ist eine Ausgabengenehmigung, und das ist ein Bedarf an Schleppen, dann eine Pita, die alte das Etikett auf dann den Namen der Person druckt, dann eine kleine Linie. Das ist HR Tug an, dann hat das Display für das D angefordert. Also dieser Typ, die gleichen Informationen, die ich in der Kopfzeile hatte. Anfangs lege
ich es einfach rein. Geben Sie mit etwas Malkunst auf, dann mache ich Kontext. Haben Sie auch die Anweisung für die Null, dann haben Sie eine Anweisung für True on. Es ist ziemlich viel, ihn zu sehen. Sie haben, außer dieses Mal ist es Erfolg direk
43. Employee von Mitarbeiter:innen – Mitarbeiter:innen: Hey, Leute, willkommen zurück für diese Lektion. Ich habe gesagt, dass wir den Bildschirm zusammenstellen würden, den unsere Mitarbeiter sehen,
wenn sie ihre Zuteilungen und ihre Urlaubsanfragen bis heute auf dso Ich habe bereits
alle diese gesamte Schnittstelle und die gesamte Funktionalität gebaut . Ich habe was für Sie übrig gelassen,
aber ich zeige Ihnen, was wir das Gericht vier ansehen werden. Ich habe was für Sie übrig gelassen, Ich habe systematisch den ganzen Code durchgebracht, der geschrieben wurde, um das zu unterstützen, was gerade angezeigt wird. Jetzt habe ich es aus zwei Gründen so gemacht. Erstens möchte
ich dich herausfordern, den Code tatsächlich selbst mit so wenig Anleitung von mir
wie möglich zu schreiben , denn dort wirst du wirklich glänzen. Ich denke auch, dass dies relativ einfach ist und es sollte sich als Herausforderung erweisen wenn Sie ein Anfänger sind. Aber es sollte Spaß machen für Sie zu versuchen und auf eigene Faust. So oder so, ich werde durch das Gericht gehen, das am Tag geschrieben wurde. Sie können das Video zu den verschiedenen Perioden pausieren und vom Platz kopieren, wie Sie jetzt das
Bedürfnis haben. Die erste Modifikation auf. Nun, ich meine zu Modifikationen, die Leo Ph. Aber die 1. 1 für den Zweck dieses Hörens,
ist, dass ich die Navigationsverbindung zu unserer neuen Aktion hinzugefügt, die mein Urlaub ist. Also habe ich gerade ein neues Ne-Element auf dem Consume-Controller hinzugefügt, da sich Acri für Urlaub bewerben. Aber dieses Mal ist die Aktion mein Urlaub auf dem Text ist mein Urlaub. Die andere Anpassung inmitten ist, dass ich das Verb ege für die Urlaubsanwendungen
ändere , die stattdessen verlassen Anfragen zu sagen, was mehr zu dem passt, was wir tatsächlich haben. Also dort haben wir unseren Navigationslink zu unserem Miley Fitch. Andi,
ich wäre schon geliebt worden. Die Tatsache ist also, dass Sie nur in der Lage sind, dieses Feuer Angst Protokoll zu bekommen, weil denken Sie daran, dass würde den gesamten Controller autorisiert haben. Und wenn Sie eingeloggt sind, können
Sie auf „Mein Urlaub“ klicken. Dann bestimmen wir kontextuell, wer Sie sind und zeigen Ihnen nur Ihre Informationen. Kein von Kurs. Damit Informationen wie diese angezeigt werden konnten, mussten
wir ein Ansichtsmodell erstellen, das die Daten speichern und
dann auf dem Bildschirm rendern könnte. Also werde ich Sie zu dem Ansichtsmodell bringen, das ich erstellt habe, also habe ich eine neue Klasse innerhalb von Urlaubsanfragen erstellt. VM auf dieser einen heißt Employees Leave. Anforderungsansicht Ansicht. Es ist ein Vielfaches, aber dafür ist es wirklich. Es ist eine
Urlaubsanforderungsansicht, Ansichtsmodell für Mitarbeiter direkt dann innerhalb dieses Ansichtsmodells. Ich habe eine Liste von Urlaubszuweisungen und ich habe eine Liste von Urlaubsanfragen. Alles klar, damit du es sehen kannst. Das ist aus. Als Nächstes ist unsere neue Aktion, die Meine Blätter genannt wird. Also
habe ich innerhalb des Leave Request Controllers eine neue Aktion namens My Leave on erstellt. Alles, was wir wirklich tun, ist eine Bestimmung, wer eingeloggt ist, und das haben wir schon einmal getan. So bekomme ich die Mitarbeiter oder den Benutzer, der gerade geliebt wird, auf. Dann sehe ich Nun, ich speichere nur den Mitarbeiter I D, die ich dann verwendet, um die Zuteilungen von Urlaub Zuteilung Bericht abzurufen, erhalten Zuweisungen von Mitarbeitern mit den Mitarbeitern, die ich d auf. Dann mache ich dasselbe für die Urlaubsanträge. Leave Request Report erhält tiefe Anfragen von Mitarbeitern, die vorher nicht da waren. Nein. Also, um die Urlaubsanträge für den Mitarbeiter in Frage zu bekommen, sind die Mitarbeiter, deren Sprung angefordert Definitiv wollen wieder spezifisch. Was ich tat, war auf meine Schnittstelle für ein verlassen Repository gehen und eine neue Funktion erstellen . Ich sammle Lee Anfrage erhalten Urlaubsanträge von Mitarbeitern akzeptieren einen String Umfang Mitarbeiter Mitarbeiter I D. On. Dann habe ich es in der tatsächlichen Repository-Klasse auf implementiert. Alles, was es wirklich tut, ist nur Steinbruch bereit und der gleiche Steinbruch wie der Fund. Außerdem ist
es ziemlich viel zu sehen, wie er den ganzen Steinbruch findet. Also hätte ich das eigentlich nur schreiben können, als finden Sie all das wo? Also lassen Sie mich einfach neu schreiben, dass alles finden, was im Grunde alle von diesen Daten zurückgibt Wie auch immer , dann sage ich Andockt waren so dann der Punkt, wo nein nur auf den anfragenden
Mitarbeiter filtert , ich bin gleich der Idee, dass es durch den Parameter. Und was es tut, ist, alle Auslassanfragen zurückzugeben, die dieser bestimmte Mitarbeiter auf
genauer gesagt die Person war aktuell erlaubt bin alle Anfragen, die sie jemals
erfüllt haben . Seitenkleid machte diese Anpassung an meine Schnur. Du kannst das ausziehen. Nein. Nach je auf Zuteilungen und alle aus den Anfragen behandelt. Ich gehe dann weiter und mache das Mapping. Also mappe ich das, was ich erschaffe. Immer glauben Allokation Mitarbeiter Allokation Modell. Tut mir leid, dass ich eine Liste abbilde. Belassen Sie die Zuordnungs-VM, die ein Objekt aus oder Datenabfrage übergeben. Ich mache eine ähnliche Sache für die Urlaubsanfragen auf. Dann lade ich das Modell, so erstelle ich eine Variable für das Modell oder ein Objekt vom Typ Mitarbeiter verlassen Anforderungsansicht B m darauf, ich übergebe den Urlaub Allocations auf em übergebe die Urlaubsanforderungen an. Dann gebe ich die Ansicht mit dem Modell Nr. zurück, um die Ansicht zu erstellen. Was ich getan habe, war ich mit der rechten Maustaste auf Ansicht wie gewohnt Klicken Sie auf Hinzufügen auf. Dann habe ich eine Listenvorlage geladen, aber in der Vergangenheit haben Sie dies gesehen, wo wir ein benutzerdefiniertes Modell haben. Wir wissen, dass, wenn sie Eigenschaften in diesem Modell nicht die einfachen Eigenschaften sind, die nichts bekommen
wird, tatsächlich auf dem Bildschirm für dieses Modell gerendert werden. Also in diesem Fall müssen
wir Typen Klasse. Nichts würde wirklich gerendert werden. Also betrügt die Art von Hofonkel das System. Ich verwende die Modellklasse, off-Typ verlassen Anfrage VM. Das ist also lassen Sie die Anforderung VM auf. Dann fügte ich diese Ansicht dann der Ansicht hinzu, die hinzugefügt wurde. Ich kann ablenken. Wir können gehen, um es zu sehen wäre uns eine Datentabelle oder eine Tabellenliste gegeben haben. Mit all dem Hebel Quest VM fühlt sich, wie wir wissen, die Listenvorlage tut. Also ändere ich das Modell von der unzähligen Off-Typ-Anfrage VM toe mein neues
Ansichtsmodell , bei dem Mitarbeiter die Anforderungsansicht VM verlassen und dann für die Tabelle. Ich habe alle Etiketten geändert, weil ich sicher bin, dass wir uns daran erinnern, dass, wenn Sie es so tun, die Etiketten nicht mehr generiert werden oder der generierte Code beginnt, Apfelwein
Hardcore zu geben , dass die Titel stattdessen auf. Dann erinnere ich mich, dass in den vier jeder war es für jeden Artikel im Modell Ich bin Gina, dass Zehe für jeden Artikel in Modell Punkt Blatt Anfragen. Das sind also die Header. Und natürlich
habe ich dafür gesorgt, meine i d für tbl-Daten einzugeben, so dass diese Tabelle wie die Datentabelle aussieht, die wir kennen und lieben. Also das sind die Header für meine Tabelle Und dann sind das die Spalten auf. Dann habe ich für die Spalten mit der entsprechenden zum Kopf behalten. Lassen Sie auch Zeit viel uns Typ verlassen. Dieser Name begann Muchas dort zu beginnen, um es den angeforderten Genehmigungszustand zu beenden. Ich verwende die Aussage von über Previ ous Admin-Ansicht. Also habe ich nur gesagt, wenn es genehmigt ist und Erfolg zeigen, wenn es nicht eine Broschüre abgelehnt Andi auf Andernfalls zeigen je Budge auf. Dann nach all dem habe ich eine Aktion innerhalb dieser Action-Hitters. Eigentlich habe ich etwas dort hingelegt. Das ist es Krebs. Der Krebs verlangt, weil das die einzige Aktion ist, die ich möchte, dass ein Mitarbeiter in der Lage sein auf ihren eigenen Urlaub Anfrage
durchzuführen. Richtig? Sie haben die Anfrage gestellt. Sie können es absagen. Ähm, ja. Ich meine, selbst wenn es bereits genehmigt ist, wird es immer noch nicht genommen, also kannst du es jetzt absagen. Ich fordere Sie auf, diese Funktionalität einzubinden, da Sie einige Daten zum Austausch machen müssen . Sie müssen allo sie auf diese Schaltfläche klicken, schrieb sie an eine Aktion namens Cancer Request, die das I d für das Anforderungselement nimmt. Dann müssen Sie einige Logik schreiben, um zu sehen, dass der Flug, der mit unserem nicht bleibt es stornieren. Das bedeutet also, dass Sie eine Datenbank ändern müssen, um eine Form von Flag zu enthalten , die sagen, dass es eine abgebrochene Anfrage nicht so ist. Dann müssen Sie das Flag auf Ja ändern, es wird am abgebrochen. Dann müssen Sie einige Musto wieder diese zugewiesenen Tage hinzufügen, auch. Die ursprüngliche Zuteilung. Gleich drauf. Dann, natürlich, Sie wieder hinzufügen sie nur, wenn die Ansicht, wenn der Urlaub genehmigt wurde. Also gebe ich dir nur ein Szenario, in dem du dein eigenes Geschäft machen musst. Die Regeln sind gesperrt. Stornierung kann im System erfolgen. Also, wenn jemand einen Antrag gestellt hat, dass es nicht genehmigt wurde, es noch aussteht, dann sollten
sie offensichtlich nicht von der Zuteilung in Edie zurückkehren, wenn es genehmigt wurde, Das bedeutet, dass die Zuteilung abgezogen wurde, und wenn sie können, also müssen sie ihre Tage zurückbekommen. Harte Logik ist, dass, wenn es abgelehnt wird und Sie wahrscheinlich die Stornierungen
jetzt nicht sehen würden , die einzige Logik, die ich habe, um die Umstände zu bestimmen, unter denen sie die Option
zur Krebsanforderung sehen werden , ist, dass ich sehe, ob die Element, das es gestartet hat, oder wenn das Startdatum für diese Urlaubsanforderung kleiner ist als der Tag, an dem Sie
noch nicht begonnen haben zu verlassen . Alles klar, also hat der Anfang Ondas gemacht. Ich erkläre, dass ich sehe, dass ich hier einen Logikfehler habe. Also das Startdatum, wenn es größer ist als die Zeit keine bedeutet, dass in der Zukunft sitzt, was bedeutet, dass Sie nicht begonnen haben. Es hat noch so zu sehen, deshalb ist nach zusammen gut. Also muss ich das ändern. Wenn das Startdatum größer als nein ist
, kann ich abbrechen. Das bedeutet, dass der Tag, an dem es noch nicht gekommen ist. Und dann, wie ich schon sagte, wenn es abgelehnt wird, dann muss ich sie nicht nach Kansas zulassen,
verstehen, diese Gelegenheit und an dieser Linie zu nutzen,
oder das Biss aus der Logik und Andi sehen oder besser gesagt, Ich werde sagen, sind so Es ist entweder, dass das Startdatum noch nicht gekommen ist oder Artikel Punkte genehmigt ist äquivalent zu fällt auf den anderen Umstand und sehen einen anderen Logikbereich, sollte
ich sagen, wenn es gleich wahr ist, richtig? Also, wenn es genehmigt ist, dann kann ich stornieren, wenn es nicht begonnen hat, dass ich stornieren kann. Wenn das Startdatum bereits gekommen ist, dann haben wir die Zehe. Ähm, wir wollen, dass der Mitarbeiter es abbricht. Wenn es abgelehnt wird, dann werden wir ihnen nicht erlauben zu annullieren. An diesem Punkt ergibt es keinen Sinn. So dass einige Logik, die ich verwende, um die Abbruchanforderung anzuzeigen, nicht so sind. Wieder einmal werde
ich Hallo,
ihr zwei, ihr zwei, oder ich fordere Sie heraus, die Aktion für die Stornierung zu erstellen. Nein, das ist für die Datentabelle. Im obigen die Datentabelle. Ich habe einen anderen Abschnitt, in dem ich die Urlaubszuweisung zeige. Also habe ich den Titel, die IV-Zuweisungen, und dann verwende ich eine Bootstrap-Klasse namens Jumbotron für dieses Div. Deshalb gib es, dass graue zurück gewachsen aussehen, ähm, Wirkung auf, dann im Inneren, Ich benutze ähnliche Karten dachte, hätte verwendet. Ich verwende das Gericht aus dem Admin-Panel wieder. Das einzige, was ich entfernt habe, war die Möglichkeit, die Zuweisung zu bearbeiten. Schließlich habe ich die Erstellen-Aktion geändert. Sind die Post erstellen Aktion in unserem Controller,
wo, nachdem ein Mitarbeiter den Urlaub Anfrage erstellt hat,
denken Sie daran, dass wir navigieren oder literarische Derek direkt auf die Homepage von der gesamten Anwendung, die Ich wollte es nicht. Stattdessen lasse
ich es zu meinem Urlaub umleiten. Also, nachdem sie es erfolgreich eingereicht haben, dann geht es zurück an den Patron, ihnen ihre aktuelle Zuteilung sowie ihren Kern,
und löste Lee-Anfragen, die nicht ausstehend sind. Ordnung, die Rede noch einmal hier zu
dienen ist, dass mein Standortabschnitt mit dem Jumbotron-Grad aber mit unseren Urlaubsanweisungen stöhnte, die alle Blätter zeigen. Gewiss genommen. Als ich auf diesem Bildschirm sah, sah
ich, dass wir eine andere logische Ära passiert hier, Also das Startdatum ist bereits vorbei. Alles klar, das geschieht
also am 12. des Generals,
was bedeutet, dass unser Urlaub darum bittet, dass sie mit dem ersten beginnen, der damals bereits zusammengebrochen ist. Dies ist in einem zugelassenen staatlichen Ufer, aber dann ist die Krebsanforderung Option immer noch da. Also gingen wir, nachdem wir seine Aussage Zehe gefunden haben. Stellen Sie sicher, dass wir nicht überschreiben, wenn unser Dollar, weil ich gesehen habe, ob es genehmigt ist, dann zeigte Krebs Anfrage oder wenn es einen Start übergeben wird. Es ist an dieser Stelle aus. Diese Bedingungen werden als wahr bewertet und wurden daher die Schaltflächen erhalten. Also müssen wir nur unsere Aussage korrigieren, um sicherzustellen, dass wir den Knopf nicht bekommen der es repariert, und ich fordere Sie erneut heraus, es zu beheben. Es ist wirklich nicht so schwierig. Sie können einfach ein paar Permutationen und angefangene Kröten verwenden, aber ich werde es reparieren lassen. Damit sind
wir fertig mit diesem Modell so ziemlich auf die nächste Lektion wird nur eine Rezension sein. Onda Check in, um Hub zwischen nein und das Huhn zu bekommen, um aufzustehen. Ich fordere Sie heraus, die Cancer Quest-Funktion sowie den Kommentarbereich zu implementieren. Vierstündige Urlaubsanträge. Ein wenig mehr Kontext um in den Kommentaren ist, dass auf Mitarbeiter, bei der Einreichung von Oliver Frage, in der Lage
sein, in einem Kommentar zu schreiben, Sie wissen,, Ich brauche diese Zeit, um X y Z auf einem anderen Abschnitt für die Ablehnung zu tun wo der Administrator oder wer auch immer die Ablehnung macht, ähm sollte in der Lage sein zu sehen, Deshalb lehne ich die Anfrage ab. Wieder einmal erfordern
diese beiden Aktivitäten einige Datenbankänderungen. Einige View-Modell-Updates zu einigen View-Updates auf Ich bin gespannt zu sehen, dass Sie es auf eigene Faust tun. Fühlen Sie sich frei, mich zu kontaktieren. Wenn Sie weitere Anleitungen benötigen, werde
ich es außerhalb der Kamera machen, und dann können wir diese Änderungen einfach in der nächsten Lektion überprüfen.
44. Übersicht und Änderungen in GitHub: Hey, Leute, willkommen zum letzten Video in diesem Modell hier. Wir überprüfen nur das ganze Wort, das wir hineingelegt haben, und das Huhn in unseren Änderungen,
um jetzt aufzustehen. Schnelle Erinnerung an das, was wir getan haben. Wir haben damit begonnen, unseren administrativen Gebrauch für Urlaub einzurichten. Aber basierend auf dem, was auf dem Bildschirm ist,
führe ich Sie durch genau das, was wir getan haben. unsere Mitarbeiter richten wir das Formular zum Erstellen eines Urlaubs ein. Andi,
ich habe ein paar Änderungen vorgenommen, seit wir das letzte Mal vor der Kamera sind. Ursprünglich hatte
ich die Formen Dave zu nennen MB. Streicheln Sie es. Ich habe es auf 12 erweitert. So gibt es keine Füllungen von links nach rechts vom gesamten Behälter. Auch schlug und blockierte für beide Anfragen. Lassen Sie eine auf der Rückseite zur Liste Schaltfläche auf. Ich habe uns wie eine Änderung an das Datenobjekt gemacht, in dem ich ein Feld für begonnen eingeschlossen
habe, so dass ich die Datenklasse geändert und eine String-Spalte namens Request Comments enthalten hätte . So nenne ich das. Sie können es nennen, was Sie wollen, wenn Sie es auch in Ihre aufnehmen. Also habe ich dieses Feld in die Datenklasse aufgenommen und natürlich. Wenn ich es in die Datenklasse lege
, lege ich es auch in das Ansichtsmodell. Ich hätte ihm auch den Anzeigenamen gegeben, der auf Die begonnen hat. Geben Sie ihm ein Muslim aus 300 auf dem Feld, das ich enthalten war, war eine für abgesagt. Also forderte ich Sie in die Cancel-Funktionalität, die ich in ein Feld setzen, das ein Tyrann ist, und vier abgesagt, die natürlich, wenn der Benutzer ist oder die Mitarbeiter, die ihren Urlaub Anfrage machen, würden die Stürze
standardmäßig gesetzt werden . Und in der Kanzleranforderungsaktion, die ich im Urlaubsanforderungs-Controller erstellt
habe, hätte ich gerade gesagt, Geben Sie mir die Idee von der Urlaubsanforderung auf gesetzt, dass Flag auf true auf Dann führen Sie das Update auf, dann kehren Sie zu meinem verlassen. Das ist also im Grunde die Funktion für den Zufall in der Anfrage. Ich habe keine Änderungen an der Erstellungsaktion vorgenommen, wie ich dieses Objekt erstellt habe, denn wenn das Objekt erstellt wird, wird
es standardmäßig fallen. jedoch Wenn Sie sichjedochwohler fühlen, können Sie explizit angeben, dass diese gleich oder falsch abbrechen. Ich habe die Kommentare
jedochnicht jedoch in das Gebäude dieses Objekts
aufgenommen. Also, wenn ich zu dem Formular gehe, das erstellt wird, das sich auf meiner Create-Ansicht anstelle des
Urlaubsanforderungsordners anstelle von Ansichten befindet, dann sehe ich, dass ich das Feld habe, das ein Textbereich auf Dies ist ein SP für
Anforderungskommentare ist. So sieht es so ziemlich aus wie jeder andere ah, Rubin
bilden, den wir hatten. Außer, dass ich keine Eingabe verwende, aber ich sehe einen Textbereich, der das Gefühl definiert, für das es ist, ihm dieses Formular-Steuerelement zu geben. Also, sobald wir auf Senden klicken, dann diese Bit off Daten, was auch immer hier eingegeben wird, wird auch über für die Erstellung eingereicht werden. Das bedeutet, dass ich wissen muss, dass Daten innerhalb des Objekts enthalten, das ich eine neue Urlaubsanforderung
erstellen, so dass wir das einfach zusammen tun können. Wo ich Anforderungskommentare im Objekt sehe, ist gleich Zehe Modellpunkte Anfrage Kommentare, und da gehen wir. Wenn wir also eine neue Urlaubsanfrage einreichen, wird diese Urlaubsanforderung mit Inhalten für die Kommentare generiert. Wenn es da ist, habe ich es nicht zwingend gemacht. Vielleicht wollen sie ein Kommen setzen. Vielleicht tun sie es nicht. Es ist also kein Pflichtfeld jetzt zu unserem Abschied Du. Ich habe ein paar Anpassungen vorgenommen. Ich habe eine Spalte hinzugefügt und den Titel Chancel Anfrage auf. Dann fügte ich eine weitere Spalte zum Vier-Schleifenabschnitt oder dem für jeden Schleifenabschnitt hinzu, in dem gut eine hinzugefügt wurde, und eine neue Bedingung zu den Anweisungen, die uns die verschiedenen Budges für den Status geben. Also habe ich eine für storniert hinzugefügt, wenn storniert. Also in diesem Bereich abgesagt ist unser Anlagebarren. Es ist kein sachkundiger Anlagebarren, also kann ich nur sehen, ob abgesagt oder nicht abgesagt wird. Ich muss es nicht einrichten oder berücksichtigen. Ah,
möglich, kein Wert. Also sage ich, wenn das Element einen abgebrochenen Zustand hat, der bedeutet, dass diese in einem wahren Wertstatus abgebrochen werden, dann möchte ich den Budge sekundär mit der Klasse sekundär drucken. Entschuldigung auf dann sehe ich das Wort abgebrochen auf. Dann habe ich einfach anders vor die if-Aussage gestellt, die wir ursprünglich hatten. Also, jetzt ist dies unser neuer If Block auf dann für den abgebrochenen Button, mal sehen. Jeder wird mich kontaktiert und sagte mir, dass die Art und Weise, wie ich hatte die Geschäftsregeln entstanden waren. Also musste ich etwas ändern. Also alles, was ich jetzt suche, ist, wenn die Urlaubsanforderung nicht am Startdatum abgebrochen ist noch nicht
gekommen ist,
was bedeutet, dass, wenn sie es genehmigt haben,
wir es nicht wieder zulassen können, so dass Abbrechen Buttons nicht angezeigt werden sollten, wenn es oder wenn die sogar, wenn es nicht ist, auch wenn es nicht genehmigt oder abgelehnt wurde, wenn es Ausgaben so lange wie die begann es bestanden
wurde, dann sollte es nicht für die Stornierung berechtigt sein. Also wieder auf über meine verlassen Seite, die zusätzliche wird der zusätzliche visuelle Cue ist der Zustand aus abgebrochen. Beachten Sie also, dass dieses Datum noch nicht gekommen ist. Aber ich habe es abgesagt. Und damit diese Schaltfläche nicht wieder angezeigt wird. Aber wenn ich jetzt einen neuen Urlaub beantrage, dann würde dieser Krebsantrag kommen. Nein, ich werde nicht viel Zeit damit verbringen, viel Gericht zu schreiben. Sie können das Video an verschiedenen Punkten pausieren und den Quellcode abkopieren, mit dem
Sie meinen , Sie würden helfen. Aber ich will nach China und du, es selbst zu schreiben. Nein, was wir tun werden, ist, unsere neuesten Änderungen einzuchecken, um aufzustehen. Also werde ich einfach in meine Lösung gehen. Experten an der Spitze, aus der Dateibaum auf. Dann werde ich mit der rechten Maustaste auf klicken, dann gehen Sie zu begehen. Dann, nach dem Klicken, Commits ich Art von Frau So hoch temperamentvoll die Eingabe und setzen Sie es einfach in bereits auf. Dann denke ich, diese Kutsche und sehen alle begehen und sinken. Denken Sie daran, dass jeder Vater, den Sie erschaffen oder modifiziert hätten, aufgenommen werden würde. Und wenn Sie vorher eine Datei hatten und sie wahrscheinlich umbenennen oder löschen würden und Sie mit einem
Schlag durch einen Löwen sehen würden ,
was bedeutet, dass sie aus der nächsten Iteration entfernt wird, Ihre Quelle bewertet. Also verstehen, alles
zu begehen und zu sinken. Und das ist erfolgreich gemacht worden. Also bin ich auf meinem Ghetto-Profil und ich schaue auf mein Repository, und ich sehe, dass vor ein paar Minuten bei mir, das Huhn erfolgreich auf Ich möchte Ihnen nur gratulieren, dass Sie so weit gekommen sind. Wir haben ziemlich viel Arbeit geleistet. Du hast es gelernt. C scharf. Sie haben die Webentwicklung gelernt. Sie haben gelernt, wie man Bootstrap Four Elements Hotel verwenden Jake Worry Um, Sie I Elemente innen aus Ihrem Mantel Sie ziemlich viel getan haben. Und du solltest dir einen Klaps auf den Rücken geben. Wie immer können
Sie sich frei fühlen, mich zu erreichen. Etwas knarrt nicht mit Ihnen auf, Sie benötigen weitere Unterstützung bei der Durchführung dieser Aufgaben. So oder so, wenn es Lücken im Quellcode gab, wie Sie wissen, was ich auf dem Bildschirm angezeigt habe im Vergleich was wir tatsächlich zusammen gemacht haben, dann wird Ihnen der Quellcode zur Verfügung gestellt. Ich stelle immer die Gitarrenabrechnungen zur Verfügung, wo Sie die genaue Version aus dem
Quellcode für die Lektion auf sehen können, dann können Sie replizieren, was Sie brauchen. Wie immer bin
ich immer hier, um zu helfen.
45. Vorschau des Themas von AdminLTE: Hey, Leute, willkommen in diesem neuen Modell, wo wir unsere gesamte Anwendung neu gestalten werden. Jetzt auf dem Bildschirm habe ich Ah, den Löwen, mit dem wir gearbeitet haben, um es zu wissen. Das ist der Löwe, der uns standardmäßig durch unsere Projektstruktur gegeben wurde. Auf diesem perfekten, es funktioniert gut. Wir bekommen in Navigationslinks setzen, wir haben diese Lasten, wo wir haben, dass diese Ränder zu den Seiten auf alles gut aussieht. Aber dann meine ich, manchmal möchte ich ein wenig mehr besitzen, so in diesem Modell wird sich über diese Lasten an
den Admin LTTE ändern . Leo wird auch prüfen, wie wir mehrere Layouts unterstützen können, wissen
Sie, so dass eine Seite ein Layout verwenden kann. Auf einer anderen Seite ist eine mütterliche Lasten oder alles. Diese verwendet eine ganz andere Layouts. So werden wir von diesem Sloat zu etwas mehr so aussehen, die der Admin LTTE Leo Andi Ich meine, gerade jetzt sieht es sehr spielend. Das ist in Ordnung. Aber dann, wie Sie sehen können, verstreckt
die Mutter die linke. Wir haben ein paar Symbole, so dass jeder Knopf haben wir ah DACA ble bar auf. Wir haben einen schönen Portier, also werden wir es einfach ändern, damit Sie Ihre eigenen Fackeln hinzufügen können. Sie gehen mit, aber ich werde Ihnen die Grundlagen zeigen, die hinter dem Ändern oder machen Sie wichtige Änderungen am Aussehen und fühlen sich von Ihrer Website.
46. Neues Layout-Seite erstellen: Hey, Leute, willkommen in dieser Lektion. Wir werden unsere Layoutseite überprüfen und die wichtigsten Dinge beobachten, auf die wir achten
müssen, wenn wir einen neuen Leo-pH-Wert erstellen. Keine genaue Prüfung der bestehenden Littlepage sollte vertrautes Gebiet sein. Wir können es innerhalb von finden oder Ansichten Ordner gehen, um freigegeben. Und dann haben wir unser Layout buchstäblich genannt Unterstrich Liotta Punkt CS html auf dann dieser Leo pH und verstehen, es zu sezieren. Erstens wird
es auf oben aus der grundlegenden HTML-Struktur oder Skelett gebildet, wie ich es nenne, wo wir oder HTML-Tags oder Kopfzerren auf oder Körperzeit haben. Alles klar, also fällt im Grunde alles in den gleichen HTML, wo wir Doktor Deklaration in HTML, Tag Kopf, Körper auf DWI sind. Schließen Sie jedes Tag, während wir weitergehen. jedoch Sie könnenjedochsehen, dass zwischen jedem Schlepper viel passiert, dann über sogar dem Doc-Typ. Wir haben eine C scharf aussehende Schnur. Also oben auf der Seite, haben
wir alle unsere Abhängigkeit ist, also brauchen wir die Bibliothek ist Netzkabel Identität sein. Wir müssen auch unseren Datennamenbereich einschließen, damit wir unsere Anmeldung in die
Benutzer-Manager-Modelle für unser Layout aufnehmen können. Und wenn Sie sich erinnern, haben wir diese für einige Operationen weiter nicht verwendet. Also haben wir unsere Abhängigkeit ist oder C scharfe Bibliotheksabhängigkeit ist an der Spitze. Dann starten wir unser reguläres HTML. Wir können Daten dynamisch einfügen. So sehen wir hier, wo wir die Daten anzeigen gleich Titel oder Daten Titel anzeigen auf. Dann haben wir es mit dem Namen der Anwendungen auf den Kopf gestellt. Dann, wenn Sie mehr über diese Ansicht Daten Titel wissen möchten, wenn wir auf eine aus oder Ansichten schauen und ich werde nur gehen, um Zuweisung zu verlassen und schauen Sie sich vielleicht Liste Mitarbeiter. Wenn wir dies geöffnet haben, sehen
Sie, dass wir Ihre Daten Titel ist gleich einem gewissen Betrag, einige Bit off Text, die dauert, die automatisch generiert wurden auf dann. Dieser Text, kombiniert mit unserem statischen Text,
ist das, was in unserem Browser-Hitter erscheint. Also, das bedeutet, wenn ich möchte, dass eine Liste Mitarbeiter benutzerfreundlicher oder lesbarer aussehen, könnte
ich uns einfach Platz dort auf welche Änderungen ich diese Zeichenfolge treffe, es ist oben auf den gesamten Titel, der auf den Bildschirm gerendert wird, also das ist, was Ihre Titel dynamisch. Wir setzen auch mit der Aufnahme von allen vier Stand fort. Sie würde irgendwo da sein, bevor einige, die wir später hinzugefügt haben. Standardmäßig würden Sie einen Button Bootstrap auf seiner Version. Denn an dieser Stelle hätten
wir unsere Datentabellen oder Fonds aufgenommen. Auch, ähm, hört auf auch r j Abfrage Sie I CSS Und dann am Ende von all dem, haben
wir einen Link zu unserer eigenen CSS-Datei. Sollen wir es irgendwann brauchen? Inhalt des Körpers ist ziemlich unkompliziert. Wir haben einen Header drinnen. Die Kopfzeile ist wirklich die Navigationsleiste. Also Header als Navigation und dann oder Navigationsleiste ist eine Bootstrap-Navigation. Wir haben ein paar Links hinzugefügt auf. Dann haben wir kontextuell einige Dinge angezeigt, basierend auf der Person, die angemeldet ist. Wenn sie sich in administrativen Rollen befinden, werden
sie bestimmte Dinge sehen, auf denen der normale Benutzer nicht sehen würde. Dann, nach unserem Header, gehen
wir zu unserem Container, der unser Körper ist, richtig? Und dann innerhalb des Körpers haben
wir ah, ein Abschnitt namens Mittelwert auf dann haben wir diese Funktion namens Renderkörper, wirklich den Inhalt oder
die Ansicht auf dem Bildschirm rendert. Danach haben
wir oder Fußzeile auf. Wir hatten die Stimmen geändert, die für das Jahr danach dynamisch sein müssen. Dann haben wir unsere Skriptdateien, einschließlich jetzt. Der Grund, warum ich Ihnen diese Tour gab, ist, dass dies die Grundlage bildet, auf der Leo pH Zeh
erstellt werden muss . Ich habe eigentlich für hintere Zehe darauf hingewiesen, und manchmal wird dieser Abschnitt vergessen, weil es so unauffällig ist. Was dieser Renderabschnitt ermöglicht es uns, Skripte innerhalb unserer Ansichten einzubeziehen. Am Tag wird
es nach allen anderen Drehbuch auf der Pfirsich-Kunst gerendert. Also einmal, wie ich es gesehen habe, müssen
wir das wissen, als sie einen weiteren Leo-pH-Wert kreierten. Weil es hier bestimmte Elemente sind, die sich die halbe Zehe wiederholen, zum Beispiel den Körper
rendern, wenn es im Körper vorbei ist als die Navigation, also haben Sie das Gefühl, denn das ist, was tatsächlich rendert, was in der Ansicht innerhalb des gesamten Containers . Also, um eine neue Leo Seite zu erstellen und es von der Anwendung erkannt zu haben, was wir tun müssen, ist gut, man geht auf die gemeinsame ist der beste Ort, um es zu setzen, können sie es tatsächlich
überall setzen , wo er will. Aber dann macht es nur Sinn, es dort zu platzieren, wo die Projektstruktur vorschlagen würde. Du sagst es so, dass wir zu teilen gehen. Wir können klicken, hinzufügen, dann werde ich nur ein neues Element erstellen. Also für unsere Einreichung ging zu wählen Razor Leo lehrte am Tag ich ging, um diese Seite zu ändern. Es ist Sie werden ein Admin LTTE Thema verwenden, wenn wir angefangen haben. Also werde ich nur diese eine Anzeige nennen, die LTTE bedeutet. Also gibt es keinen Fehler über Recht auf. Dann klicken wir auf so sind resultierende Datei ist sehr einfach. Wie Sie sehen können, ist
es buchstäblich, dass HTML-Skelett. Sie versuchen nur, uns ein wenig Dynamik für den Titel auf Sie geben uns einen Abschnitt, um den Körper zu rendern. Es ist also sehr, sehr einfach. Nein, nachdem du das gemacht hast und ich werde nicht alle Änderungen durchmachen, die noch
passieren müssen . Aber nachdem Sie dieses Nein erstellt haben, wollten
Sie der Standard jemand sein, der diese einfache Seite machen Die Standardeinstellung, die ich von unserer großen
Layer-Seite hatte , die bereits vorhanden ist, um dies zu tun. Was Sie tun können, ist zum Start zu gehen. Wenn Sie sich also noch im Ordner Ansichten befinden, haben
Sie eine Datei mit dem Namen Ansicht. Beginnen Sie auf, dass in Ansicht Start wird es sagen, Layout gleich Leo. Also in der Partitur, Leo, das ist der Name der Datei, die es als Layout identifiziert. Also werde ich das nur auf den Kommentar duplizieren. Hafer eine Zeile, und dann werde ich dies ändern, um zu sagen, Unterstrich ad men lt auf Dann können wir alle Änderungen speichern auf. Dann schauen wir uns eine Vorschau an, wie das aussehen wird. Also beachten Sie, wenn unsere Bewerbung oder die Herren buchstäblich nur eine leere Seite waren, denn das ist alles, was wir haben. Wir haben nur das Skelett auf einem Abschnitt, der sein Renderkörper ist. Also, wenn ich manuell versuche, zu jedem aus für vorhandene Bildschirme zu navigieren und sagen wir, ich versuche,
Toe verlassen Typen an zu gehen , demontieren Sie den Login-Hinweis, dass die Protokollierung immer noch mit dem
ursprünglich geschriebenen geladen wird, weil dafür für die Anwendung deaktivieren, müssten
wir auch die Layouts ändern, die verwendet werden. Wenn ich allein zu Epochen gehe, geht die
ganze Identität in Seiten, dann sehen Sie eine ähnliche Datei. Das ist seine Sicht. Start on Die Ansicht Startdatei zeigt direkt auf den alten Pfirsich innerhalb der
freigegebenen Ansichten und des Layouts. Also werde ich das nur provokativ duplizieren und Coat kommentieren. Dann werde ich dies ändern, um zu sehen, fügen Sie bedeuten LTTE, dass CSE html auf. Dann speichern Sie auf und lassen Sie uns versuchen, diese Seite neu zu laden und sehen, was passiert. In Ordnung, also bekommen wir eine Ära, und dieser Bereich sieht, dass wir einen Abschnitt vermissen, der Skripte sieht. Erinnerst du dich daran? Ich habe gesehen, dass es bestimmte Abschnitte sind, die für einige Seiten vorhanden sein müssen, an denen die Arbeit auf unserer Anmeldeseite
gemacht hat, was ich versuche, etwas Fernes zu rendern, um einen Drilldown zu finden oder sich anzumelden oder sich anzumelden. Diese nennen einen Abschnitt namens Skripte, wo es einige Teilansicht nennt, so dass sexuelle muss für die Löwe Zehe Arbeit
für die Rede vorhanden sein . Denken Sie daran, dass wir eine einfach alte hier auf oder ursprünglich geschrieben haben. Wir haben diesen Abschnitt, den ich zuvor erwähnt habe, wo wir Skripte rendern. Alles klar, in unserer nächsten Lektion werden wir anfangen, diese leere Seite in den Admin LTTE Leo zu verwandeln. Es ist mit allen außerhalb des erforderlichen Abschnitts, so dass alle vier Ansichten es verwenden können.
47. AdminLTE und Dependencies einrichten: Hey, Leute, in diesem Hören, werden
wir unsere Anwendung mit dem Admin einrichten. Lt e Layout. Ich habe diesen Admin-Lt Admin gesehen, LTTE. Wenn Sie nicht wissen, was es ist, dann können Sie auf ihre Website zu bekommen, indem Sie den Admin l t e, dass ich Oh, nein, es ist. Ah, Bootstrap administrative Dashboard-Vorlage. Und, naja, eine sehr, sehr, sehr bequem. Also basiert es auf Bootstrap, und ich glaube, dass sie Versionen zu viel jede Version von Bootstraps hatten. Also im Moment verwenden wir Bootstrap vier. Die Version, die wir verwenden werden, ist also die neueste, die Bootstrap vier unterstützt . Sie haben auch Unterstützung für Spaß. Ehrfürchtig. Fünf Symbole. Also, das bedeutet, dass wir gehen durch auf möglicherweise ändern alte einige der vordersten , genial Symbole, die ich zuvor verwendet hätte, können wir behalten, aber dann werden wir fünf auch implementieren. Also, von ihrer Website, können
Sie auf ihre Donald Page gehen. Sie können zu einer Live-Vorschau gehen und Sie können auch dort besuchen. Holen Sie sich TOB-Repository, wo Sie nur können Sie einfach die gesamte Quelle herunterladen, die für
diese Vorlage erforderlich ist. Also werde ich zuerst auf die Vorlage gehen,
die Demo, und Ihnen zeigen, was es ist alles ein Boot. Wie Sie diese Navigationsleiste auf der linken Seite sehen können, haben
sie eine oben. Sie haben wenig Benachrichtigungssymbole auf, Nun, das Potenzial für die Datenanzeige und das Layout ist wirklich, wirklich, wirklich, wirklich erstaunlich. Da kommen sie, voll mit Bibliotheken fallen aus diesen bunten Charts, und sie haben eine Twisted auf Bootstrap Stylings gesetzt, wo Sie bestimmte Dinge kennen, schauen Sie ein bisschen mehr finden Umlaufbahnen, wissen
Sie, im Vergleich zum ursprünglichen Bootstrap Leo geändert. Es sind unsere Klassen, oder? Sie haben also die Dashboard-Version eine Vorlage, wo Sie wissen, dass es hübsch ist. Es ist eine andere Seite von verschiedenen. Du kannst die Spatzen und Ideen daraus bekommen. Und dann hast du die Version zwei, die alles ist, was wir uns ansehen. Nur wissen, So können Sie tatsächlich verbringen einige Zeit und klicken Sie auf eine Zeile und sehen Sie alle Diagramme, die verschiedenen Formen, die verschiedenen Tabellen, die sie gekauft haben. Dann möchten
Sie letztendlich zum Dokumentationsabschnitt gelangen, in dem Sie tatsächlich ein Boot lernen können, um es in Ihrer Anwendung zu installieren. Jetzt sind
die Installationsanweisungen nur in PM ausgerichtet, was mehr Taschen Manager Bore ist, die ein Paketmanager für JavaScript ist, oder Composer, das heißt, Ah, Paketmanager für Ph. B. Aber dann verwenden wir dot net core, also nicht Record hat seinen eigenen Pocket Manager in Form von new get und es geht zu einem
gewissen Grad ein geladenes Bower zu verwenden. Aber dann, persönlich, finde
ich es irritierender. Der Versuch, diese Art von Bibliotheken in einen dominanten Kern zu bringen, zumal es ziemlich einfach
ist, ist nur ein Kern, den sie uns gegeben haben. einmal ist
es Open Source. Also in diesem Video, verstehen Sie, um Sie auf die Beschaffung des Kabels auf die Umsetzung seiner innen aus oder Anwendung Nr., durch die Zeit aus. Diese Lektion admin LTTE zwei Punkt für ist die beworbene Version hier. Aber das ist nicht die Version, mit der wir gehen, also gehen wir, um aufzustehen. Ich werde sagen, ich weiß nicht neueste Version, die wird uns zu ihrem Repository für mittlere LTTE drei Punkte oder Punkt eins bringen. Also wissen, dass wir in diesem Repository in der gescrollt sind auf die ZIP-Datei mit allen aus ihrer Quelle erzielten. Und das gibt uns einen schönen, gesunden Ordner mit einem Haufen lesen Mies und ein paar mehr Vorlagen, die wir betrachten können. So kann der Tempel so früh nicht notwendigerweise von der neuesten Version sein. Also werde ich nur Teoh diesen Zehenordner auf meinem Computer extrahieren. Also habe ich es in meinen Download-Ordner auf Dann werde ich einfach eine von diesen Seiten öffnen. Also habe ich drei Indexseiten, die ich auf sehen kann, die auch jemand begonnen haben, jeden
zu öffnen und dass wir sie aus beurteilen können. Also habe ich den Index geöffnet, und das ist, was die Index-Reden anzeigen. So sehen Sie, dass die Widgets verstehen, dass etwas anders ist als das, was wir auf der Website
gesehen hätten . Wieder einmal zeigte
die Website wahrscheinlich 2.4, das auf Bootstrap drei basiert. Darauf zeigt 3.4 Punkt eins, der auf Bootstrap vier basiert. Sie sehen also einige , wie Verbesserungen in der Art und Weise, wiedie Dinge angelegt werden. Aber wir haben dieses Dashboard-Beispiel. Wir haben Dashboard, wo dies Dashboard drei ist. So haben Dashboard zum Beispiel, und dann haben wir Dashboard drei Beispiel auf, dann haben wir eine sehr, sehr einfache Probe, die Starter Now genannt wird, der Start einer Vorlage ist viel einfacher als die anderen Dashboards auf Wahrheit gesagt werden, basierend auf der Anwendung, die wir mit mir haben könnten oder nicht alle diese,
ähm,
Diagramme und Displays benötigen ähm, , richtig? Also für unsere Anwendung, die ein Urlaubs-Management-System ist, brauche
ich keine Gebühr. Ich meine, der Wischmopp von einem Land sind diese Art von Landschnappungen? Das brauche ich wirklich nicht. Also ist die gestartete Vorlage ein guter Ort für mich. Toe tatsächlich in der Lage sein, das Gericht zu untersuchen, um diese Übergänge zu meinem Projekt zu machen eine andere Sache zu bemerken, dass in den Anleihen aus Bränden, die wir bekommen hätten, sie hätten uns alle von den CSS- und JavaScript-Dateien gegeben, die erforderlich sind, um dies zu bekommen Dampf und Laufen. Und wir hätten auch ah, Reichtum off Plug Ins für alle aus den Charts, die Datentabellen auf alles, was innerhalb von enthalten wäre, was in
ihren Vorlagen angezeigt wird . Allerdings brauchen
wir nur ein paar von diesen Dingen, um offen laufen auf einem von denen ist der Starter, jemand nach rechts, klicken Sie auf Starter auf Öffnen Sie es mit. Ich habe kein Teil plus plus, wenn Sie es nicht haben, das ist ein großartiges Werkzeug, um einfach zu sehen. , Sie wissen,dass es offene und einfache Gerichtsakten markiert. Wenn Sie Visual Studio-Code haben, ist
das auch ein gutes Werkzeug für etwas, das kein Teil ist. Aber ich würde vorschlagen, dass Sie zumindest Pat plus oder Visual Studio Court kennen. Also werde ich einfach mit der rechten Maustaste auf Open With All By plus plus klicken, und das wird mir die gesamte HTML-Seite mit dem ganzen Team geben, ein Skelett, über das ich immer spreche. Sie werden darauf hinweisen, was einbezogen wird, was schnell und wo sie zu finden sind. So können wir diese Dateien innerhalb der Fans, die sich im Archiv befanden, beziehen und sie in unser Projekt im Visual Studio
übergießen , während wir den Dampf aufbrechen. Also das erste, was ich tun möchte, ist, alle von dieser Partitur auf kopieren, dann gehe ich zurück zu meiner Layout-Seite auf. Dann kontrolliere ich ein Onda und kontrolliere das Visum. Ich bin nur wir bewegen alles, was da ist, und ich füge diesen ganzen Block von
HTML ein. Nein, dabei hätte
ich einige Dinge wie den Renderkörperabschnitt auf entfernt. Wir werden das zurückstellen, aber Sie bemerken, dass sie Ihnen Kommentare geben, die uns irgendwie den Abschnitt vor
dem Gericht führen , den Sie gerade betrachten. Mein nächstes Hauptziel wäre es, sicherzustellen, dass ich die erforderlichen Stylesheets
im Projekt enthalten habe und dass meine Referenzen korrekt sind. Also sehe ich hier, wo sie ein Stylesheet innerhalb des dest Schrägstrich CSS-Ordners namens admin lt ee dot mean dot CSS haben. Also muss ich sicherstellen, dass ich dieses Stylesheet in meinem Projekt habe, und ich referenziere es richtig auf visuell. Student macht es relativ einfach, Dateien über jemanden zu bekommen, um zurück in den Archiv-Ordner zu gehen
,zu dissed zu
gehen, , zu diesem Ordner namens CSS zu gehen. Identifizieren Sie diese Datei auf, dann kann ich tatsächlich kopieren und dann zurück zu Visual Studio gehen. Dann wissen wir, dass in unserem Visual Studio-Projekt, um zu versuchen, diese statischen Dateien zu behalten, diese CSS-Dateien stattdessen innen von W W root CSS sind und dann kann ich es einfach in diesen Ordner einteilen. Nein, das schaffe ich. Gleiche Operation für oder Fonds. Ehrfürchtig. Also ist es in Plug Ins Fonds Awesome. Free CSS bedeutet alles, dass CSS Also gehe ich einfach zurück und versuche, das zu finden. Also war es Plug Ins auf der Vorderseite. Ehrfürchtig. Das ist kostenlos auf dann CSS auf. Dann war es alles, was bedeutet, dass CSS ich dasselbe tun werde, wo ich kopiere und dann zurück zum
Visual Studio gehe . Rechtsklick in CSS Onda Stück. Nein, an diesem Punkt sind eigentlich vergessen, Holder, richtig? Der Pfad zu den CSS Narren verstehen? Um zurück in meinem ursprünglichen Leo pH Nur für einige Inspiration auf. Dann sehe ich hier, wo die HR sein sollte, bis Tag Schrägstrich CSS die Dateiteile geschrägt hat. Verstehen Sie die Kopie, die Feuerpfad zum Volleren da umso schneller und das scheint CSS voller. Und dann kann ich einfach den relevanten Teil so gut ersetzen, diese ccs bereits CSS-Arien. Ich kann tatsächlich sagen, bis sie CSS auf. Dann, nur um sicherzustellen, dass Sie an der richtigen Stelle, können
Sie tatsächlich entfernen Sie diese Ihre Steuerung auf Platz und dann wird es alle Dateien auflisten . Wenn du alle Fakten siehst, bedeutet
das, dass du den Pop geschrieben hast. Teilweise. Also bin ich der Erste, einschließlich der Admin-Lt. Nein, das ist falsch On zuerst, einschließlich allem, was nicht CSS auf bedeutet. Dann werde ich nur diese eine Zehe ändern, die die admin lt CSS-Datei enthält. Nun kapselt
die Admin-LTTE-Datei ziemlich alle unsere Bootstrap-Klassen, so dass wir immer noch
zugreifen können oder die Klassen von Booster, die wir in der Liebe kennen. Wir müssen eigentlich nicht auf Bootstrap verweisen. Ich öffne gerade die ltte dot CSS-Datei, so dass Sie sehen können, dass es wirklich viel von den Bootstrap-Klassen in der Bootstrap-Version auf diesem 4.3 Punkt verwendet. Also die meisten dieser Klassen, wenn nicht immer noch funktionieren, aber sie hätten ihren eigenen Twist Zehenhalt gesetzt. Sie würden auf dem Bildschirm ausgegeben werden. Mein nächstes Hauptziel wäre es, die gleichen Schritte mit unserem Job zu tun, ein Skript Dateien. Also sehe ich hier, wo sie die g Anfrage brauchen. Aber wir haben schon Jaker. Wir haben bereits Bootstrap, aber wir brauchen die admin LTTE, die Js-Datei Also, wenn ich
in die GS Well,
nicht Jair bohren in die GS Well, . Tut mir leid, die Lib auf. Dann werden wir in Bootstrap gehen, das auf Js disponiert ist. Wir haben auch das gleiche für Jake Worry, so dass ich einfach die Referenzen für Jake Worry und
Bootstrap ändern kann . Eigentlich kann
ich einfach zu meiner Abstimmung über die Wiederverwendung dieser Referenzen zurückkehren. Das ist also der J. Corey und das ist der Bootstrap. Ich werde diese kopieren und dann werde ich nur diese Referenzen ersetzen, weil es auf den gleichen Satz von Dateien
verweist, dann für den Admin LTTE auf ging Toe in
den Js-Ordner innerhalb ihrer dist gehen müssen . Suchen Sie die G s Dateikopie, auf der sie sich befindet, und legen Sie sie dann in das Projekt ein. Also werde ich das einfach von der GS-Sektion hineinlegen. Dann kann ich einfach meine bis dort benutzen. Also dann ist das immer noch dieser Schrägstrich gslash admin LTTE, der bedeutet, dass gso Nein, ich habe meine Js-Dateien und meine CSS-Dateien enthalten. In Ordnung, also haben wir ziemlich viel Arbeit gemacht sind einfach, wie es auf DNO scheinen mag. Ich möchte eine Vorschau anzeigen, wie diese Rede aussehen wird. Also, bevor ich das mache, lass mich den Titel einfach so dynamisch einstellen, wie er früher war. Irgendwo zurück zu Leo. Und du findest, dass du viel langweilig von dem bestehenden Leo oder Paige bist, weil ,
ich meine, du,
ich meine,viel daran gearbeitet hast. Anstatt neu zu
tippen, werden Sie verwendet, viele Dinge wiederzuverwenden. Daher empfehle ich, dass Sie es nicht löschen, zumindest noch nicht. Einige kopieren nur den vorhandenen Titel auf Ich füge es in den neuen Leo Peach auf. Es gibt andere Dinge, die übertragen werden, aber im Moment möchte ich nur, dass wir sehen, wie die Seite aussieht. So verstehen Zehenvorschau, dass ziemlich schnell. Und wenn wir das tun, bekommen
wir dieses sehr böse Ackerland ein Steak oder Zeit und lesen, was es zu singen. Es heißt also, dass wir eine ungültige Operation Ausnahme haben, bei der der Renderkörper nicht für Seite bei
aufgerufen wurde und dann nur den ganzen Pfad über dem neuen Trikot auflisten. Die Schlüsselübernahme ist also, dass es sich über den Renderkörperabschnitt beschwert, so dass keine Renderkörperfunktion aufgerufen wird. Denken Sie daran, in unserem ursprünglich Hafer, wir hatten diesen sehr,
sehr entscheidenden Abschnitt, wo wir sagten, Render Körper. Also müssen wir sicherstellen, dass admin LTTE weiß, dass es Körper abgeben sollte Nein basierend auf den Abschnitten, die für die Seite gegeben sind, wir wissen, dass der Körper sollte irgendwo mit Inhalt nicht gesündigt werden genug Bar nicht in der Seitenleiste. Das MIT-Sidebar-Menü kaufte mehr in der Content-Ära. Also sehe ich hier von Inhalt oder oben und dann habe ich einen Abschnitt, der sein gemeiner Inhalt ist. Das bedeutet also innen aus meinem Hauptinhaltsbereich. Ich sollte Körper rendern. Also das sind alle Beispieldaten, Wie Sie wissen würden, aus dem Blick auf unsere Leo Tür oder Starter-Beispielseite, das ist alles. Nur ein Probedatum. brauche ich wirklich nicht. Also werde ich eigentlich nur den ganzen Abschnitt Haute abnehmen. In der Tat beginnt
es von der Starterseite. Also alles, was in der Deve Container Flüssigkeit ist, werde ich entfernen oder gut, tatsächlich, ich werde nur aus dem Inhalt zu sehen. Rapper so Inhalt Dash Rapper Alles, was in Inhalt ist. Dash Rapper, ich werde entfernt. Ich nehme nur das ganze Boot ab, oder? Alles, was es verwendet wurde, das Pluszeichen, bis gut, das Minor Zeichen Zehe, Sie wissen, verdichten die Abschnitte. Na gut, dann werde ich den Hafer ausziehen. Ich werde meine Funktion setzen, um Körper zu rendern. Nein, was? Ich mache das und speichere und aktualisiere. Das ist es, was wir am Ende haben, wo Schwester ein paar Wege zu gehen hat. Aber das ist Fortschritt. Sie können hier sehen, dass das neue Layout auf unseren Inhalten angezeigt
wird, oder? Nein. Wir müssen sicherstellen, dass unsere Navigationsleiste unsere Navigationslinks missfällt Sind nicht die Sumpf Links? Nein, Zurück in unseren Layouts
gibt es wenige Referenzen, die ich sicherstellen möchte, dass ich von Nein einschließe, damit ich später vergessen werde. Also gehe ich zurück zu meinem Leo Ph und das sehe ich. Okay, ich habe einige Kernbibliotheken über jemandem, um sicherzustellen, dass ich auf diese
Bibliotheken innerhalb dieses Layouts verweise und sie über den Doc-Typ gehen. Andi,
ich werde einige dieser Stylesheets referenzieren, also habe ich ein Stylesheet für meine Tabelle nach Datentabelle. Ich habe einen zum Spaß. Awesome auf. Ich habe einen für meinen Geek. Wo bist du klug? Ich werde nur alle drei nehmen, obwohl ich das Geld nicht wirklich brauche. Ehrfürchtig. Eine dafür, weil wir die Version von vorne ändern. Ehrfürchtig. Irgendein Bogenschütze Justin, das zu löschen. Ich habe das nur getan, weil es einfacher war, nur drei Zeilen zu nehmen und eine zu löschen. Ähm, also haben wir alle unsere CSS-Referenzen auf. Dann werde ich sicherstellen, dass ich auf meine Datentabelle sowie meine G und G verweise . Query reichte jemanden ein, um diese auch zu kopieren und sicherzustellen, dass ich diese Skripte am
unteren Rand der Seite einschließe. Und dann zusätzlich zu diesen Skripten sicherstellen, muss ich
zusätzlich zu diesen Skripten sicherstellen,dass
ich die Skript-Abschnitte rendere. Ich bin auch eine Einheit, die es auf einem Platz macht,
aber das ist in Ordnung. Also stelle ich nur sicher, dass ich alle Referenzen von vorhandenen Lasten berücksichtigt habe weil ihre Seiten, die von diesen abhängen. Also, wenn ich wenig ändern würde, dass wir sicherstellen wollen, dass diese jetzt enthalten sind, eine andere Sache ist, dass ich meine, es ist wie ein Fehlurteil mit unserem Bootstrap-Bundle, wo es Bootstrap
Dot gebündelt Männer nicht auf dem Bootstrap Punkt-Js-Datei. Also musste eigentlich diese Datei einschließen, und wir fanden sie in Brogan's Js Sorry. Plug Ins. Bootstrap Js in der Datei ist Bootstrap Punkt Bonded up bedeuten, dass GSC das kopieren könnte. Probieren Sie es innen aus dem GS-Ordner neben l admin lg, die Dot Js auf Mühle Dann fixieren Sie die Referenz entsprechend, um sicherzustellen, dass es enthalten ist. , Eine andere Sache,die ich weggelassen habe, war lustige Akte für unsere Gelder. Ehrfürchtig. Aufgefallen, dass wir Quadrate haben, wo Sie die Symbole lassen sollten. Und das liegt daran, dass Sie den Webfonds-Ordner nicht aus dem Fonds übernommen haben. Ehrfürchtig. Das ist kostenlos. Also werde ich nur diesen Ordner nehmen und ihn kopieren, und wir müssen ihn in unserem Projekt in einem sehr relativen Teil relativ zu CSS einfügen. So bemerkt, dass es neben dem CSS-Ordner ist. Also Waffen haben Akten? Sicher, aber dann relativ zum CSS-Ordner dort auf den gleichen Ebenen müssen sicherstellen, dass ich
diesen Ordner kopiere und ihn in unserem Projekt relativ ablegen, um beurteilen zu sehen. Der einzige Ort, an dem ich es relativ zu CSS platzieren und nebeneinander haben könnte, ist, wenn ich
Webfonds als unseren Ordner innerhalb des W Root-Ordners oder unseres Abschnitts lege , also können verschiedene Leute ein wenig anders sein. Ich versuche nur, es einfach zu halten. Also nach diesen Anpassungen und Neuladen oder Frieden und wir beginnen über Symbole zu sehen, so Sie sehen, dass kleine Chat-Symbol, das Glocken-Symbol und wo sie Quadrate waren. Es gibt kein Symbol. Also nein, wir haben oder Symbole auf und laufen auf. Wir können mit oder Modifikationen fortfahren. Nein, ich habe gesagt, dass wir die Navigationseigenschaften ändern sollten, und ich werde Schritt für Schritt gehen. Das ist also die Noppleiste auf, die die obere Notenleiste ist. Also dieser ganze Abschnitt, wenn ich einfach auf die Rede klicke, die genug ist, können
wir scrollen, bis wir den nächsten hervorgehobenen sehen. Und wir wissen, dass all das die Noppleiste ist, und dann hat unsere Nummer Abschnitte für die oberen Balkenlinks. Also, wenn wir Links oben auf trocken wollen, nein, sie geben uns 14 nach Hause auf einem für Kontakt. Wenn wir sie dort haben wollen, können wir das Motiv ändern. Wir wollen mehr, als wir nur duplizieren können. Und noch mehr. Ich möchte nicht genug Navigationslinks oben. Einige wollen nur Casey steuern, um zu kommentieren. Der Graben. Ich kommentiere die Gräben, aber du kannst ihnen glauben, wenn du willst, während du sie alle begehst. Denn vielleicht finden wir später Gebrauch für sie, richtig. Und es ist einfacher, die Vorlage zu behalten, als sich daran zu erinnern, wie sie aussah. Also brauche ich diese Suchleiste nicht, zumindest noch nicht. Also kommentiere ich das auch dann zu den Rechten. Sie sehen, dass wir eine Nachricht haben. Also kann ich eigentlich einfach in die Vorschau gehen, wie das Nachrichten-Drop-down-Menü aussieht, Ordnung. Und dann, sehen
Sie, haben
jetzt ein paar gebrochene Bilder. Aber wir haben die Bilder nicht überholt, weil man sie nicht unbedingt braucht. Aber im Moment brauche
ich keine Nachrichten. Benachrichtigung am. Wir sehen, dass wir die kleine Glocke mit der Benachrichtigung Surround haben. Ich brauche keine von diesen Benachrichtigungen, also werde ich nur die alten t, aber es wäre wirklich cool, wenn vielleicht für jeden Urlaub Anfrage oder jedes neue Element, das kommt, dass Aktion erfordert. Wir zeigen nur eine Nummer da draußen für das auf Das wäre wirklich cool. Aber
ich entferne sie, weil ich sie wirklich nicht brauche, oder? Nein, Dieser gesamte Abschnitt von der offenen bis schließenden UL würde das Recht innerhalb von der
nie nie Bar darstellen und so kann ich es tatsächlich einfach verdichten oder alles zusammenbrechen, und ich
werde den Typ oder die Kommentarkabel, die das ist ein Anzeigenzeichen an und an. Asterisk Andi wird es fast automatisch für mich öffnen und schließen. Jemand hat den Zeh erwischt. Dann muss ich sicher sein, dass ich schließe die U sonst verstehen den Punkt,
den Kommentar am Ende der USA
. . Wissen
Sie, all das wird noch einmal kommentiert, Sie könnten es löschen, aber lassen Sie es für den Fall, dass wir es später wollen, als Sie es haben können. In Ordnung, also ist unsere Liebesbar oben ziemlich leer. Es ist buchstäblich nur da als genug Bar, und es ist kein Käufer Armaturenlicht. Es ist weiß drauf. Ich meine, es ist es, es ist da. So kann es hinzugefügt, kann subtrahiert werden. Es ist weder hier noch da. Was das nicht Käufer tut an dieser Stelle Unsere Kinder zweite Gedanken. Ich erinnere mich nur daran, dass es eine Portion von diesem Knave gibt, die ich wirklich brauche. Und das ist der Teil, um ein zusammenklappbar zu machen. Also dieser Abschnitt, den Sie wissen, kann
ich darauf klicken und es erweitert oder es Verträge tatsächlich wollen, dass auf dem in der US-Sektion für Schubstangen
angerufen wird . Also, wenn ich dem Abendessen sehr nahe schaue, sehen Sie oben die genug Rinde, die wir tatsächlich haben ah auf geordnete Sektion, die ich früher kommentiert
hätte. Hat es die genug Kredite für das Haus, den Kontakt, aber es oben hat es einen Abschnitt für das Push-Menü oder die Käufer. Also, was ich tun werde, ist nur auf Befehl diesen Abschnitt, weil ich wirklich will, dass Abschnitt so kontra Okay, du auf,
dann, was ich tun kann, ist nur empfehlen Haute, die beiden Links, die ich wirklich nicht brauche. Also will ich nur den Teil mit den Pillen, die viel Mito mir die Seite Käufer gehen in Ah Routine , schrieb Nein vier oder mich in Sidebar Wir würden sehen, dass es etwas Toe vielleicht die
Indexrede hat , weil die Probe Andi I Das ist in Ordnung. Das ist verständlich, dass Sie damit kommen, aber wir können immer alles ändern, was e treff. Also etwas anderes. Ich werde nur einen Hashtag setzen, so dass es nirgendwo geht. Es behält seine Klasse auf. Dann wartet es auf ein Bild. Also werde ich kein Bild setzen. Ich habe kein Bild, aber dann können Sie in einem späteren Zeitpunkt
vielleicht die Anwendung ändern, auf der es einen Avatar für einen Benutzer akzeptiert. Dann, wenn die Benutzer lieben, dass ABBA-Reifen angezeigt werden. Also werde ich nur zu kommentieren alte dieser Abschnitt für ein Bild auf dann für diese gesponnen sexuellen als sein Admin LTTE drei. Ich werde es den Namen von unserer Anwendung sagen lassen, was anders gesagt ist, lassen Sie die Verwaltung für diesen Abschnitt von der Seitenleiste. Ich wollte die Protokollierungsabschnitte anzeigen. Denken Sie daran, dass wir eine Protokollierung haben, ähm, Partner protokolliert und registriert sich. Das hatten wir bei der vorherigen, äh, Leo. Es ist, wo wir die sechs John in der Navigationsleiste hatten, und es war wirklich ein Teil, das gedruckt wurde. Also das Gericht für die Login-und Register-Links sind wirklich innerhalb dieser partiellen. Also möchte ich, dass dieser Teil in diesem Abschnitt gerendert wird. Also ging ich zu Mantel den Inhalt dieser Sidebar auf Ich werde es mit der par
show für unsere Protokollierung Hunderte ersetzen , die Tasten auf. Dann werde ich nur einen kleinen visuellen Effekt hinzufügen und eine horizontale Regel setzen, so dass es eine kleine Linie
gibt , um zu zeigen, wo dieser Abschnitt dort beginnt, wo der nächste Abschnitt beginnt. Ordnung, also hat unsere Arbeit jene hervorgebracht, die wir mit Abschnitten des dummen Managements verändert haben . Wir haben die Werkzeuge, und wir werden irgendwo Sterne darauf setzen, weil bemerken, dass sie sichtbar
anders sind als halten. Die anderen Links sehen aus, aber für wissen, dass sie auf Nein bleiben können, müssen
wir halten ändern. Diese Dinge sehen so bemerkt aus, dass Sie einen Abschnitt haben, der herunterfallen kann. Sie haben ein einfaches ing, also werde ich einige Links erstellen, die wie das einfache ing aussehen. Dann erstellen wir einen Dropdown-Abschnitt für unsere Liebesleiste, also zurück in unsere Schnur. Also werde ich diese Transformation beginnen, indem ich dies nur seziert, nicht ein bisschen Barcode. Also haben wir die UL auf getan. Es hat alle Klassen, die erforderlich sind, um es zur Seite zu bringen. Und dann haben wir das erste Listenelement auf diesem, wie ein Listenelement einen Klassiker
hat, hat Baumansichtsmenü öffnet sich, und dann hat es einen Link auf dann eine andere auf Bestellliste darin. Danach haben
wir auf Listenelement, das die Wörter einfach ing hat. So kann dieser Listeneintrag unsere Vorlage für nicht erweiterbare Link-Elemente auf diesem kann unsere Vorlage für erweiterbare Link-Elemente sein. Ich werde das hier nehmen. Das ist ein einfaches ing. Ich werde es schneiden, Andi. Dann legen wir es über die eine, die sagt, hat Baumansicht Nein für unsere Simple Inc. Wir werden ein paar Änderungen vornehmen,
bemerken, dass wir einen Knöchel-Tag haben und es zeigt auf nirgends. Also gehe ich einfach zu unserem ursprünglichen Leo zurück. Dann werde ich die relevanten Teile für die Zehe kopieren Haben Sie einen Link jemand, um den SP-Bereich
SP-Controller SB Action Abschnitt aus dem Ankerschlepper zu nehmen , weil ich diese erste einfache ing zu Hause jemand zu sein, um eine wahre, wenn mit denen mit denen zu ersetzen, die Attribute auf, lassen
wir die Klasse eingeschaltet. Dann ging ich, um das Symbol von FAA Dashti im Alter ändern Wenn ein Bindestrich nach Hause und bemerkte Visual Studio macht diese Vorschläge, weil die CSS-Datei forefront genial ist nicht Teil
des Projekts auf dann bin ich mit der Chance auf den Text von einfachen ing toe nach Hause Also auf diesem hier zu Hause zu bleiben und ich brauche diese Spannweite wirklich nicht. Alles klar, auf, es ist gut. Es ist eine gute Idee, den Tempel, den sie Ihnen geben, irgendwie zu behalten, denn wenn ich diese p-Tags entfernen würde, wäre das Layout etwas anders als was ich in der vorherigen sehe. Sie müssen also sehr vorsichtig und bewusst sein, wenn Sie Änderungen vornehmen. Wenn Sie das ursprüngliche Aussehen behalten wollen und fühlen, so habe ich die Heimatstadt und ich werde dieses Tool mal
duplizieren, weil ich auch die Tack, die sagen Tuck, die sagt Bewerben für Urlaub auf auch eine, die meinen Urlaub sieht So gehen zurück zu den ursprünglichen Links Wir hatten einen. Das war's. Bewerben Sie sich für Mietvertrag Ich wähle oder nehme alle diese Attribute von diesem Link an platziere sie
dann in meine zweite Simple Inc, die sie ersetzt. Und dann wird der Text für Urlaub beantragt werden. Also diese Kopie das. Also mache ich viel vom Kopieren und Ersetzen bestehender verkauft das gleiche für meinen Urlaub auf DENR. Ersetzen Sie diese Attribute entsprechend. Ich muss die Klasse wirklich nicht überbringen, weil Sie bemerken, dass die Klassen jetzt dash link. Und ja, da ist Text weiß. Aber es sagt jetzt dash link bereits in oder Onkel Attacken sind wirklich löschen. Stellen Sie das wieder ein. Also ersetzen Sie einfach die echten Ereignisattribute, so dass Onkel Tags alles arbeiten, was wir erwarten, dass sie nicht für den nächsten Abschnitt
arbeiten, der einen Tropfen enthält. Erinnern Sie sich nicht daran, dass oder Drop-down von oder Original Liotta Bean aktiv oder sichtbar
nur dann haben würde , wenn jemand sich noch mehr anmeldet, wenn er als Administrator sendet, also können wir diese Schätzungen tatsächlich wiederverwenden. Ich werde nur diese Aussagen nehmen, gehen Sie zurück, dann werde ich es einfügen. Dann wird alles eingerückt und aus der Arbeit. Aber das ist kein Problem, denn am Ende, abseits dieser Verbündeten, werde
ich nur zwei Rassen nur die Klamotten von den Aussagen setzen. Dann alles aus, unser Code wird richtig neu ausgerichtet. Also, wenn die Person angemeldet ist und wenn sie verwaltet wird, dann wird sie diesen Dropdown-Abschnitt sehen. Und dann muss diese Drop-Down-sexuelle die gleichen Verbindungen haben, die in den Drang waren. Nein, die oberste Ebene außerhalb der Drop-Zone hatte das Wort Mann, es ist verstehen, das Wort verwalten zu nehmen, und ich werde den allerersten Link durch dieses Wort ersetzen. Der Inhalt von der Spitze der meisten, ähm, Element oder Navigationselement in der gesamten Tropfen bekannt sollte verwalten beachten, dass das Recht davon wird er ein Symbol Nazis Onkel links haben, so ist es irgendwie wie ein Drop-down. Es wird umschalten, wenn es, weißt
du, Hoffnung bekannt ist, Ähm, und dann die Tackle-Meter. Also gehe ich durch und ändere diese Symbole später. Aber nein, wir wollen uns nur auf die Navigationsleiste Elemente und die Links konzentrieren, um
sicherzustellen, dass sie an die richtige Stelle gehen. Dann wäre der Inhalt von unserer genug Bar unter genug Staub Überprüfung und Sie sehen, dass wir Ling's hier haben Was wir brauchen vier. Einige gingen einfach auf die Kopie und streichten noch zwei Mal eins von ihnen. Und dann können wir über die Operation beginnen, wo wir anfangen, den ganzen Text auf den Referenzen zu ändern sind die eine Reise. Also werde ich das schnell machen. Wir haben ein paar bereits Jemand, um das Video zu pausieren sind Sie können ein Video direkt hier pausieren und versuchen, sich selbst auf, wenn Sie Pause wollen. Ich hätte es schon getan, und dann können wir danach einfach vergleichen. Also, am Ende der Übung solltest
du etwas haben, das so aussieht, wie ich auf dem Bildschirm habe. Ich nahm auch die Freiheit weg, das ganze Symbol zu ändern. Also habe ich so etwas wie eine Liste für die Blatttypen. Haben Effie Dash Angelis für Zuteilungen auf Eigentlich tat dies blind. Aber alles, was es großartig war. Effie Dash und dann ein wenig bizarr abgetreten, um Zehe vorzuschlagen, was ich zur Verfügung habe, um mir auf. Ich traf blinde Entscheidungen. Wissen Sie, wenn Sie keine Landentscheidungen treffen wollen, können
Sie immer finanzieren. Ehrfürchtig. Aber komm schon. Da wir Version fünf verwenden, können
Sie fortfahren, um Symbole auf. Dann können Sie alles sehen, was verfügbar ist. So ziemlich. Wenn Sie in der Intelligenz aufgeführt sehen und Sie wollen wissen, wie es aussehen wird, dann sind die Chancen auf mehr als wahrscheinlich, können
Sie gehen über zu Front Awesome die Website auf Nur geben Sie es in auf. Dann wird es Art von Filter geschrieben und Ihnen zeigen, wie Ihr Symbol aussehen könnte. Eine andere Sache zu bemerken, dass mehr als wahrscheinlich wird es die kostenlose Version von dem, was Sie
in der Auflistung für die 1. 3 Navigationslinks sehen . Ich habe auch Änderungen vorgenommen, weil der Autor von ihnen das Home-Icon gehabt hätte. Also bin ich die alten auch Andi geändert,
Ich werde eine weitere Anpassung vornehmen, und das ist auf die Anmeldeseite, denn wenn Sie beobachten und lassen Sie mich einfach zurück zu meiner Seite gehen, wenn Sie beobachten, dass das Protokoll in Ling's nicht ganz aussehen, um ho oder Nuss Bars zu mögen, Links aussehen. Also wollen, dass alles so weit wie möglich einheitlich aussieht. Jemand, der das Layout von unserer partiellen Protokollierungsseite ändern kann. Wir werden sehen, wie das funktioniert. Das ist also das Login teilweise pidge Andi. Wie Sie sehen können, die UL, es fehlen einige der Klassen, die die U els für unsere Sidebar benötigt. Wenn wir also eine der vorhandenen betrachten, sehen
wir, dass es Klassen hat. Liebe, knave Dash-Scheine haben jetzt Strich Sidebar und Flex-Säulen. Ich werde alle diese Klassen nehmen und sicherstellen, dass sie innerhalb des
Protokolls unparteiisch vorhanden sind . Also nein, die nicht Bar wird etwas mehr wie das aussehen, was wir bereits auf haben. Dann müssen die Listenelemente innen, die Sie mehr wie die Listenelemente im
Inneren des vorhandenen aussehen . Also diese Listenelemente haben sie das Knöchel-Tag an, dann haben sie das Symbol, das natürlich optional ist. Aber es ist da und sie haben einen P-Schlepper. All diese Dinge arbeiten tatsächlich zusammen, um die Art von Effekten zu geben, die wir eine
gewisse Disziplin benötigen . Eine kleine Modifikation hier sind wirklich ihr Onkel Targa, nur Bremsleitung. Bringen Sie den Text rüber. Also dieser Text ist, was sagt hallo Person, die eingeloggt ist. Also möchte ich, dass das angezeigt wird. Also wollte ich in einer Pita angezeigt werden. Dann werde ich ein Symbol genau das gleiche auf das Symbol einfügen. Hier kann vielleicht sein, wie eine Silhouette von einer Person. Also werde ich sagen, Symbol, Schlepper Klasse und dann meine f e oder F E s diesmal, weil sie Hafer wechseln. Die Front genial. Also ist es F e s. Und dann, wenn e Bindestrich an, werde ich sehen, Benutzer dash out. Das
heißt, dieses Symbol wird neben den Personen angezeigt, die die verwenden, sobald sie eingeloggt sind. Als nächstes ist diese Schaltfläche, und die Änderungen, die ich vornehmen werde, werden ziemlich ähnlich sein. Also werde ich all diesen Inhalt nehmen, das Wort Gesetz Ziege
ersetzen, dann im P-Tag, Nun, es wird niedrige Ziegen sagen. Das ist also Gesetz. Ziege am Tag schlachtete die Pete. Ich habe da gebissen, damit ich das wieder mache und es diesmal richtig mache. Stattdessen ist das Blockboot, von dem Peter auf für das Symbol. Ich werde etwas tun. Wie wenn eine Botschaft, sie haben irgendetwas über Unterzeichnung auch. Da gehen wir. Ich habe unterzeichnet, während das Zeichen in wir alte unterzeichnet haben. Schrecklich. Also f e d melden Sie sich jemand, um die anderen beiden aus dem Bildschirm zu ändern, und ich fordere Sie auf, Mods zu treffen. Wählen Sie in Symbolen auf Null. Benutze deine eigene Kreativität, aber ich werde es tun und dann können wir das Gericht danach vergleichen. Also habe ich zwei Icons, die ich enthalten eine namens Effie Dash für jeden registriert, der
bereits mit uns surfen will . Was auch immer. Nur die Verbindung. Und dann haben wir uns Benutzer für die Protokollierung ausweichen. Also ich meine, ich wiederhole ein paar I-Teiche um den Ort, aber letztendlich, noch
einmal, können
Sie Ihre eigenen Symbole wählen und tun, was für Sie richtig ist. Was? Ich werde all diese Änderungen speichern und zu meiner Altersreversion zurückkehren. Siehst du die Früchte von meiner Arbeit? In Ordnung. Und so sehe ich ein Nest sind für Register auf der Silhouette für Login. Und nur um sicherzustellen, dass ich das Gericht richtig geschrieben
habe, werde ich nur darauf klicken und zusehen, wie es expandiert und richtig zusammenzieht. So wie es in den ihnen über den Text vollständig verschwunden und nur das Symbol zeigen . Wenn Sie die Todd's oder die Listenelemente für die Navigationslinks nicht richtig geschrieben haben,
dann, wenn Sie versuchen, den Vertrag, dann ist es vielleicht nicht so sauber sagen, dass ich das überprüfen möchte. So oder so, ich werde das Gericht dafür zur Verfügung stellen, damit Sie immer überprüfen oder ersetzen können. Nun, das letzte, was ich tun werde, ist, den Inhalt unserer jetzt unsere vier Fußzeile zu ersetzen . Ich wollte ein bisschen offizieller sein, aber es ist immer gut, Kredit für die Personen zu geben, die die Themen und die
Open-Source-Dinge, die Sie erstellen . Also habe ich eine Fußzeile Nachricht hier auf diesem Filter. Miss es ist auf der rechten Seite gestylt und ich erstelle einen Link Toe Admin. Lt e dot io Andi. Ich behalte diese ursprüngliche Fußzeilennachricht aus unserem vorherigen Layout. Also werde ich mich nur als Admin anmelden, damit wir den Rest genug Käufer sehen und das Wort, das wir getan haben, wenn ich auf die Anmeldeseite gehe,
überprüfen können. Siehst du das? Diese Seite könnte etwas Arbeit verbrauchen. Es braucht einige Modifikationen, um in das Thema Besser passen. Aber ich werde das für Nein allein lassen und als Admin einloggen. Und wenn ich das mache, sehen
sie ein paar Quadrate. Wo? Wo Symbole sollten Some Justin sein, um zu überprüfen, was mit dem Code Onda passiert. Okay, also sehe ich hier, wo ich habe, wenn sie stattdessen weg sind, wenn er so ist, dass es
vorher gewesen sein könnte . Die Temperatur kann mit F e r für diesen Abschnitt kommen, aber ich möchte es ändern o f a s, weil das ist, was ich wirklich will. Dann speichern. Und dann lassen Sie uns das noch einmal überprüfen. Alles klar, das ist eher so. Also, nein, wir sehen auf einer ist immer noch vermisst. Was? können wir später reparieren. Also haben wir wenigstens Fortschritte gemacht. Wir bekommen Symbole, und wir können sehen, dass wir dieses Dropdown-Menü für bestimmte Nun,
für den Admin auf, wenn wir nicht in diesem Admin geliebt werden, wir werden nicht sehen, dass auch, wenn wir protokolliert sind und wir sehen, dass es sagt hallo auf dem Benutzer auf Wir haben unsere niedrige Ziege Link. Wie viel wirst du das Wort „Hallo“ entfernen? Und ich werde nur drucken. Oh, es ist die E-Mail-Adresse, die mit jedem verknüpft ist, der eingeloggt ist. Das sind also die Änderungen, die ich vornehmen werde. Ich werde dieses Symbol reparieren. Ich werde das Wort Hallo auf entfernen. Ich werde sehen, was mit der Anmeldeseite los ist, und ich werde all diese mit Ihnen teilen. Aber wenn Sie unsere eigenen bis zum Ende stecken und, wissen
Sie, das Admin-Panel so aussehen
lassen, dann gute Arbeit an.
48. Grundlegende Layout und Ergänzungen: Hey, Leute, willkommen zurück in dieser Video-Lektion, die einige wesentliche Korrekturen durchlaufen wird, die wir uns zu unserem Layout treffen
würden. Also habe ich das vorherige Video verlassen sagen, dass ich das Schlüsselwort hello aus dem
Abschnitt entfernen würde , in dem wir den Benutzernamen anzeigen. Ich habe die Symbolreferenz korrigiert. Ich hatte die Liste zunächst verletzt und das war nicht in meinem Fonds-Set enthalten. Also änderte ich es in User Plus und machte eine noch kritischere Lösung für das Lay. Auch, wenn Sie sich erinnern, als wir unsere Login-Seite hatten und ich nur zu diesem Strand navigieren wöchentlich, es war, wissen
Sie, an die Seite Käufer befestigt oder zu nah, um durch diese Marge zu entscheiden war nicht genug definiert. Und so war jede andere Seite so freundlich wie das Rendern. Also meine ich, diese Reparaturen vor der Kamera, und ich zeige sie dir einfach. Ähm, also für über gut, für über lange, unparteiisch,
alles, was das hallo Schlüsselwort aus dem Abschnitt beherrscht, der den Benutzernamen rendert. Ich hoffe, wir fühlen uns alle wohl mit Symbolen von Nein, also ist das so. Ich habe das Quadrat und das Symbol repariert, das die Parität sicherstellte. Also habe ich es geändert, um ihren Bindestrich plus zu benutzen, damit das immer gut ist. Wenn Sie einen ausprobieren und stattdessen das Quadrat erhalten, versuchen Sie es
einfach mit einem anderen. Und dann war der wichtigste Abschnitt, der über Leo betroffen war unser Content-Bereich. Also hatte ich ein bisschen zu viel Gericht aus unserem Inhalt entfernt. Und so wurde es nicht richtig gerendert. Also brauchte ich einen give namens Inhalt Ash Header, der seine Flüssigkeitsbehälterflüssigkeit innen hatte , dass wenn und dann einen anderen hinzufügen, der Inhalt mit einem Container-Bindestrich WoUid auch geben und in dem wir den Körper gerendert haben. Wenn ich also zur ursprünglichen Vorlage zurückgehe, können
Sie beobachten, dass dies der ursprüngliche Code war. Wir hatten Inhalt, Referendum es bei einem Haufen von Beispielinformationen und dann hatte es Inhalt mit einer Reihe von Beispielinformationen. Also hatte ich versehentlich zu viel aus diesen Dips entfernt. Also was? Dass es sie wieder eingeführt wurde und dann dieses Mal gerade von der Regel entfernt wurde und dann
durch den Renderkörper und so über Inhalt ersetzt wird, ist kein korrektes Rendern. So können Sie Positivität direkt dort und kopieren Sie den Einkaufswagencode. Wenn Sie, Nieto, aber ich werde vorwärts drücken und ich werde ein paar andere Modifikationen an einigen
bestehenden Elementen in unseren Augen machen . Also ging ich rüber auf unsere Blatttypen Seite auf. Wir schauen uns die Datentabelle hier an, so dass einige von den Symbolen fehlen Hinweis Einige von ihnen sehen anders aus, aber dann der Stift, so dass es fehlte. Also müssen wir sicherstellen, dass nein, dass wir die Version vom Fonds geändert haben. Tolle Symbole, die Sie nicht durchgehen und sicherstellen, dass unsere Symbole für jede Seite angezeigt
werden . Also fehlen sie bei der Zuteilung von Angestellten. Beachten Sie den Text in unserem Urlaub Anfrage Seiten, Nicht ganz, wie wir es gelassen haben. Zumindest ist alles in Ordnung mit unseren Mitarbeitern Rede. Eine andere etwas irritierende Sache ist, dass diese Verbindung immer aktiv zu sein scheint. Also werde ich dieses Ding modifizieren, damit es nicht immer aktiv ist. Also beginnend mit der Änderung aus dem Link, wenn wir uns das Gericht für den Link ansehen, sehen
wir, dass es eine Klasse namens aktiv hat. Also verstehe ich, das zu entfernen Also alle Links suchen nach, wenn wir wollten, dass es die
Aktivität ändert , dann müssen wir ein anderes Gericht lesen. Aber das lasse ich jetzt nicht rein. Ich lasse es nur ein bisschen uniformierter aussehen. Als nächstes in unseren Blatttypen in XP, ging
Jim, um die verwendeten Symbole zu modifizieren Also zuerst, dann ging F A s sagen. Also bekommen wir die diese Klasse und dann ändere ich dies von Effie Dash, Bleistift Toe, vielleicht. Nun, Bleistift-Abstrich ist das, was sie für mich haben. Ich kann den Zufluchskreis verlassen und den Müll anlassen. Dann können wir das überprüfen. Diese Änderungen, die wir jetzt sehen, sind Pensa Symbol wieder. Jetzt werde ich nur einen Ausflug zu unserer Detailrede machen, weil wir sie vor einer
Weile erstellt haben . Aber was wir taten, war, ihm explizit zu sagen, welche Layout-Seite verwendet werden soll. Also, wenn wir unseren neuen Leo erstellt hätte es als Standard auf, aber das kann auf einem bestimmten Pedes überschrieben werden. Ich gehe nur zu dieser Detailrede über, die Sie hier sehen würden, wo es das zu verwendende
Layout angibt. Dies würde also diese Standardeinstellung außer Kraft setzen, die wir in Sicht setzen beginnt. Eigentlich werde ich das einfach entfernen. Aber wenn Sie den Admin haben, haben Sie mehr ein Thema. Arbeiten mit dem, was haben mehrere Leo, Pfirsiche, irgendjemand? Einige Seiten zu verwenden, die eine und nicht die andere. Dann können Sie genau diese kleine Referenz für unsere Ich lokalisieren Leave
Allocation Index PGE überschreiben Ich werde das Symbol Toe FD Dash User Dash Bearbeitungen ändern,
die etwas mehr so aussehen mit diesem Bleistift mit diesem Silhouette und dann werde ich geben oder verlassen Anfrage Alter einige Aufmerksamkeit. Also zuerst werde
ich diesen,
ähm,
diesen Text entfernen ähm, , der Index ist, und ich werde auch diese Schaltfläche entfernen, da wir nichts für diese Schaltfläche
implementiert haben und dann werde ich die Anzeige ändern diese Karten auf den Daten gibt es in so zurück in unserem Code, ich kann einfach diese Stop zwei Zeilen entfernen die H ein Typ für Index auf der Schaltfläche für schafft ich nur entfernen diese auf. Dann lassen Sie uns unsere Karten überprüfen. Kein Zurück zu Fuß oder Admin. Lt Alter oder Beispielseiten, die wir in unsere Archivdatei bekommen hätten. Ich schaue auf die Widget-Seite und ich sehe hier ihre Idee, wie Widgets
aussehen können . Also mag ich die oberste Reihe von Widgets. Ich denke, dass sie perfekt zu dem passen, was ich erreichen will. Nun, um das Gericht zu finden, das mit dem angezeigten Widget verbunden ist, können
wir einfach mit der rechten Maustaste darauf klicken oder Element inspizieren. Und das wird das ganze Gericht mit diesem Widget verbunden bringen. So inspizieren Element ist ein schöner See und verwenden Sie die Bewertung. Was ist los? Sie sehen also, dass sie die Regel haben. Dann haben sie den Anruf MP drei, die Division, die gleichen Divisionen, die wir für über vier Karten haben, die wir implementiert haben. Aber dann ist das ich teilweise, dass Sie in vier Box und dann in Info-Box haben. Sie haben etwas Inhalt, also werde ich nur den Zeh zusammengebrochen. Dieser Def. Das nennt man Info-Box. Ich kann mit der rechten Maustaste auf. Dann kann ich auf Dykan
kopieren, alle anderen Spotkopie-Elemente kopieren und dann wieder zu meiner Schnur gehen, dann von innen. Ruf MD drei an. Ich werde alles einfügen, was ich gerade kopiert habe. Also, für jeden Anruf MP drei, den wir haben, haben
wir diese Infobox. Ich bin nur mental dupliziert über jeden einzelnen, bevor ich beginne, irgendwelche Änderungen zu treffen. Das ist also das. Und dann ist es einfach zu modifizieren und zu integrieren, weil ich bereits alle
Skriptdateien für die Infobox die Arbeit benötigt habe. Lasst uns jetzt unsere Modifikation beginnen. Beachten Sie, dass das, was wir kopiert haben, statischen Text auf. Wir müssen nur den statischen Text mit unserem dynamischen Text auf die gleiche Weise unterstützen. So haben wir den Content-Bereich auf der Content-Ära hat etwas Text auf einigen Zahlen, so erinnern wir uns, dass wir Titel eingestellt hatte, die den Text hatte. Das sind also Gesamtanfragen. Also ersetze ich das Wort Nachrichten und dann hatten wir den Kegel Wert auf Die ersetzen diesen Abschnitt und dann kann ich mit meiner ursprünglichen Karte abschaffen und dann werde ich das tun. Passt zu Ihrem eigenen für jeden. Er geht voran, also werde ich noch einen für dich tun,
jemanden, der diesen Wert annimmt, den wir dynamisch generieren. Ich werde Nachrichten darüber ersetzen. Ich ging, um die Nummer zu nehmen und dann die Nummer zu ersetzen, und dann kann ich die Karte wegnehmen,
jemand, der die anderen beiden macht. Andi,
ich werde wieder aufnehmen Nachdem sie getan haben, können
Sie pausieren und tun Sie sie selbst sind großartig. Also ich hoffe, Sie hatten keine Probleme auf Dure Mantel sieht ähnlich wie diese? Nein. Das nächste, was wir tun möchten, ist die Farbe zu ändern. Also haben wir B g info. Denken Sie daran, dass wir verschiedene Farben für die verschiedenen Status verwendet haben. Ausstehende Anfragen wären also BG-Dash-Warnung gewesen. Ähm, dann haben wir B g Strich für den genehmigten Erfolg auf der Ankündigung, dass wir BG gierig in erfolgreich haben . Wenn wir eine gierige Farbe wollen, können
wir das auch tun. Und dann hatten wir B g Strich Gefahr Onda verlassen. Ich gehe. Der Folterbericht sagt in für das nächste, was Sie wahrscheinlich tun möchten, ist
das verwendete Typ-Off Symbol zu ändern . So, zum Beispiel, Ausgaben Anfrage. Ich werde wahrscheinlich etwas benutzen, das wie ein Ausruf ist, um zu sagen, Hey, du weißt schon, Aufmerksamkeit auf diese. Ich benutze Küken Kreis für die genehmigten Anfragen. In Ordnung, also gehe ich einfach zu schnell. Ich werde Sie nicht mit meiner Auswahl aus Symbolen langweilen, aber ich möchte Ihnen nur zeigen, wie es am Ende dieser Übung aussehen sollte, wo
Sie Ihre Symbole angezeigt werden. Wenn Sie versuchen, Symbol und es nicht funktioniert, sind die
Chancen, dass der erste Teil aus den Klassen, wenn sie auf Sie sind, das ändern möchten? Wenn er es so ist, können Sie diese Modifikation versuchen. So sehen Sie irgendwo Feuer basierend auf der Vorlage, die wir kopiert und einige sind Wenn er so dass ich arbeiten, so dass ich nicht arbeiten. Ich werde dich nicht langweilen damit, warum man daran arbeiten wird, warum man es nicht will. Aber Sie können alle Symbole zerstören und ausprobieren und sehen, welche eine gute Passform ist. Nein, ich habe eine weitere Änderung, die ich für diese spezielle Lektion vornehmen möchte, die die Datentabelle
umgibt . Also ja, sie sehen nett aus. Aber dann gibt es tatsächlich ein Bootstrap vier Look and Feel, das auf die
Datentabelle auf admin angewendet werden kann . LTTE hat den Stecker schnell bei mir, der passiert ist. Also gehen wir zurück zu unserem Archiv mit unseren Admin-LTTE-Dateien und gehen in Plugging kürzer, als Sie sehen. Ein Ordner namens Datentabellen Dash Bs vier und das kommt mit einer CSS-Datei auf einem J s weit, also müssen wir nur die über unser Projekt kopieren, wie wir es mit anderen Dateien in
der Vergangenheit getan haben . Falls Sie für die Schaltfläche, werde
ich das CSS für Sie gewonnen tun, indem Sie auf diejenige klicken, die mit Männern Punkt CSS-Kopie endet und dann zum Projekt und innen aus dem CSS-Ordner gehen. Ich klicke mit der rechten Maustaste und klicke auf Einfügen. Ich würde dann diese Schritte für die JavaScript-Datei wiederholen. Als nächstes gehe
ich zurück zum Admin LTTE Leo Page auf in dem Abschnitt, wo ich ursprünglich auf
die Datentabelle verwiesen hatte , sieht diese Datei durch CD und Link. Ich werde wissen, dass dieser Text durch einen Verweis auf die lokale CSS-Datei in meinem sis Ordner für
Datentabellen ersetzt wird, die beklemmt bedeuten, dass CSS am Ende dieses Schlag Pfirsich in ähnlicher Weise aktiviert, ich werde den Verweis auf die Skriptdatei durch einen Verweis auf die lokale GS-Datei. Also das ist immer noch da, Slash gs Schrägstrich auf, dann sind das die Tabellen, die geschlagen hätten, dann kann ich sehen, ob das auf dann meine Änderungen testen. Also, meine Seite wurde neu geladen und der ganze Tisch ging weg. Das bedeutet also, dass ich einige Dateireferenz vermisse, die Sommer verstehen? Um Element Onda zu inspizieren,
überprüfen Sie, was in meiner Konsole passiert, dass es mir sagt, dass es keinen
Funktionsaufruf finden kann , und es zeigt auf Geek-Sorgen. Also glaube ich, dass ich einige andere J-Abfragedateien vermisse. Ich möchte zurück zu meinen Plug Ins. Andi,
ich überprüfe meine Daten. Ordner „Tabellen“. Ah, also vermisse ich tatsächlich diese essentielle Java-Skriptdatei, die nur für Datentabellen insgesamt benötigt wird. Also kopiere ich das einfach. Andi, bringen Sie es zu meinem Projekt. Er sitzt im Ordner, und dann werde ich nur die Zeile duplizieren, die die Datentabellen enthält. Aber dann oberhalb der ursprünglichen Zeile werde
ich Verweis auf diese neue Datentabelle J Query Datentabellen Datei treffen. Also werde ich das speichern und versuchen Sie es erneut auf wir haben heben weg. Also nein, wir sehen oder Datentabelle ein bisschen raffinierter aussehen, und er passt irgendwie in das,wissen
Sie, wissen
Sie, das gesamte Projekt ein bisschen mehr, so dass wir sehen, dass wir die gleiche Funktionalität wie Sie haben. Wir haben unsere Suche haben oder filtern, welche Suchvorgänge von Filter wir haben oder Paging Andi. Alles sieht uniformierter aus. Ich hoffe, Sie hatten Spaß, diese Übungen zu machen, wissen
Sie, unsere
Seiten neu zu gestalten. Ich gehe nur durch, um sicherzustellen, dass alles in Ordnung ist. Aber ich weiß, dass es ein paar Lücken gibt. Zum einen gibt es keine Homepage. Wir sind so weit gegangen, ohne eine Homepage zu erstellen. Ich fordere dich auf, ein schönes kreatives Zuhause zu finden. Sei es, mit mir zu teilen. Ich bin sicher, dass ich Wert in der Art, wie Sie es getan haben, finde. Ich werde mir selbst einen einfallen lassen. Auf auch dort andere Seiten, die vielleicht die Symbole verschwunden sind. Oder vielleicht war die Seite nicht, Sie wissen schon, nicht viel Sorgfalt in der tatsächlichen Zusammenstellung von der Seite genommen wurde, als wir an
ihnen arbeiteten . Also fordere ich Sie heraus, einfach durch das Projekt zu gehen, Änderung dieser Stile zu
reinigen und es so schön zu machen, wie Sie es brauchen.
49. Benutzerdefinierte Anmelde- und Anmeldeseiten: Hey Jungs, willkommen zurück in dieser Lektion wird sich mit der Einrichtung einer benutzerdefinierten Anmeldeseite und
Registrierungsseite für unsere Anwendung beschäftigen. Wie Sie wissen, haben
wir mit dem Admin LTTE Thema gearbeitet und so werden wir Inspiration aus dem Dampf und ihren Voreinstellungen Toe-Design, unserem eigenen Login und Anmeldeformularen. Jetzt, auf meinem Display, sehen
Sie die Admin-LTTE-Anmeldebildvorlagen, in denen sie nach E-Mail-Adresse
Passwort gefragt . Sie haben eine merken ME Box Zuweisung Taste, und sie haben auch Tasten für alle anderen Zeichen in Motor, die in Gebrauch sein könnte. Außerdem haben
sie Links für Passwort vergessen und registrieren und neue Mitgliedschaft. Sie werden auch sehen, dass sie eine Registrierungsseite haben, die in der Natur sehr ähnlich ist. Aber die Felder werden unterschiedlich sein und relativ zu den Informationen, die gefragt werden oder Benutzer, um sich letztendlich von jedermann aus den Beispielseiten zu registrieren. ob es sich um Index 12 oder drei handelt, Sie können auf den Abschnitt zugreifen, der Extras sagt. Also in der Knave Tauschhandel links, Sie sehen Extras und dann sehen Sie Login und Registrierung Links auf beiden aus. Diese Links führen zu den vorherigen Schulterseiten, so dass sie Ihnen diese
Beispielseiten nicht geben . Sie haben einige andere Starter und Luft für vier oder vier Seiten und andere Seiten, von denen Sie
inspirieren können . Aber noch einmal für dieses Video wird nur Inspiration aus dem Login auf der Registrierung ziehen. Nein, ich habe bereits eingerichtet das Login auf Die kann klicken, registrieren und navigieren Sie zu meiner Registrierung. Und wenn Sie zur Kenntnis nehmen, sehen
Sie, dass ich bereits entweder in meinem Kontext angepasst habe, ? Also werde ich diesem hier keine lange Lektion treffen. Ich bereits das die Ressource ist Zehenstützen. Die Aktivitäten sind in dieser Lektion enthalten, aber wir werden eine kurze Zeit damit verbringen, durch zu gehen. Einige der Anpassungen ist, und einige der Änderungen, die vorgenommen werden mussten, wissen
Sie, es ist eine Einrichtung. Dieses Facelift Nein, auf dem Bildschirm ist der Code, den ich für meine Protokollierung Pitch verwendet. Aber bevor ich in mein Gericht komme, möchte
ich Ihnen das ursprüngliche Gericht zeigen und dann irgendwie durch Hawaii spazieren, wissen
Sie, die Änderungen, die ich an DSO vorgenommen habe, übertragen. Wenn du den gleichen Prozess wie ich machst. Dann können Sie es entsprechend bekommen werden. Jetzt können die Originalseiten innerhalb des at admin lt Ordners innerhalb von Seiten und Beispielen gefunden und dann sehen Sie sich registrieren und Sie werden auch anmelden sehen. Also habe ich sie beide in Nope I Plus Plus geöffnet und fangen wir mit dem Login an, jetzt ist der Aufblähung ziemlich einfach. Sie haben ein zusätzliches Statut, das ich nicht gestört habe, gehören, weil ich wirklich nicht die Notwendigkeit dafür
gesehen. Aber Sie können es einschließen und sehen, was daran anders ist. Aber ich habe das hier nicht aufgenommen. Alles andere wurde eingeschlossen. Der Star Seat für ikonisches Framework ist wirklich ein CDN-Link, der abgescannt wird, bereits durch unsere Verwendung von Admin LTTE CSS Dateien impliziert. Aber weitermachen. Der Abschnitt, auf den ich mich hauptsächlich fokussiert habe, war der Dave mit der Klassenprotokollierungsbox. Also, alles in diesem Dave, ich kopierte das Boot, also wählte ich das alles aus und ich kopierte es über. Aber dann habe ich den Abschnitt für die Social Loggins entfernt, weil ich in diesem Zusammenhang wirklich keinen Bedarf
habe . Aber außerhalb, dass ich habe ich alle von der Kabel Associate-ID mit der Anmeldeseite genommen oder losgelegt , dass Sie bemerkt haben, dass der Körper eine Klasse namens Hold Strichübergang auf einem anderen Klassenlog
in dieser Rede hat . Also habe ich tatsächlich mein eigenes Live erstellt, anstatt den Body Talk zu benutzen. Ich kreiere diese Ideen. Andi. Ich verwende diese Klassen wieder, und das ist es, was sein Zentrum ausgerichtet ist, wissen Sie, auf der Seite so nah wie möglich an der Demo
angezeigt wird. Also zurück in Visual Studio und in meinem Hof, sehen
Sie, dass ich die Oberseite mit den Klassen teilen, halten Sie das ist Übergang und loggen Sie sich in diese Rede ein. Und dann habe ich die Daten für die Login-Box. Ich habe den Titel an, dann innen die Karte für den Titel, den ich in Kernurlaub-Management geschickt habe. Ich re meine Live mit der Validierungszusammenfassung enthalten, so dass ich tatsächlich einige aus dem Gericht aus der ursprünglichen Login-Seite auf wieder in
diesem Formular enthalten genommen . Also habe ich das Gericht für die Validierungszusammenfassung. Ich fing an, die Eingaben für die Elemente zu ändern, so dass die ursprüngliche Eingabe aus der Vorlage Eingabetyp
hätte gleich E-Mail in der Klasse und dem Platzhalter, während meine Änderung daran war, dass ich Eingabe sagte. Und dann nahm ich das S vor der Eingabe dieser E-Mail aus dem ursprünglichen Textfeld für die E-Mail auf, die ich
verwendet habe , um den Typ gleich Teil zu ersetzen, weil denken Sie daran, dass einmal unsere SB-Helfer verwenden, es irgendwie bedeutet, dass der Typ auf die Validierung impliziert, die auftreten muss. Aber ich habe alles andere behalten. Ich habe das für das E mehr E-Mail-Textfeld getan, und ich habe das wieder für die letzten vier Lehrbücher getan. Ich ging auch voran und fügte den Abschnitt für die Validierung auf. Ich hätte das eigentlich außerhalb von diesem Geben platzieren sollen, weil es dann tatsächlich in der gleichen Zeile
erscheinen würde . Also muss ich das zwischen den Dave setzen. Also habe ich diese Änderung nur vorgenommen, während wir hier sind. Und so wird der Abschnitt, den der Bereich für die Validierungsnachricht außerhalb der
Eingabegruppe von der Vorlage angezeigt , die weitergeht. Ich habe nicht modifiziert, die erinnern mich auf sterben behielt das Zeichen in Andi. Ich habe nichts mit denen für die vier geändert, aber Passwort onda Register-Links. Ich änderte die Links oder die Pfade für den Knöchel. Toxie ist Strich Rede auf für über Passwort sein. Im Original hätten
sie eine Drift gehabt,
ich denke, Hashtag gut, sie hatten eine Reise etwas. So zeigen sie auf die anderen Vorlagenseiten im admin LTTE Thema für Passwort vergessen und für Register Sarah platzieren Sie diejenigen mit unseren praktischen. Aber natürlichnoch
einmal, noch
einmal, wenn Sie Inspiration wie zumBeispiel
fürdie Seite „Vergessener Pastor“ schöpfen wollen Beispiel
für , dann können Sie dies tun. Das ist es für die Modifikationen, die an der großen Tonhöhe vorgenommen wurden. Und dann kann ich auf die Registrierungsseite gehen, auf Sie sehen, dass es ziemlich ähnlich ist. Also gehe ich einfach zurück auf den Drang, damit wir sehen können, was passiert. Siehst du, es ist das Lotuspartizip. Der Körper hat Klassen, halten Sie den Strichübergang und registrieren Sie Strich-Seite auf die einmal verwendete den verlassen Ersatz für dieses Körper-Tag genau dort. Ich habe eine Tiefe für den Header auf, und dann das Formular. So bemerken Sie, dass das Formular ah, vollständigen Namen auf. Dann dauert es E-Mail-Passwort und auf der Bestätigung für das Passwort zurückgezogen. Meine Änderungen, die von meiner ursprünglichen Registerseite kommen, hätten also Vor- und
Nachnamen gehabt . Also nur der vollständige Name Dave Group Live Input Group auf duplizierte es und machte einen in s vor dem Vornamen auf einem in diesen vor dem Nachnamen auch sicher, dass diese
Validierungsspannen genau die gleiche Weise enthalten , nachdem jede Eingabegruppe auf Kerl Hafer geändert hat, das S vor jedem Eingang, also haben Sie Eingaben. Entschuldigung. Haben Sie Passwort von E-Mail von Vorname, Nachname und dann haben Sie das Passwort und bestätigtes Passwort auf dann für die Einreichung I alle anderen Links
beschichten und verwenden Sie einfach den Knopf im Inneren. Die Regel auf dieser Schaltfläche ist Bt und Block. So erstreckt es sich direkt über den Bildschirm und dann für die Ich habe bereits ein Konto. Ich meine sicher, dass Sie es einfach zu sp Seite Punkt Schrägstrich einloggen. Ich habe keine weiteren Änderungen an DSO vorgenommen. Ich werde nur wieder auf den Bildschirm bringen, was ich getan habe, dann können wir heute Abend vermasseln. Das ist also das Anmeldeformular auf diesem ist über schleppende Form, wie in der Regel kann immer das Video an den verschiedenen Punkten pausieren, wo Sie aus
dem Gericht kopieren möchten oder so haben die Gerichtsverweise mit diesem weniger enthalten. Eine weitere Modifikation, die ich gemacht habe, war in meiner Haussteuerung, wo ich es auf Autorisierung eingestellt. Also, was ich nicht will, ist, dass jemand in der Lage ist, Bros Zeh zu erreichen. Alle Teile dieser Anwendung, ohne autorisiert zu werden, werden authentifiziert. Also durch das Sitzen autorisiert auf
dem Home-Controller, das erste, was Lourdes geht, wenn es allein trance. Die Homepage ist das Gesetz in Tonhöhe. Also lasst uns diese Erfahrung testen. Also, wenn ich vollständig auf Belästigt zur Anwendung gehe, dann wird es das Log in Pit laden. Also lassen Sie mich versuchen und Bro direkt von meiner Website, und dann würde das versuchen, die Hauskontrolle zu locken. Aber beachten Sie, dass es direkt zum Authentifizierungsfeld ging. Er wird nirgendwo anders hingehen, bis Sie Authenticator sind, weil ich so ziemlich auf alle Controller autorisiert habe. Also an dieser Stelle, entweder müssen Sie sich selbst oder Authentifikatoren so sorry autorisieren oder registrieren, so dass Sie auf
einem Kegel haben ziemlich viel fasst alle Änderungen, die ich an der
Registrierung gemacht hätte und einloggen Seiten. Andi,
ich hoffe,
du weißt schon, du weißt schon, folgst dem Anzug, und ich will mich nicht mit Kohlenstoffkopien versehen. Verwenden Sie Ihre eigene Kreativität und versuchen Sie es zu bekommen. Sieh mal, wie du es gerne hättest, Andi,
ich bin immer offen für Feedback. Ich bin immer offen für zu sehen, was du machst. Sie können Ihre Screenshots mit mir teilen und wir können alle unsere Arbeit gemeinsam untersuchen.
50. Übersicht und Änderungen in GitHub: Hey, Leute, willkommen. Aber das ist unsere letzte Überprüfungsstunde für dieses Modell, in dem wir ein neues
Layout mit dem Admin LTTE Thema implementiert hätten . Nur eine kurze Rezension. Wir hätten das Layout von unserem Standard-Bootstrap für Leo geändert. Das wäre mit unserem Projekt gekommen. Wir haben dieses neue Layout implementiert, wo wir eine Sidebar haben. Wir haben schöne, intuitive Icons. Wir haben noch ein paar Animationen. Ich hätte die Anmeldeseite auf der Registrierungsseite auf dann für unsere Homepage angepasst . Nun, ich hätte dich herausgefordert, etwas Kreatives einfallen zu lassen, aber dann für mich, was? Dass es autorisiert wurde, so dass, wenn die Anwendung geladen
wird, es erfordert, dass eine Person sich anmelden muss, bevor sie in der Lage sind, mit etwas anderen fortzufahren. Nach der
Anmeldung wird der Benutzer auf die Homepage geführt. Und noch einmal, ich bin interessiert zu sehen, was Sie für Ihre Homepage gekommen wären. Ich habe meine einfacher und informativer gehalten, damit Sie genau sehen können,
worum worum dieser Anwendung geht. So oder so, ich möchte, dass du kreativ bist und das Beste aus den Tools herausholst, die dir zur Verfügung gestellt werden. Also werde ich nur zu unseren Admin-LTTE-Beispielseiten zurückgehen und Ihnen zeigen, dass wir einen
Abschnitt dort genannt die Dokumentation haben , wo sie Ihnen tatsächlich zeigen, wie Sie die meisten implementieren wenn nicht alle von den Plug Ins und Komponenten, die sind, ,
wenn nicht alle von den Plug Ins und Komponenten, die sind,
wissen, enthalten in diesem gesamten Framework Andi Building Darüber hinaus ist
die Tatsache, dass admin lt alle Bootstrap für Komponenten verwendet. Alles, was Sie von Bootstrap verwenden können, das wir verwendet haben, um zu wissen, ist auch innerhalb des Admins
verfügbar. Es ist nur mit, weißt
du, einer leichten Wendung, da sie ihr eigenes Flair zum Essen gegeben hätten. jedoch Sie könnenjedochdie gesamte Dokumentation lesen, sich die anderen Plug-Ins für Komponenten oder die anderen JavaScript-Komponenten ansehen und sehen , dass es Dinge gibt, die Sie verwenden möchten, die ich nicht
in meinem Unterricht verwenden. Aber Sie können voran gehen und implementieren. Und wie immer, wenn Sie in Schwierigkeiten oder Schwierigkeiten fühlen, Frito, lassen Sie es mich wissen und ich werde sicher sein, Ihnen zu helfen. Wie ich schon sagte, das wäre eine kurze Rezension, da wir nur zu dir wissen, ziehen Bilanz ab, was wir getan haben,
dann gehen Sie voran und checken Sie ein, um aufzustehen. Also klicke ich einfach mit der rechten Maustaste auf meine Lösung, wenn ich auf Commits klicke, dann stelle ich meine Check-in-Nachricht bereit. Also habe ich gerade gesagt, dass ich das Thema implementiert und benötigte schnell hinzugefügt habe, dann werde
ich nur diesen Strom weitermachen und
dann alles auf Waschbecken begehen, nachdem ich diese Übung abgeschlossen habe. Unser Gericht ist nicht auf dem neuesten Stand über den Link zu diesem Repository oder auf diese gesetzten Änderungen
werden in dieser Lektion sowie jede andere Ressource aufgenommen werden. Meinst du das brauchen? Wenn Sie es so weit geschafft haben, möchte
ich Ihnen gratulieren. Gute Arbeit bisher noch einmal, sei kreativ. Probieren Sie etwas auf der Seite der Schachtel aus. Andi, wenn Sie in Schwierigkeiten geraten, lassen Sie es mich wissen und ich werde sicher helfen
51. Asynchronous: Hey, Jungs, willkommen zurück in diesem Video werden wir auf die Umwandlung von Funktionen in eine synchrone Funktionen und werden mit dem Repository beginnen. Nein, ich habe den Logging-Punkt CS geöffnet, der gelegentlich die CS-Datei sieht, die das Gericht hinter unserer Identität ist. Alter ist ein ConEd-Feuer für die Anmeldung. Ich verwende nur diese Datei Toe zeigt, wie eine asynchrone Funktion aussieht, also
hätte asynchrone Funktionen verwendet. Die Straßen sind Anwendung, Andi. Manchmal benutze ich sie, manchmal ein Rock um sie herum. Aber heute wollen wir uns ansehen, wie wir sie umsetzen und warum sie entweder da sind. Also, wenn die asynchrone Funktion wirklich als ah Teil des parallelen
Programmierparadigmas implementiert ist, das darauf ausgerichtet ist, ein bisschen effizienter zu machen oder zu Viertel und die Systemressource zu verwenden, ist ein bisschen effizienter. Alles klar, was passiert, ist, dass in, wenn Kern Punkt Netzkern und in verschiedene Arbeit sind, oder dass er ziemlich ein paar asynchrone Funktionen war und sie normalerweise das Wort ein Waschbecken am Ende
der synchronen Funktionen verwenden , ist hier sie sino Tasing. Sie haben das Passwort-Zeichen in einem denken, Sie haben einen Haufen von ihnen. Aber ich denke, Sie werden auch bemerken, dass die Funktionsdefinitionen auch ein Think sind. So werden Sie etwas wie öffentliche Aufgabe sehen, dann den Namen aus der Funktion, richtig? Wenn es also Funktion vermeidet
, sieht es so aus. Es ist nur öffentliche Aufgabe undan auf get Also, wenn Sie eine Lücke haben, sicher, dass Sie Internee synchrone Funktion
machen möchten , tun
Sie es in etwa so. Sie würden diese ungültig durch die Schlüsselwortaufgabe ersetzen. Alles klar, jedes Mal, wenn Sie einen Funktionsaufruf Zehe une-synchrone Funktion machen, hat
es Zehe haben das Schlüsselwort weg. Also, wo immer du ein Waschbecken
siehst, wirst du das Schlüsselwort Weizen sehen. Das heißt, sind drei neue zwei Stunden. Ich werde auf die Lockerung der Aufgabe suchen, auf warten Andi Sie werden auch bemerken, dass, wenn es eine Volley ist Foshan
zurückgibt, dass Sie Aufgabe undeine Onkel Klammer auf dem Datentyp zurückgegeben werden und dann Onkel Klammer schließen Also das sind Dinge, auf die ich achten möchte, wie wir Start zu Wieder Faktor sind Schnur eine synchrone Ich werde nur Zehe minimieren die Bereiche hier auf ihnen würde mit meinem Auge Repository Biest beginnen. Hier wissen wir also, dass wir alle Funktionen definiert haben, die jedes andere Repository erbt. Also möchte ich, dass jedes Repository auf asynchrone Funktion erbt. Alles klar, so gut. Nein, sie sind synchro nous ihre Standardeinstellung so, wie wir sie ursprünglich gemacht haben, was ich tun werde, ist, offene Klammern um den Rückgabetyp zu sehen, was in diesem Fall
ist, dass ich die Zeit nicht gewöhnliche Klasse und dann schließe ich die Winkelklammer an, verstehe, um voranzugehen und das für den nächsten zu tun, was in Ordnung ist, indem ich die generische Klasse ist, die wir finden wollten. Dann sind wir das mit den Winkelklammern. Das sind also alle Valley Return-Funktionen, die wir gerade gesehen haben. Das Muster ist, dass wir sehen Aufgabe Winkel Klammern gehören den Wert oder löschen Sie die Zeit
zurückgegeben wird , und schließen Sie dann Winkel Klammern. Ich werde das nur für alle anderen tun. Alles klar, nein
, jede Funktion in meiner Projektarchiv-basierten Datei ist ein Synchro uns. Also werde ich nur sagen, dass ich dann eine Transformation mit dem Blatttyp beginnen möchte. Also gehe ich zum Ich gehe, tippe unsere Positivität ein. Das ist ein konkreter Zusammenstoß auf dem Posterfoto. Entschuldigung, Typ Repository
verlassen. Nicht. Ich lasse Tyra Buster die konkrete Klasse an, wenn ich da
bin, sehe ich die Rote Linie. Wissen Sie, die rote Linie ist da, weil es sagt, dass gut, Ich habe nicht implementiert die Störungen. Das liegt wirklich daran, dass ich gerade jede Funktion als synchron geändert habe, aber ich habe hier immer noch nur die gleichen Cronus-Implementierungen. Also gehen wir durch diese zusammen auf gehen wird jede von diesen Funktionen ändern, um eine Synchroschwester zu sein, so dass beginnen Sie mit schafft. Also haben wir öffentliche Bullen erstellen. Also, wie wir gerade besprochen haben, ist
das erste, was wir hier brauchen, eine Spüle, und dann und wir werden nur die Aufgabe sehen. Und dann ging ich nach oben den Rückgabetyp, der Bulle in Winkelklammern ist. Nein, wir werden hier eine grüne Linie bekommen, weil es sagt, Nun, ich sehe, dass Sie etwas ein Waschbecken implementieren, aber Sie tun nichts. Ein Waschbecken? Nein. Wieder einmal haben
die Rennfunktionen, die uns gegeben werden, in der Regel das Schlüsselwort, das er am Ende denkt. Also, wie die Anzeige gegeben wird, die in verschiedene Arbeit kaufen. Aber ich sollte in der Lage sein, etwas zu tun. Also, wenn ich hier zum Ende komme oder wenn ich einfach den Punkt entferne, addiere das Wort zum Arzt und
dann kontrolliere ich den Raum. Dann werde ich sehen, fügen Sie ein Waschbecken, richtig? Also nein, wir haben hinzugefügt, aber an einer Senke jetzt eine weitere grüne Linie erscheint, weil denken Sie daran, wann immer wir einen entspannenden Funktionsaufruf machen, müssen
wir ihm das Schlüsselwort erwarten vorangehen. Ich weiß, dass das erledigt ist. Sie haben bemerkt, dass alle Zeilen weg sind, alle Warnungen sind weg, und es ist nicht zufrieden, dass dies eine gute Implementierung für eine Senkenfunktion und einen
Sing-Funktionsaufruf ist . Jetzt können wir das Gleiche zum Löschen tun. Also noch einmal, wir brauchen das Schlüsselwort eine Spüle nach der Öffentlichkeit. Dann sagen wir Aufgabenwinkel, Klammer den Rückgabetyp an, dann die Leitungen. Nun, es braucht etwas asynchron. Also werde ich schauen, ob es irgendwelche entfernen, nicht. Und wenn ich das tue, sehe ich nicht, habe ich ein Waschbecken entfernt. Ordnung, also gibt es einige Funktionen, die sie uns geben, die auf einer Spüle Twin sind Alternative da drauf ? Manche, die einfach nicht so, du weißt schon,
Art und Weise wählen Andrew. Also werde ich löschen lassen, wie es für keine auf den nächsten zu bewegen ist. Eigentlich werde
ich das für alle Funktionen hier tun. Ich bin wirklich nur darin, die A Sink Aufgabe auf den ersten Winkel Klammern zu kopieren und dann zu verstehen Zehe Tempo, dass auf jeden, den ich nach rechts gehe? Also no over find All ist unsere öffentliche Aufgabe Winkelhalterung. Rückkehr unserer Sammlung von Zeit e schadet unserem Urlaub Typ auf, dann unter Klammer am Ende, dass rechts auf, dann was würde in dieser Saison treffen könnte ein A Waschbecken Version aus der Liste sein? Nein. Wenn ich bis zum Ende kommen die Worte auf Pressekontrolle und Raum poliziert, würde
ich sehen Intelligenz auftauchen, wenn es mehr Optionen gäbe. Wie Sie sehen können, taucht nichts von Person auf. Randall. Da ist etwas auftaucht, das wirklich, weil jetzt kein Waschbecken zur Verfügung gestellt wird. Das liegt wirklich daran, dass ich nicht die Bibliothek habe, die ich brauche. Ich muss sicherstellen, dass ich verwende,
ich glaube, Microsoft dot Entity Framework Core. In Ordnung, die Sache ist
also, dieser Link gibt uns einige erstaunliche Funktionen. Was? Wir sind wirklich begrenzt auf das Angebot von Aleen Cust, aber das Microsoft-Entitätsframework oder die Bibliothek öffnet es wirklich. Wenn Sie also die Rennfunktionen seines Bruders nicht sehen, weil Sie diese Bibliothek nicht haben, wenn Sie sie sehen,
dann bedeutet das, dass Sie die Bibliothek haben, und das ist kein Problem. Also, wenn ich zurück auf die Liste und dann drücke ich Kontrollraum, dann werden Sie sehen, dass ich den Tourist sinken bekommen. In Ordnung. Also, ich meine, wenn du das immer noch nicht siehst, dann gibt es vielleicht ein größeres Problem, weißt
du, du kannst mich kontaktieren, aber du solltest sehen, dass er richtig sinkt auf. Dann noch
einmal, wenn wir eine Funktion machen, rufen Sie Tony Sink an. Wir müssen ihm das Schlüsselwort vorangehen. Äh, warte. In Ordnung. Darauf löst das. Dann können wir damit einfach weitermachen. Wir legen das einfach wieder in die Zwischenablage. Ich werde es nur für jede Funktion auf definierte einfügen. Gibt es eine Spüle? Es gibt eine schließlich Senke auf DYP erhielt diesen Anruf mit einem Gewicht bewegt sich weiter. Andi,
ich habe diese Telefone und ich habe das nicht geändert. Die Definition für die Deklaration aus dieser Funktion in der Eye Leaf Type Repository-Klasse . Ah, lass es so, wie es ist. Aber ich bewege mich auf die Eins, die tatsächlich umgesetzt wurde. existiert also und macht es im Schlepptau. Synchron Gibt es irgendeinen Gedanken? Da gehen wir weiter, übrigens, alles in Ordnung. Also bitte stellt fest, dass, wenn Sie das Gefühl, in der Stunde setzen, auch wenn Sie in den Tod, dass für den Header für das Telefon gezeigt, um eine Spüle und alles, wenn Sie nicht setzen unsere es auf der Funktionskarte und Sie werden sehen, eine schmale, die nicht Sag deinen Haaren wirklich. Sie vermissen das Keyword Lockerung. Oh, warte. Entschuldigung. Richtig. Also denken Sie daran, das zu setzen wartet, weil der Fehler Ihnen nicht wirklich sagt, dass es fehlt. In Ordnung, so als nächstes haben wir speichern, dass eine asynchrone gibt es eine sichere ändert eine Senke. Dort gehen wir auf Tauchen, verhindern es mit dem Stichwort. Warten Sie auf, um zu aktualisieren machen es eine Spüle. Gibt es ein Update eine Spüle. Lasst uns nachsehen. Okay. Es gibt kein Update, Ein singen. In Ordnung. Aber dann merkst du, dass Sparen mir plötzlich einen Fehler gibt. Und das liegt daran, dass Save bei Art von Aufgabe boule zurückkehrt, wenn dies erwartet wird, dass
ein Stier zurückkehrt . Also ja, Sie können sehen Task Bulle hier auf diesem ist eine Wende Aufgabe Bulle. Aber du wirst den Pfeil noch einmal sehen. Wenn Sie einen Aufruf für die asynchrone Funktion machen,
unabhängig davon, ob sie von Ihnen definiert ist oder es eine ist, die Ihnen vom Framework gegeben wird, benötigen
Sie das Schlüsselwort. Ich warte. Also, wenn ich einmal in eine Art und Weise, es ist, als jeder glücklich ist. Alles klar, damit Sie vielleicht nicht in der Lage sind, wissen Sie, tun Sie das F Kernteil synchron ist. Aber zumindest wenn wir dies als asynchron implementiert
haben, würden wir diese asynchrone Funktionalität aufrufen oder nutzen. Nun, da es einige Fälle gibt, in denen wir es asynchron machen können, in denen wir es nicht können , wissen
Sie, Sie grau draußen, könnten
Sie es an einigen Stellen setzen und es nicht an einigen Stellen haben. Das ist vollkommen in Ordnung. Ich meine, Tatsache ist, dass Sie vielleicht die Möglichkeit haben. Manche Dinge, die sie vielleicht nicht. Alles klar, wenn Sie
also zurückgehen, um Ja zu erstellen, hatten
wir die Anzeige, aber dann nennen wir hier eine andere Sing-Funktion. Dies ist also ein erleichterter Funktionsaufruf. Dieser wurde uns vom System gegeben. Aber dann ist dies unsere definierte Funktion, die eine Sache ist. Also muss ich sagen, ein Gewicht auf dann zum Löschen, während entfernt hatte keine erstaunliche Wir haben eine Glückskultur auf einer Senke-Funktion. Also schau dir an, was passiert, wenn ich diese ganze Funktion nicht synchron gemacht habe, dann werde ich hier auf Fehler
kommen, dann wird es sehen, dass der Typ nicht implizit umwandeln kann. Dann würde ich sagen, Oh ja, weil du denkst, ich brauche einen Weizen und sie sehen sich an, was passiert, wenn ich sage Oh, warte. Ich bekomme einen noch größeren Fehler, weil die Tatsache ist, dass, wenn ich die synchrone
Funktion als die Funktion aufrufen werde , der
Aufruf auch als synchroner versucht definiert werden muss. Das sind also Kleinigkeiten. Kleine Kleinigkeiten. Wieder einmal sind
die Fehler möglicherweise nicht so klar, manchmal ist der Vorschlag nicht die beste oder die tatsächliche Lösung , die Sie in der Situation möchten. Also ist es gut, ein Verständnis zu haben, was jede Situation für Nein verursacht. Wenn wir zurückblicken, sehen
wir, dass wir implementiert habe ich Typ Repository erfolgreich verlassen. Andi wissen, dass ein Repository für Blatttyp in Ordnung ist, also können wir zum anderen übergehen. Also, wenn ich gehe, um das Repository zu verlassen, das ich die gleiche rote Linie sehen werde würde die gleiche Art von Operation auf der gleichen Sache durchführen müssen, um einen Standort zu verlassen. Also, was ich tun werde oder was ich Ihnen vorschlage, es ist ein positives Video. Versuchen Sie das selbst. Ich werde sie machen und dann, wenn Sie wieder aufnehmen, können
wir unsere Notizen vergleichen. Okay, einige zurück und ich werde mit dem Repository für die Urlaubsanfrage abholen. Also erstens bin
ich modifiziert. Lassen Sie den Anforderer positiv, indem Sie den Brunnen drehen. Ich verlasse die Anfordererhaltung, indem ich die eine Definition oder Deklaration im Schlepptau, eine Aufgabenfunktion, drehe. Und dann fuhr ich fort, alles andere in eine Aufgabe zu verwandeln, ähnlich warum habe ich nicht
abgestoßen er dort bestimmte verlassen , die auf der Ausnahme auf Gut,
wirklich waren . Die Anfragen von Angestellten, musste
ich irgendwie das Gericht refraktieren , denn was passiert ist, ist, dass ich zurückkehrte. Finden Sie alle Punkt wo? Alles andere, was Sie bemerken, dass, wo hat nichts auf der Liste in dieser Situation nicht auf einer Spüle. Also f Kern gibt Ihnen tatsächlich diese Link-Funktionen die Link-Funktionen die Verschleiß und die Touristen und die ersten unsere Standardwerte und diese Art von Funktionen, die sie Ihnen geben, wenn Sie direkt mit dem Detail interagieren, so wie zuerst unser Standard in dieser Situation, es interagiert direkt mit der Datenbank. Das, um ein Think aufzulisten, interagiert direkt mit der Datenbank. jedoch In dieser Situation musste ichjedocheinen Variablenaufruf definieren. Es ist verlassen Anfrage warten auf die Ergebnisse des find-all Funktionsaufrufs, den ich in eine
Lockerung geändert habe . Dann gab ich die Urlaubsanforderung zurück, die eigentlich so waren, dass diese bereitwilligen Funktionen nicht mehr direkt mit der Datenbank interagieren, aber keine Interaktion mit nur einer anderen Variablen, richtig? So dass in einigen Situationen sehen Sie den Link mit dem A Waschbecken auf. Manchmal wirst du es nicht sehen. In Ordnung, deshalb war es wichtig, dass wir die Entity Framework Library eingeschlossen haben, da die Bibliothek gegen die Datenbank arbeitet, nicht unbedingt die Datensätze sind, die kommen oder die
Datenergebnisse aus der Datenbank. Also nach der Tatsache an das Gericht ein wenig, damit ich das Gewicht auf das Finale am Tag, die Ergebnisse entsprechend
zurückgeben konnte , wenn wir nur, Sie wissen, reformieren, dass alles andere, obwohl, Sie wissen,
reformieren, dass alles andere,
obwohl,
ziemlich im Einklang mit dem, was wir im Leaf Type Repository getan haben. Ich bin mir sicher, dass du dort keine Schwierigkeiten hattest. Und wenn Sie das getan haben, dann wissen Sie, dass Sie das Video bei der Überprüfung dieser Funktionen pausieren können, während ich durch
scrolle und mich auf jede konzentriere. Alles klar, als nächstes haben wir das I leave Allokation oder Plakat, das drei zusätzliche benutzerdefinierte Funktionen hatte, die ich auch in Aufgaben umwandelte. Ordnung, dann, in der Implementierung, werde ich ähnliche Factoring machen müssen. In diesem Fall kehren
wir zurück. Finden Sie alle Punkte, wo Sie wissen, alles andere. Stattdessen habe ich eine Variable entfernt zu den Ergebnissen vom Find all on erstellt. Dann gab ich Ergebnisse dachte waren, so dass Sie wissen, dass Sie in der Tat, es Übereinstimmung. Du hast vielleicht Schwierigkeiten beim Fuß, wenn du denkst, dass er es ihnen erzählt hat. Lob an. Wenn nicht, dann ist hier unsere Art und Weise, dass unsere eigene Tochter und Schwierigkeiten konfrontiert sein könnten. Wie für die anderen generischen erstellen Delete Orbit. Andi existiert und finden Sie von I d auf finden alle von denen Schauen Sie das gleiche. Wir sind so ziemlich wir haben die, um eine Sache aufzulisten, wo die erste, unsere Standardeinstellung ein Waschbecken auf, dann für die anderen benutzerdefinierten, wo wir alle auf finden mussten, haben wir auf ihnen die
gleiche Sache hinzugefügt , wo ich einfach gut, die Ergebnisse der Suche alle innerhalb von einer Variablen auf dann zurückgegeben die Operation gegen die Ergebnisse aus der Suche alle die gleiche Sache für die bekommt verlassen Zuweisung von Mitarbeitern und Typ rand, Alles ist ziemlich viel scheint zu scheinen. Die coole Sache ist, dass unsere Position Torrey sollte sich effizienter verhalten, wenn die
Datenbank abfragt , wenn wir unsere Steinbrüche und so durchführen. Aber dann, wenn ich baue, werden
Sie sehen, dass wir eine Reihe von Fehlern so gut haben, dieser Bereich sieht aus, als ob es einfach ah verpassen viel. Ich glaube, ich habe etwas in ein Waschbecken verwandelt. Lassen Sie mich das überprüfen. Lassen Sie mich einfach abstimmen. Ich glaube, dass es geht, machte ich dies ein Denken in den Sieg einige, aber ich habe es nicht in der Definition getan. Also lass mich das schnell machen. Und dann ging ich, um auf dso aufzubauen, werde ich Ihnen die Fehler zeigen, die ich erwarten zu sehen . Also weiß ich, dass ich Fehler bekommen werde. Dies ist keine Übung gemacht, weil wir gerade gesehen haben, dass jedes Mal, wenn Sie und asynchrone
Funktion aufrufen , Sie das Schlüsselwort benötigen. Ich warte jetzt in unseren Controllern, wir haben diese Repository-Funktionen in ihrer synchronen Form auf Nein aufgerufen, dass wir sie in asynchron geändert haben. Wir müssen zu unseren Controllern zurückkehren und die Art und Weise ändern, wie wir mit diesen
Funktionen interagiert haben, sind die Ergebnisse dieser Funktionen. Also im nächsten Video gehen
wir durch und wir werden unsere Kontrollen aufräumen, um sicherzustellen, dass oder waren Sie wissen, wir haben keine Epochen
52. Asynchronen Regler und Handlungen: Hey, Jungs, Willkommen zurück in diesem Video wird auf die Umwandlung unserer Controller-Aktionen auf Funktion
Ursache in Tow-Code, die asynchrone Repository unterstützt suchen . Wir werden auch andere Instanzen überprüfen, in denen wir die synchronen Funktionen verwenden, um
Sie wissen zu machen , nutzen
die vollen Vorteile aus, was sie zu bieten haben. Also beginne ich mit der Blatttypenkontrolle. Ich glaube, dass dies der einfachste ist, mit dem man anfangen kann. Es war ziemlich unkompliziert auf Wir werden nur konvertieren. Wir sehen alle diese roten Linien all diese Fehler auf wir werden nur feuerfest sein unser Gericht in einer Weise, die wir wissen, dass benötigt wird, um über keine asynchrone Repository-Kabel jemanden zu unterstützen, um mit Index Noto zu
beginnen, erleichtern diese Orwell toe beurteilen Sie diesen Pfeil Zuerst müssen wir verstehen, was hier passiert. Also finden Sie alles ist,
ah, Funktion, von der wir wissen, dass wir gerade zu einem synchronen Andi-Bericht konvertiert haben, ist, na ja, das Blatttyp-Repository auf. Dann sehen wir hier, dass es gut ist, uns eine frühe auf den beiden Listen. Also sagt es im Grunde, dass ich nicht nur auf eine synchrone Aufgabe auflisten kann, so dass Sie feststellen , dass Methodenverkettung ein bisschen schwieriger wird, wird nicht nahtlos sein
, wie es früher war , denn hier kann ich nicht einfach die beiden Listen verketten. Selbst wenn ich es auf die weg setzen, die wir wissen, wenn wir ah,
Funktion haben . Das ist eine Sache, die wir sagen müssen, wie es ist. Aber dann sind wir in Contra ein Fehler hier, weil wir die tatsächliche Funktion in
zwei ändern müssen und eine Senke eins. Um dies zu tun, benötigen
wir eine Senke für die Aufgabe, und dann ist der Rückgabetyp Aktionsergebnisse. Also wickeln wir, dass in der Winkelhalterung auf auch das ist nicht genug Zehe fixieren Sie den Pfeil, weil sie immer noch am Ende mit dem Pfeil. Das wird uns also im Grunde sagen, dass es nicht pinkeln kann? Nun, es basiert Palästinenser nicht, etwas aufzulisten, das eine Aufgabe ist. Alles klar, was ich tun wollte, ist, die Liste aus dem Find All on zu entfernen. Dann muss ich es dem Mapping hinzufügen. Also nein, das a von diesem entfernt, um von der letzten Zeile zur Blatttypenzeile aufzulisten, denn jetzt
sagt es , dass gut, dies ist eine Augensammlung auf sie. Mapping Bestie auf Liste. Also werde ich nur sagen,
OK, OK, lassen Sie die Zeiten. Aber das kann ich so machen. Oder ich hätte eine andere Variable eingeführt, in der ich sagte, lassen Sie Typen zu listen und dann diese Variable. Entweder einer funktioniert. Die Tatsache gilt als abseits der roten Linie losgeworden, und wir können weitergehen. Alles klar, so dass es Details muss die gleiche Behandlung bekommen. Also werde ich nur Lockerungsaufgabe auf Ihre Klammer kopieren, um sie auf die
Optionsergebnisse hier auf zu platzieren . Dann schien es, dass es nicht einfach die Knoten an einer Aufgabe ausführen kann. Richtig? So kann die nicht betriebene Erklärung nicht angewendet werden, Zehe operieren und aus Task Bull, so dass jemand zu tun ist, nur eine Variable einzuführen. Richtig? So finden Sie, dass ein bisschen bieten Factoring feindlich gehen auf Zehe, Einrichtung es diese Änderung. Einige wollen sagen, dass diese neue Variable existiert ist gleich Zehe warten, und dann werde ich Bericht aufrufen. Das ist vorhanden. Ich habe gesagt, dass der Film den Anruf zeigt, den ich hier als Lockerung des Glücks ankündige. Dann werde ich einfach die Variable innerhalb des Originals übergeben. Wenn Aussage auf dort gehen wir. Jeder ist kein glücklicher Camper. Wenn Sie sich diese Funktion ansehen, rufen Sie hier über Urlaubstyp Menschen nach Idee finden, kein Freund von Ideen. Asynchroner Sohn ging, um ein Gewicht auf dann zu sehen, das sollte kümmern, dass,
so dass Sie vielleicht nicht sehen, einen Pfeil, aber wenn Sie die Gelegenheit zu sehen, wissen
Sie, es ist alles, was Sie nennen. Stellen Sie einfach sicher, dass Sie die Überschreitung richtig machen. Jetzt. Create macht nichts, was asynchron ist. Es tut nichts Besonderes irgendwo, um das zu verlassen, also manchmal werden Sie sie konvertieren. Manchmal machst du es nicht. Tatsache ist, dass, wenn Sie es konvertieren und es nicht erforderlich ist als bizarr, Studio-Anpassungen vorgeschlagen haben, dass Sie nicht alle konvertieren, da Sie die synchrone Methoden sowieso nicht verwenden, so für den Beitrag für den Schöpfer, der einen Jagd Aufgabe, korrupte Aktion, resultierende Onkel Klammern auf. Dann scrolle ich nur und suche
langsam nach anderen Löschfunktionen. Ich ce Erfolg hier ist erstellen, die auf einer Spüle ist, also werde ich sagen, weg und sie bemerkten, dass diese rote Linie verschwindet, weil das Ergebnis aus wartet auf die Aufgabe abgeschlossen ist, ist der konkrete Typ. Ohne das, wie es von dieser Form kommen wird, wird
Shonka die Aufgabe Bulle bekommen. Also warte ich auf die Ergebnisse der Aufgabe. Und so ist das Ergebnis der Aufgabe das eigentliche boolesche Recht? Und das ist, warum das noch besser so oder Prozess über einen Fehler verarbeitet wird. Also bewegen wir uns auf die Bearbeitungen, die wir in unserer Aufgabe setzen, dann müssen wir die gleiche Art von seinem existiert hier machen undare erwartet die Ergebnisse aus dem Bericht. Also tippe ich das einfach ein, weil ich wirklich nicht verlieren möchte, was in der Zwischenablage etwas kopieren und einfügen. Dann kann ich diese,
ähm,
andere Elemente entfernen ähm, . Also nein, wir erwarten das Ergebnis aus diesen existiert und wir machen die if-Anweisung, ich warte auch auf den Fund von i d. Und dann bewegen wir uns weiter, dann ändern wir den Beitrag im Schlepptau auf Lockerung Aufgabe um, die Umlaufbahn. Wir schulden es, weil das asynchron ist. Und dann bewegen wir uns zum Löschen, sagen wir, sehen Sie, nachdem Sie sich an das Muster gewöhnt haben und es ist wirklich nicht so schwierig, Ihr
Gericht einfach zu konvertieren , um alle Gehäusefunktionen oder das Gehäusemuster zu verbrauchen, dass Mitt Core hat es uns so einfach zu implementieren
gemacht, oder? So überall, wo Sie einen Knien singen Anruf haben. Sie stellen nur sicher, dass eine die Funktion asynchron ist, auf die Sie den Anruf warten. Alles klar, das ist es für den Leave-Typ-Controller. Sieh dir das an. Wir sind fertig. Also, wenn wir einen Build Randhawa und sehen, die Luft kommt zurück von den Typen Controller auf , können
wir sagen, dass Datei, aber wir haben immer noch verlassen Anfragen und verlassen Zuweisung. Also werden wir wieder Anfragen zusammen lassen, dann werde ich Sie verlassen, um die IV-Zuteilung zu tun, und dann werden wir einfach Notizen vergleichen. Alles klar, also für den Index, werde
ich diese Zehenaufgabe einfach umwandeln. Dann. Ich schaue nur durch. Also finden Sie alles, was wir brauchen, um die Ergebnisse abzuwarten. Finden Sie alle auf. Sehen Sie nichts anderes von oben ist nicht implementiert oder mop. Denkst du das? Gibt es da? Ich singe ein Singen. Nun, das
gibt es nicht. Also, das ist in Ordnung. Wir können mich auf meinem Urlaub bewegen. Ich werde das synchron treffen. Also habe ich die Aufgabe übernommen, auf die ich mich verlassen habe. Dann bekommen wir wunde Punkte, wo wir User Manager verwenden. Wir hatten Benutzer eine Spüle auf, dass bekommen. Ich sagte, kein Ergebnis. Also denken Sie daran, dass ich sagte, wenn Sie warten, dann bekommen Sie das Ergebnis aus dem Anruf als konkreter Typ. Das ist es, was hier passiert ist. Also, dass die Ergebnisse uns tatsächlich über den konkreten Typ geben? Nein, ich glaube nicht, dass diese Ergebnisse tatsächlich sind oder oder die Beschleunigungsfunktion so aufrufen, dass die asynchrone Funktionalität, die Zehen gewährt wird,
tatsächlich voll ausgenutzt wird. Also, was ich tun werde, ist, die Punktergebnisse zu entfernen, auf Anruf zu
warten. In Ordnung, also nein, wir haben User Manager Dot noch Benutzer eine Spüle und wir haben nicht die Ergebnisse des Arztes. Was also passiert ist, ist, dass
ich Sie an dieser Stelle nicht überwältigen wollte, damit wir den
Benutzer-Manager nutzen,ein Waschbecken benutzen können,
also habe ich es in Benutzer-Manager nutzen,ein Waschbecken benutzen können, ein Waschbecken benutzen können, Ruhe gelassen. Ich habe nur diese Ergebnisse verwendet. Sie sehen also, dass Sie diese Ergebnisse verwenden können, oder Sie können den gesamten Block einfach asynchron machen, um den tatsächlichen Beschleunigungsaufruf zu erleichtern. Richtig? Kein Weitermachen. Wir sehen, dass wir den Bericht über den Urlaub nur durch Schweben haben. Ich sehe, dass dies eine Aufgabe ist. Dieser hier ist auch eine Aufgabe. Das weiß ich
auch,weil auch, ich die Änderungen vorgenommen habe. Mein Programm. Richtig. Also ich verstehe Wartet diese beiden Anrufe meine Dauerwelle oben auf dann gibt es keine Ursache mehr als Uday Singh, so dass wir uns in Details bewegen können mich die Funktion oder die Option. Entschuldigung. Die, ähm, Aktionsergebnisse. Wir machen es Sie denken, wir sind Gewicht auf. Dann gehen wir zu genehmigten Anfragen machen es ein Waschbecken auf. Dann können wir nicht warten. Also beachten Sie, wenn ich es in dieser Zeile weglege, es ist Benutzermonitor. Benutzer-Manager, erhalten Benutzer eine Senke auf dann ist es, dass Ergebnisse. Also mit dem Ergebnis, dass, wie es nicht funktioniert, so ist es das eine oder andere. Also, wenn Sie Funktion ist keine Senke, dann können Sie die Punktergebnisse verwenden. Wenn Sie es zu einem Waschbecken machen, verwenden Sie einfach das G Wort. Ah, warte und entferne die Punktergebnisse. In Ordnung. Also können wir all diese Ursachen abwarten und feststellen, wie viele Erden weggegangen sind, als ich gerade sagte, ich warte darauf. Sie waren tatsächlich über den konkreten Typ, erforderlich war
, um mit auf zu beginnen, als ich weglegte eine Träne. Diese anderen Fehler unten sollten dann verschwinden. Weißt du, es sind die grünen Linien hier. Also sagen diese grünen Linien, dass ich hier die asynchrone Funktion aufrufe, aber es verwendet auch das Senker-Zeug. Also, wenn ich darüber bin, dann sehen Sie, dass der Haftende sagte, dass er das ist, was er einfach einfügen kann warten. Alles klar, das gleiche, was ich gesagt habe, ist etwas bizarres Studios vorschlagen, dass Sie einfach ein
Gewicht vor Ihre Funktion legen ,
denn in Ordnung, also bewegen wir uns weiter. Ich wünschte, ich wüsste die Situation, in der ich versucht habe, dich vor der Komplikation zu schützen, aber hey, wo Brad? Zurück hier auf dso mache ich Ablehnungsergebnisse. Asynchron auf Kerl. Machen Sie einen Vorteil aus der Benutzer-Manager bekommt Benutzer eine Spüle und sehen weg auf. Dann sollte sich das um einige Dinge kümmern. Ich werde auch auf den Fund warten, indem ich darauf rufe. Ich ging, um den Aufruf zu warten, um zu aktualisieren und ich gehe entlang zu erstellen machen es eine synchrone Andi einfügen meine sind Unkraut, wo es notwendig ist, und Sie sehen, wie viele Dinge dort gelöst werden. Vielleicht rede ich nicht so viel? Nein, weil ich glaube, ihr fängt an. So oder so, ich werde nur durchmachen, ich werde nur diese Änderungen vornehmen. Du kannst ein Video immer an jedem Punkt anhalten,
an dem ich mich vielleicht zu schnell bewegt habe und dort zurückspulen, wo er es nicht verstanden hat. Bei def all das an und fühlt sich frei, mich zu erreichen. Das ist, dass wir einen Dialog haben können, unser eigenes, was getan wurde. In Ordnung, also ziehe ich mich einfach durch. Und ich denke, ich bin fast fertig mit diesem Controller, wo eine angespannte eine Anfrage machte es jeden Gedanken eingefügt ein Weizen eingefügt einen Weizen wieder. Für mich ist es also
das Ziel, keine Linien zu haben. Ob sie grün blau sind rot, aber vor allem lesen Gottes Wort bedeutet, dass es nicht laufen wird. Aber egal, ob sie grün oder blau sind, entfernen Sie
einfach alle Zeilen, so dass das Löschen jederzeit nicht anwendbar war. Lassen Sie den Anforderungscontroller Also gehen wir weiter, um einen Standortcontroller auf DSO zu verlassen. Sie können das Video hier pausieren, versuchen Sie es selbst. Ich werde es tun, und dann sind wir nur Computerdateien. In Ordnung, also bin ich wieder an, habe die Änderungen jemand gemacht, um jede Funktion auf dso durchzugehen. Nun, ich habe die Änderungen vorgenommen, und offensichtlich habe ich sie nicht abgeschlossen, denn hier haben wir die Blatttypen mit Warten auf den Fund, alle auf der Liste Ära, die wir gesehen haben, wenn wir Typen verlassen werden, -Steuerelemente, verstehen. Zehe mir diese Einstellung und sieh das an, um diese Seite aufzulisten. Wenn Sie mit einer eleganteren Lösung gehen,
zögern Sie nicht, sie zu teilen. Ähm, aber dann können wir mit diesem hier fortfahren. Das ist also der Index. Hat es intern synchrone Funktion abseits des Kurses gemacht. Legen Sie meine weg. Es bewegt sich zu setzen verlassen haben, dass wir warten, sind wir, um die Punktergebnisse vom
Benutzer-Manager zu entfernen In der if-Anweisung
habe ich auch die überwiegt eingefügt Also noch
einmal,sobald habe ich auch die überwiegt eingefügt Also noch
einmal, Sie eine Funktion haben, die auf asynchrone Funktion aufgerufen wird, Sie können einfach das Unkraut in Ordnung bringen. Es funktioniert fast überall und was zu sagen Fast überall. Na gut, dann
drauf. Ich steckte die heraus. Warten Sie hier auf das Erstellen für die Liste Mitarbeiter. Ich habe gewartet, dass der Benutzer-Manager Regeln bekommt. Holen Sie sich Benutzer in ländlichen eine Spüle, entfernen Sie die Ärzte. Schau, das war im Detail da. Ich okay, also habe ich einen verpasst. Also habe ich es hier für die Kartierung für die Angestellten weggetan. Aber das habe ich vermisst. Also ist es gut, Noten zu vergleichen. Ich bin sicher, Sie haben auf mich hingewiesen, wenn Sie gute Arbeit geleistet haben. Also für die Zuteilungen waren Weg. Es bekommt die Urlaubsanweisungen von Mitarbeitern. Andi, das ist in der Kartierung erledigt. So Philosophien unterscheiden sich in Begriffen aus, wie wir mit diesen Funktion Ursache umgehen und wurden sie gesetzt. Also wirklich, eigentlich, für vielleicht pädagogische Zwecke, eigentlich, dass Sie einfach den Funktionsaufruf hier durchführen können. Ähm, meine Vorliebe ist es, sie in ein schreckliches zu bringen. Also würde ich eine Variable definieren, in der ich die sie verwenden würde, die von dieser
Funktion abdeckt . Rufen Sie an. Dann würde ich das verbale im Schlepptau passieren. Diese, ähm, volle Single für sie. Richtig? Also, das ist meine Vorliebe, wirklich und wirklich. Aber wir lassen es einfach. Ich bin nicht literate Faktor, um zu viel zu zitieren, weil, naja, das ist neu. Ein neues Thema, Andhra. Es zu diesem Zweck zu faktorieren ist nicht unbedingt notwendig. , um dieses Thema über zu bringen, also werden wir einfach weitergehen. Also für die Bearbeitung, ähm, wir warten hier auf den Beitrag für die Bearbeitungen. Wir warten auf den Rekord. Wir auch ah, Weizenerfolg auf Das ist es für die Umwandlung oder Controller. Also, wenn ich einen anderen Build mache, dann sehe ich, dass dies tatsächlich sehr erfolgreich war. Also ist ein Build gelungen, auf dem ich das Programm ausführen und in einige dieser
Controller gehen werde . Stellen Sie nur sicher, dass nichts kaputt gemacht hat. In Ordnung, also führe ich meine Bewerbung aus und ich liebe es, erfolgreich zu sein. Lass mich einfach, du weißt schon, sie
zu eigen nehmen. Stellen Sie sicher, dass ich sehe, was ich erwartet zu sehen. Also hier sehe ich, dass ich Glaubensaufgabe herbeibringe, von dem, was dies
unser Fund alles in Ordnung gewesen wäre , wenn ich gehe, um Zuweisungen zu verlassen und ich auf Mitarbeiter zuweisen klicken kann, all diese Funktionen von ihnen sind während jeder Ausnahme . Also ich denke, sie waren Anfragen hier an so denken Sie daran, dass alle diese bekommen oder irgendetwas , das Daten abruft. Alle von ihnen hätten Bean gut in asynchrone Funktion umgewandelt. Also ich denke, es ist sicher zu sagen, dass wir nichts kaputt gemacht haben, wenn ich einfach auf unsere eigenen klicke, ich habe immer noch alle Funktionen, die ich vorher hatte. Sie funktionieren alle ziemlich gut, so dass die Anwendung im Allgemeinen nur besser aus dem System nutzen würde. Ressource ist, wenn Sie die Datenbank abfragen und Daten auf gut mit Benutzern abrufen, die
mit ihm interagieren auf, werden
Sie die schlechten asynchronen Funktionen im Laufe der Zeit sehen. Wie Sie wissen, erhöht
Systemlast wird es machen will uns wieder. Bessere Nutzung der Ressource ist verfügbar.
53. Übersicht und Änderungen in GitHub: Hey Leute, wir sind in dem Abschnitt, in dem wir nur überprüfen, was wir getan haben, und dann überprüfen wir unsere Änderungen, um zusammenzuhängen. Also noch einmal, nur eine kurze Rezension. Was wir in diesem Abschnitt getan haben, war, dass wir unsere asynchronen Funktionen in unserem
Repository implementieren . Also bekam jede unserer Schnittstellen die Aufgaben-Deklarationen für die Funktionen. Die Länderklassen, die von der Basis oder vom Repository
geerbt hätten, das von der Bestie geerbt wurde, hätten auch diese asynchronen Erklärungen oder Modifikationen erhalten. Wir haben auch darauf geachtet, Entität,
Framework-Kern einzubeziehen , damit wir die asynchronen Funktionen, die
Entitätsframework uns geboten hat, voll ausschöpfen können. Dann haben wir diese Bit off Arbeit in unsere Controller und Aktionen erweitert, denn sobald Sie asynchrone Funktion
waren, die Art und Weise, wie wir mit den Änderungen interagieren. Also die anfänglich, dass wir damit interagierten und zunächst das Gericht ein
bisschen gebrochen werden musste , erleichtern diese Veränderungen. Also überall, wo wir eine Funktion hatten,
uh keine synchrone Funktion aufgerufen , mussten
wir das Schlüsselwort ein Weizen hart setzen und wir meinen auch, dass alle für Aktionen synchron sind, so dies einfach bedeutet, dass wir zukünftig alles schreiben können, was es ist synchron eingeschaltet. Sie den vollen Vorteil aus dem Pilot-Programmiermechanismus, dass Punkt-Netzkern uns jedes
Loch in diesem Video bietet . Wir werden unsere Änderungen einsehen. Wie üblich gehen
wir einfach zu unserer Lösung, rechten Maustaste, klicken Sie auf Pendeln. Dann wird es uns mitteilen, dass wir eine Nachricht schreiben müssen. Also gehe ich Zeh, fange an zu tippen und ich werde das geänderte Repository sehen. Lassen Sie mich einfach so schnell anfangen. In Ordnung, also liest meine Nachricht den Change Depositor Controller auf tatsächlichen Ins, um asynchrone
Programmierung zu unterstützen . In Ordnung, also das ist meine Commit-Nachricht auf. Dann lassen wir einfach dieses Auto es geht, um alle zu begehen und sinken, die uns bieten, die Änderungen lokal zu begehen und dann mit digitalen synchronisieren. Also, wenn das fertig ist, können
wir natürlich gehen, um Hub zu bekommen. Wir werden die Änderungen der neuesten Commit auf die neueste Ruhe sehen. Es geschah vor ein paar Sekunden auf Wir werden die Änderungsnachricht dort sehen. Also, wie üblich, werde
ich die spezifische Zehe diese Chance mit Ihnen teilen, damit Sie diese
Änderungen auf eigene Faustüberprüfen können Änderungen auf eigene Faust
54. Überprüfung von Programmieren: Hey Leute, willkommen zurück. In diesem Abschnitt werden wir
verschiedene Codierungsmuster untersuchen und untersuchen, warum wir sie brauchen. Also in diesem speziellen Video möchte
ich nur einen Schritt zurück machen,
schauen Sie sich an, was kommt aus der Box mit oder MVC.net-Kernanwendung. Und dann können wir uns ansehen, warum wir unser Muster umgesetzt hätten. Denn während ich kurz auf die Out-of-the-Box-Funktionalität anspielte, gingen
wir wirklich nur zur Implementierung des Repositorys,
ohne wirklich zu erkunden, warum wir die Repository-Pots-Arena brauchen. Und dann werden
wir uns die Schwächen des Projektarchivs über Cern und
das ganze Wochenende gut ansehen , sowohl die Implementierung der Arbeitseinheit als auch welche Vor- und Nachteile sein werden. Also lasst uns das beginnen. Ich habe das Lead-Management-Projekt und was ich tun werde, ist,
einen Controller und seine jeweiligen Ansichten mit dem Out-of-the-Box-Gerüstmechanismus zu generieren . Also noch einmal, wir kurz die beginnt gemacht werden, wo wir gingen, um für die Kontrolle der Folgen
hinzuzufügen und hinzuzufügen, fügen Sie neuen Controller hinzu. Und dann können wir MVC-Controller mit Ansichten mit Entity Framework-Anzeige auswählen. Und dann wählen wir unsere Modelle aus. Also werde ich nur benutzen, sagen wir, gehen wir. Lassen Sie uns eine einfache Ein-Blatt-Typen finden. Also lassen Sie eng, sorry, nicht den Repository-Typ. Ordnung. Also werde ich den Blatttyp verwenden, um zu generieren, zu zerreißen. Jetzt in früheren Teilen würde ich irrtümlich das Ansichtsmodell verwenden, sagen
wir, eine US-View-Zuweisung oder einen elif-Typ VM, richtig? Ich hätte lebenslange VM verwendet und die Datenkontext-Klasse hochgehoben. Und das war ein Fehler meinerseits, denn sobald Sie die Datenkontext-Klasse einschließen, wird automatisch davon ausgegangen, dass dies eine Datenbanktabelle ist. Und wenn es nicht bereits im Datenordner enthalten ist, wird
es dann in den Anwendungs-DB-Kontext aufgenommen. Ordnung? Also, wenn Sie Bach und Sie sehen eine Blattbindungs-VM und eine der VMs im BB-Set hören, können
Sie sie sicher entfernen. Haben sie nicht da sein sollten. Aber wenn Sie Gerüst mit einer Klasse arbeiten, die bereits vorhanden ist. Also werden in diesem Fall Leaf-Typ-Controller,
Controller-Ansichten mit Entity Framework verwendet . Und dann wählen wir Blatttyp aus und wir lassen die Anwendung im DB-Kontext dort. Und ich werde es nur erlauben, den Controller zu nennen, sagt verlassen Typen einen Controller und ein altes Problem, weil RAW-Typen Controller, also fügen Sie das und diese Aktivität hinzu, Sie müssen nicht unbedingt tun, was ich tue. Ich mache es wirklich nur für Demonstrationszwecke, nur weil wir unsere Diskussion wollen. Alles klar, sobald das Gerüst fertig ist und es mit Datenklasse gemacht wurde, dann werden Sie sehen, dass es Kontexte initialisiert. Also Anwendung DB-Kontext, das ist sein ART-Gateway zu den Daten. Es hat den Kontext. Das ist also das sofort einsatzbereite MVC-Muster bei der Arbeit, richtig? M stehend für Modell V4 Ansicht CFO Controller. Richtig. Und wir haben durchgemacht, was die MVC, was jede Komponente, diese. So ist das an sich eigentlich ein Muster. Dieses Muster wurde entwickelt, weil das, was
passieren würde , ist, dass Sie eine Menge Logik haben würden, wie das, was in dem Controller mit dem HTML verwechselt wird, fast in der Ansicht ist. Und dann passiert die Datenverbindung und Datenkommunikation genau dort. Also versuchten sie,
diese drei unterschiedlichen Funktionalitäten in das M für das Modelldatenmaterial zu abstrahieren , V für die Ansicht, das visuelle Zeug und für die Kontrolle des logischen Zeugs zu sehen. Jetzt, wenn wir dies aus dem Box-Controller bekommen und es injiziert die Anwendung DB-Kontext. Sie werden feststellen, dass es tatsächlich all diesen Code für Sie generiert. So haben Sie die Möglichkeit, alle Kontexttypen zu lesen oder zu lesen. Dies ist also nur einfache Verknüpfungskontexte, Blatttypen zu Listen. Wir haben das durchgemacht, oder? Doch die ersten unsere Standardwerte, wenn Sie Gua Bindung an die Datenklasse erstellen werden. Und wir können diese Liste ändern, um zu sagen, dass wir keine eintägigen Kreationen mitbringen wollen. Es würde weitergehen, all dies zu bringen oder jemand setzt zusätzlich, sie sind nicht bereits ein Teil des Modells, dann können wir sie mit dieser Liste ignorieren. Ordnung, also ist das alles aus der Box und es ist einfach für einen Anfänger zu holen und anfangen zu verwenden, und das ist kein Problem, es funktioniert für Microsoft gab uns eine gute Vorlage, von der beginnt. Der Grund, obwohl wir beginnen, ein Muster über das zu implementieren, was aus
der Box kommt , hat mit Minton Fähigkeit und möglicherweise Lesbarkeit zu tun. Bedeutung in diesem Fall dieser Bindung, zu Hause wartbar Ist dies, wenn wir diese Datenklasse ändern müssen. Und dann müssen wir Felder hinzufügen, um die Stadt zu verlassen, denn dann kommt das Geschäft zurück. Also Census hey, wissen Sie, verlassen Typ muss diese zusätzlichen USA haben, wir fügen sie hinzu. Sicher, wir modifizieren sie und müssen daran denken, zurück zum Controller zu kommen, erweitern Sie diese Liste der entbeinten Felder für die erweiterte Liste für die Bearbeitungen. Und dann ist das ein Zyklus, der jedes Mal hin und her gehen muss. Und, weißt du, ich denke nur, dass das nicht nachhaltig ist, oder? Dann implementierten wir das, was wir MVVM nennen, zusätzlich
zu diesem ganzen Mechanismus. MVVM ist also die Abkürzung für Modell, Ansicht. Modell anzeigen. Ordnung? Also MVVM ist im Grunde, wo wir das View-Modell eingebracht haben. Also haben wir abstrahiert, wie Leaf-Typ wirklich aussieht und ihn in Form eines Ansichtsmodells eingefügt. So dass dann diese Bindung losgeworden ist, listet
die Abhängigkeit von dieser Bindung auf. Und dann könnten wir wissen, wie das Ansichtsmodell aussehen soll. So wird es automatisch an die Blattbindungs-VM gebunden, richtig? Zusätzliche Felder müssen gehen und wir gehen einfach zum Typ VM zu verlassen und fügen sie
hinzu und sie werden Universität hinzugefügt, weil
wir uns das Modell ansehen, wir betrachten diese Bindung zumindest nicht mehr. Alles klar, dann können wir begrenzen, was wir wollen, durch all unsere Ansichtsmodelle. Das ist also das erste Muster, auf das wir wahrscheinlich achten und sagen könnten,
okay, so dass Sie sehen können, wo das Model-View-ViewModel tatsächlich implementiert wurde. Also haben wir ein Ansichtsmodell zu einer Art von Medien hinzugefügt zwischen dem realen Modell, dem Blatttyp, der aus dem Datentypglas kommt, und der Ansicht selbst, die die Anzeige der Daten ist. Das ViewModel hat die Felder hinzugefügt oder subtrahiert, die wir für die Operationen als notwendig erachteten. also von MVVM
weitergehen, lassen Sie uns ein wenig über einige der automatisch generierten Datenzugriffsquoten sprechen. Also haben wir Kontexte, Punkt-Punkt-Punkt, IV-Typen, Punkt ac, dieser, der zuerst Standardwerte gestartet hat. Und wir haben sie überall, richtig? Ich musste etcetera finden, etcetera. Nein. Die Sache ist, dass, wenn ich brauchte, um Kostüm Weg, um Butler verlassen Typen zu bekommen. Und ich denke, wir mussten etwas damit tun,
die Urlaubsanträge für ein bestimmtes Jahr
oder jemandes Urlaubsanweisungen für ein bestimmtes Jahr zu bekommen die Urlaubsanträge für ein bestimmtes Jahr . Dann bedeutet das jedes Mal, wenn ich diese Liste abrufe, nachdem ich daran denke,
meine WhereClause anzuziehen und dann das Lambda wo und was auch immer anziehen. Nehmen wir an, sagen wir einfach, Standard ist,
ich sagte, es würde die Zuweisung verlassen, was wir hier Blatttypen verwenden. Also das nur Humor mich, überschwemmt. Also würde ich mich daran erinnern, das jedes Mal zu tun, wenn ich
Trend bin , Buck Leave Typen Nachmittage im Index und jedem anderen
benutzerdefinierten Bildschirm nach Rhomboid zu Pool , wenn ich eine Dropdown-Listen mache, wo die Blatttypen nach erinnern, zu schreiben die Abfrage jedes Mal genau so. Und dann führt das zu einer gewissen Wiederholungsmenge. Und obwohl es für eine kleine Anwendung in einem Unternehmensumfeld praktikabel sein könnte, ist
es nicht nachhaltig, da sich Geschäftsregeln fast jede Sekunde ändern können. Und Sie wissen, Sie müssen in der Lage sein, es
Anwendung schnell zu ändern , basierend auf diesen neuen Anforderungen. Deshalb stellen wir dieses Hindernis vor, das wir das Repository nennen. Okay, also lassen Sie mich einfach zum Repository springen. Also des Leaf-Typ-Repositorys. Und das ist die Implementierung vom elif-Typ-Repository und von der Erweiterung aus dem Repository des B. Also hatten wir das Basis-Repository, weil wir wissen, dass es dort gibt. Dies sind die grundlegenden Funktionen, die wir immer tun werden. Wir werden immer eine Menge Menge an Crowd-Finanzierung tun. Und dann können wir sie immer schließen Mies, genau wie wir einen von ihnen finden, indem wir ihm ein eigenes Repository geben. Also für den Blatt-Typ, konnte
ich sehen, dass, wenn ich alle für die Blatttypen
finde, ich mich treffen wollte, fertig. Also dann haben diese benutzerdefinierten Abfragen eine 1s geschrieben, eine Protease und anderswo verwendet, wenn er aktualisiert werden muss, habe ich nur eine vorinstalliert. Das ist also einer der Vorteile des Repository-Musters. Und alles, wo Repository-Muster ziemlich ärgerlich werden kann, ist in dem Fall, wo wir mit vielen Repositories interagieren müssen und Request Control ein perfektes Beispiel dafür ist. Wir müssen also auf
drei verschiedene Repositories verweisen , da wir mit drei verschiedenen Tabellen interagieren mussten. In diesem Controller. Ich meine, es funktioniert. Wir haben es so weit geschafft. Aber dann, weißt du, mich war es tatsächlich ein bisschen 1B und weil es so ist,
oh, ja, ich weiß, dass ich dieses Repository brauche. Oh, ja, nein, brauche das, et cetera, et cetera. Deshalb schauen wir uns also an, die Einheit des Arbeitsmusters zu implementieren
, wo wir ein IV oder generisches Repository Bs haben werden. Und eine Repository-Implementierung,
die für alle Tabellen ausreicht, auf die zugegriffen werden muss. Oder mit all den Tabellen, auf die wir eher zugreifen müssen. Ordnung. Also das war nur ein kurzer Durchlauf, warum wir es in das Repository Potter,
und ich hoffe, Sie werden zu schätzen wissen, warum die Repository-Butter und war bis zu diesem Punkt nicht notwendig. Aber dann, sicher, oft während der Urlaub Zuteilung Aktivitäten, werden
Sie feststellen, dass, okay, das war ein bisschen ärgerlich. C in diesem Fall bin ich das nach Ort, wo ich dies zweimal in Anfragen tun kann. Wir mussten, weißt du. So könnte es ein bisschen ärgerlich werden, wenn Sie 56 verschiedene Repos,
sogar Wafer, einbringen müssen, brauchen Sie nur eine Abfrage nicht gegen eine der Tabellen. Also im nächsten Video, was wir tun werden, ist, zu sitzen oder
unser Basis-Repository zu ändern , um ein bisschen allgemeiner zu sein. Und dann werden wir unsere Einheit aus dem Arbeitsmuster implementieren und ansehen, wie das uns helfen kann, mehr zentralisierten Code,
mehr anpassbaren Code zu haben und sogar einige der Funktionalitäten wie mit dem Find us zu
erweitern, weil es Zeiten gibt, in denen wir alle finden mussten und dann ein Lambda-Ausdrücke des Feldes darüber schreiben mussten. Wir werden also all diese Dinge implementieren, bei denen wir
filterbare Funktionen erstellen und ein leistungsfähigeres Repository haben können . Bleiben Sie also herum.
55. Generic: Na gut, Jungs, willkommen Dollar. Also lasst uns direkt hineingehen. Die erste Aufgabe besteht also darin, unser Basis-Repository zu ändern. Und alles, was wir bereits gemacht haben, einen guten Job City Antilope ziemlich generisch zu sein. Und dann haben wir die konkreten Implementierungen pro Klasse. Nachdem ich generisch war, wollte
ich zunächst die Funktionen hier irgendwie ändern, nämlich die Weile, die Suche, die
ganze Suche nach ID. Und die Leichtigkeit existiert, oder? Nun, was ich denke, ist, dass richtig, nein, diese erlauben es nur zu finden, wenn es eine ID hat, aber was, wenn es eine andere Bedingung gäbe, die Sie finden wollten, dann müssten Sie alles finden und dann einen dot any, wenn Sie bekommen, was ich versuche, diesen Job zu bekommen, ich weiß, dass Sie kompetent genug in LinkdIn sind. Ganze Entsalzungsarbeiten. Aber was, wenn ich herausfinden wollte, ob es
irgendwelche Urlaubsanträge gibt , ohne bestimmte d zwei an einem bestimmten Datum oder ganzen Mini beginnen, die Urlaubsanfragen sind XYZ, richtig? Dann müsste ich benutzerdefinierte Abfragen in jedes
der Repositories für jedes schreiben , richtig? Also haben wir unsere Verträge und wir haben unser Repository fettleibig. Sicher. Aber wenn ich benutzerdefinierte Abfragen für
Urlaubsanfragen wollte , müsste ich hier einige davon haben. Und was wirklich in jedem von ihnen tut, ist, auf das Feuer zu schauen und dann alles zu filtern, was es auf der Suche nach allen Ergebnissen basiert. Was, wenn wir das Fund erweitern? Wir könnten unseren Ausdruck einfach als Parameter einschließen. Und dann, wenn der Ausdruck vorhanden ist, dann wird er automatisch als unser Filter fungieren. Okay, das ist es, was ich tun will, zufällig. Also anstatt zu sagen, finden Sie alle nur leer oder Sie wissen, was ich tun werde, werde
ich eigentlich nur von Grund auf anfangen. Also, ohne das Basis-Repository zu ändern, werde
ich nur ein brandneues machen. Also lasst uns einfach von vorne anfangen und es von Grund auf tun, um Verwirrung zu vermeiden. Also werde ich eine neue Schnittstelle erstellen. Und lass es mich einfach drunter machen. Also in der gleichen Datei, lassen Sie uns eine Datei haben, die ich nur eine andere Schnittstelle erstellt. Also öffentliche Schnittstelle. Und ich werde es generisch nennen, und wir nennen es s1, ich generisches Repository. Und es wird der gleichen Art von Inkrementierung folgen. Haben Sie die Abstraktion, die T ist und wir spezifizieren, wo t abracadabra sein soll. Ordnung? Und dann werde ich so ziemlich die gleichen Funktionen haben. Ordnung? Aber dann, wie ich schon sagte, werden
wir Modifikationen haben, um ihre Umsetzung zu halten. Ich habe dh Sammlung beauftragt. Ich meine, nun, es ist parses sowieso nicht in alist, also könnte wahrscheinlich nur sehen, dass ich von Anfang an auflisten, richtig? Und dann wird die Suche alles
drei Parameter haben und ich breche einfach in der Zeile
, so dass ich Ihnen jeden Parameter einzeln zeigen kann. So haben wir die Fähigkeit, einen Ausdruck zu schreiben. Und ich sage diesem Ausdruck, dass es
ein Telefon Sean sein wird , das beinhaltet, das ist FUN. C, sorry, das beinhaltet ein Generikum, das das gleiche T-Generikum ist, irgendeine Form von Boolean. Und ich nenne es Ausdruck. Das ist also eine Syntax. Dies ist also im Grunde der Datentyp für einen Lambda-Ausdruck. Ordnung, also, wenn Sie an einem Lambda-Ausdruck sind, der wie j2 aussieht, und dann haben Sie Ihre Lambda r und q dot-ID ist äquivalent zu etwas. Schreiben Sie den Lambda-Ausdruck, den Sie schreiben würden. Buchstäblich ist dies der Datentyp, der erleichtert, daher würde dieser Wert in diesem Ausdruck gespeichert werden. Ordnung? Also Q stellt den Tee und Ihre Boolean hier wird durch diesen Ausdruck am Ende davon dargestellt. Alles klar, das ist es, was wir erleichtern, wo jemand sagen kann,
alles zu finden und dann den Lambda-Ausdruck zu setzen, wenn Sie ein Feld hinzufügen möchten, das alles von Anfang an findet, dann tun Sie damit. Aber dann ist es nicht die ganze Zeit, dass jemand einen Filter will, also müssen wir ihn standardmäßig null machen. Wenn also keine zur Verfügung gestellt wird, dann gehen wir davon aus,
dass wir einfach alle Aufzeichnungen zurückbringen. Wenn dies nicht null ist, müssen wir die Funktion so einrichten , dass sie die Filterung durchführt und dann zurückkehrt. Möchte auch die Fähigkeit hinzufügen, Kunst oder von jemandem FUN NCI zu sagen. Und ich werde angeben, dass das abfragbare für was auch immer t das generische ist, richtig? Und dann werde ich sagen, ich bestelle oder bestelle ich abfragbar. Da gehen wir. Bestellbar für dasselbe Generic, richtig? Das ist also, was diese Funktion sein wird. Und ich nenne diese eine Bestellung BY und auch gleich weit entfernt null, richtig? Denn wenn wir es bestellen möchten, nehmen Sie an, Sie wollten filtern, und dann wollten wir den Filter bestellen. Und hier etwas falsch zu sehen, eine zusätzliche Winkelhalterung. Da gehen wir. Ordnung, dann erlaubt uns dieser zweite Parameter, Q-Punkt,
Q-Punkt-Reihenfolge durch Senden zu sehen , oder es könnte einfach von bestellt werden, ist nicht wirklich wichtig. Aber mit diesem SecondParameter können wir angeben, dass wir
nach einer bestimmten Spalte in welcher Art und Weise sortieren möchten . In Ordnung, das ist also was. Auf den Parametern für. Und dann, wenn wir einschließen wollten, Denken Sie daran, dass manchmal
auf, Daten ziehen und manchmal mussten wir einschließen. Also ich denke, was wir getan haben, wir haben einfach durchgemacht und haben wie ein Großhandel für sie im Repository enthalten. Lassen Sie mich sehen, ob ich hier ein Beispiel für diese Lüge finden kann. Wir haben nicht eingeschlossen, so haben wir die Suche alles, was wir gesagt jedes Mal, wenn Sie alle finden, bitte fügen Sie den Blatttyp und schließen Sie den Mitarbeiter ein. Aber das stimmt nicht unbedingt. Es ist nicht jedes Mal, dass wir alles finden, was wir einschließen wollen. Also genau hier ist das Einschließen nicht optional, besonders hier unten ist es nicht optional, oder? So können wir tatsächlich etwas implementieren, um es optional zu machen. Also, was ich tun werde, ist eine Liste oder einen Parameter zu erstellen, der eine Liste vom Typ String sein wird. Und wir nennen dies eingeschlossen und wir haben auf null erstellt, richtig? Das bedeutet also, wenn ich alles finden möchte und ich darin eingeschlossen bin, es tut mir leid, ich bin daran interessiert, die zugehörigen Daten aufzunehmen. Dann kann ich auflisten, was ich hinzufügen wollte weil ich vielleicht eine Tabelle und nicht die andere wollen. Richtig. Und in einer anderen Situation möchte ich vielleicht nichts einbeziehen. In Ordnung. Also möchte ich nur alle Datensätze für diese bestimmte Tabelle ohne Includes finden, ohne Filter, et cetera, et cetera. Dann ermöglicht es uns,
die Anzahl der angepassten Abfragen zu reduzieren , die wir
schreiben müssen , um bestimmte Daten zu erhalten, denke ich hier, wie wir Check-Allokation haben. Nun, das ist ein Brauch. Das ist in Ordnung. Aber wenn wir auf einem gehen, wo umgestaltet, all dies ist Licht. Dieser bekommt Zuteilung durch Mitarbeiter genau hier. Wir haben eine benutzerdefinierte Abfrage abgeleitet, um die Zuordnungen zu erhalten und dann in den Filter zu setzen. Was wir tun, ermöglicht es Ihnen, einfach findall aufzurufen und Ihren Filter entsprechend hinzuzufügen. Also lasst uns voran gehen. Der nächste, den ich ändern möchte, ist die Suche nach ID. Nein, ich möchte keine Suche nach ID angeben, da es andere Faktoren
geben könnte , die ich verwenden möchte, um einen bestimmten Datensatz zu finden. Anstatt nur von IBM zu finden, wann man ihm die gleiche Art von Ausdruck oder die Fähigkeit gibt, einen Ausdruck zu erleichtern. Also werde ich das einfach kopieren und es stattdessen als Parameter verwenden. Und dann werde ich Ihnen auch die Möglichkeit geben andere rote Karten oder andere verwandte Tabellen
einzubeziehen, richtig? So haben Sie den Ausdruck und dann können Sie,
wenn Sie das schon wünschen, einschließen , wenn Sie überhaupt brauchen. Ordnung? Und dann für die Xist, sagen
wir, es ist dasselbe. Ich möchte vielleicht herausfinden, ob etwas existiert. Nicht nur basierend auf der IID, sondern basierend auf etwas anderem, basieren auf einem Ausdruck. Dieser Ausdruck ist also sehr mächtig, weil
er uns wieder einmal erlaubt, fast jeden Ausdruck hier einzugeben, und er wird nur diesen Ausdruck und die gewünschten Ergebnisse ausführen. In Ordnung, das ist also ziemlich genau das für das generische Repository-Setup. Werfen wir nun einen Blick auf
die Einrichtung der konkreten Klasse, die von unserem neuen hochgenerischen Repository erbt wird. Und im Einklang mit der Namenskonvention werde
ich dieses ein generisches Repository nennen. Und in Übereinstimmung mit dem, wo wir implementieren und in Repositories
implementiert wurden, fügen wir ein BCE hinzu, aber dass wir mehrere erbende Schnittstellen für Verträge hatten. Und dann hatten wir durch Erweiterung mehrere erbende Repository-Klassen, richtig? Deswegen mussten wir am Ende des Tages
so viele Repos in alle Controller zu dieser Zeit injizieren . Also dieses Mal werde ich nur
eine neue Klasse erstellen und ich werde es nur generisches Repository nennen. Sobald wir also dieses generische Repository haben, muss
ich ihm sagen, dass Sie relativ zu einem generischen namens t sind. Und Sie werden I generisches Repository erben, das auch relativ zu einem
generischen t ist. ist eine Klasse. Jetzt getan, wie wir wissen, müssen
wir unser Repository Art implementieren, sorry, unsere Schnittstelle. Also geh weiter und tu das. Ich bekomme alle unsere Funktionen wie erwartet. Aber dann wird unsere Injektion jetzt anders aussehen. Die erste Zeile wird eine vertraute Zeile sein. Es wird unser Anwendungs-DB-Kontext sein. Und dann ist die zweite Zeile ganz neu. Es wird für einen DB-Satz vom Typ T sein. Jetzt hätten wir den DB-Satz gesehen,
dass die Syntax, die wir dafür verwendet haben, einschließlich der fehlenden Bibliotheken, diese Syntax vor einem DVD-Set gesehen
hätte, einschließlich der fehlenden Bibliotheken, diese Syntax vor einem DVD-Set gesehen
hätte,weil in der Anwendung DB Kontext und jedes Mal, wenn wir eine Tabelle hinzugefügt haben, mussten wir DB-Set verwenden. Und dann geben wir den Datentyp, Brot, Mitarbeiter, Anfrage usw. In dieser Situation wird jedoch
DB-Set auf das initialisiert werden, was auch immer t ist. T ist sehr generisch. Es ist also nur ein DB-Set für die generische Klasse. Und dann wissen wir natürlich, dass jedes Mal, wenn wir eine neue Klasse machen, wir einfach durch
unsere Abhängigkeitsinjektion Art Inversion des Kontrollbehälters injizieren , richtig? Also haben wir den Kontext, der initialisiert wird, aber wir initialisiert, um gleich dem
Kontext, dem Kontext-Punkt von t zu sein. Und diese zu initialisieren. Wo es initialisiert wird,
nachdem wir RDB-Kontexte initialisiert haben, dann sagen wir der Tabelle, richtig, dass Sie aus dem Kontext und Ihrem Offset sind, werde
ich sagen, erstellt einen DB-Satz von T-Entität. Also, wenn du siehst, dass diese beiden im Geheimdienst sind, ist das t wirklich ein Generikum. Also nennen sie es t oder Qualitätsklasse oder eine Einheit oder t, was auch immer. Es bedeutet nur, eine generische Klasse bin ich bereit, jede Klasse zu erleichtern, die in mich übergeben wird. Das meine ich wirklich. So erstellt es IDB sagte, dass verwendet werden kann, um Instanzen von dem, was auch immer es ist, abzufragen und zu sehen. In Ordnung. Beachten Sie, was auch immer t ist. Also ist es sehr, dass ich weitermache. Das Türgenerische wird wahrscheinlich von niemandem überbenutzt, ist sehr offen, oder, wo nicht so spezifisch ist, wie wir in unserem Repository waren, oder? Das generische Repository erlaubt uns einen Featuresatz für fast jede Tabelle
zu erleichtern, was auch immer es ist, ich bin in der Lage, mit ihm zu interagieren, da ich zwei brauche. In Ordnung, also lassen Sie uns mit den einfacheren beginnen, die einfacheren Funktionen zu implementieren. Schauen wir uns unsere Schöpfungen an. Also für die Schöpfer, Was wollen wir mit dem Schöpfer tun? Erstellt ist ziemlich einfach. Wir müssen nur sehen, wie es Und nun, ich muss tatsächlich treffen, dass diese synchron sind, denn natürlich
wollen wir die volle oder asynchrone Programmierung nutzen. So ist es schon eine synchrone Reihenfolge sind die Aufgaben auf dieser Seite. Lassen Sie mich nur sicherstellen, dass es eine Spüle auf diesem Rot gibt. Also asynchron für Create. Ordnung. Und dann, was wir hier tun werden, ist DB zu sehen. Nun, der Grund, warum ich pausiert
habe, habe ich gerade bemerkt, dass wir immer noch einen Bool zurückgeben, also werden wir das etwas ändern. Also in diesem Stadium werden wir keinen Boolean zurückgeben. Wir machen nur eine Aufgabe, oder? So können wir zurück gehen und Bool aus diesen Operationen entfernen. Und wir brauchen auch nicht das Sparen. Ich habe gerade eine Kopie gemacht und Frieden. Wir werden den CVE woanders implementieren. Also werde ich das einfach auskommentieren, damit Sie
diese Änderungen an der epigenetischen Repository-Schnittstelle vornehmen können. Der einzige, der einen Booleschen Wert zurückgeben sollte existiert aus dem, was ich denke, es wäre offensichtliche Gründe, aber die anderen führen Aufgaben durch. Und wir brauchen das C nicht, zumindest nicht hier. Das wird in einen anderen Abschnitt gehen. Okay, also gehen wir zurück. Und so, weil wir gerade diese Updates gemacht haben, müssen
wir die bool dieser Flows durch eine Update-Demo nehmen, alle, nehmen Sie alle speichern, bis die Stimmung der Updates. Und dann sollte unsere Schnittstelle aufhören zu beschweren. In Ordnung, also zurück zum Erstellen. Alles, was hier wirklich passieren wird, ist, dass wir Gewicht haben. Und dann können wir sagen, Unterstrich DB Sono dB ist unsere Verbindung, weil db nicht initialisiert ist, was auch immer richtig ist. Db stellt diese Tabelle dar. Aber es verwendet auch sehr generische Fähigkeiten, um einfach hinzuzufügen, entfernen und zu aktualisieren, oder? Also db.json async. Und was wir hinzufügen, ist, okay, und das war's. Wir haben gerade T. Also nach diesem Beispiel, sorry, nicht T, meine schlechte Entität, sorry, plus Konzentration dort. T-Entität, also fügen wir Entität hinzu, richtig? In Ordnung, also mit dem Löschen, was wir tun wollen, ist, dass ich auf die Punktzahl db Punkt warten, entfernen und entfernen Ising. Okay, es gibt kein Aliasing zu entfernen. Das bedeutet also, dass das keine Aufgabe sein kann. In Ordnung, also einfach entfernen und wir bewegen Entität. Okay, also lass mich weitermachen und das ändern. Dies ist keine Aufgabe, das ist nichtig oder so, ein bisschen Refactoring, aber wir wissen, dass das kommen würde. Also gibt es einen langsamen Dollar über Ingenieur, um zu vermeiden. Ich denke, Updates haben auch keine asynchrone. Also lasst uns das einfach ändern, um von hier aus zu vermeiden. Und dann finden Updates James Punkt zu nichtig. Und dann ist Update ziemlich einfach, ist db dot update, richtig? Ich weiß, dass Async da ist, also dass wir die Entität nehmen, das ist in Ordnung. Wenn wir also eine Zeile tun, wenn wir löschen, erstellt
eine Zeile eine Zeile. Ordnung? Sehen wir uns jetzt an, wie ich schon sagte, wir haben es zuerst mit den leichteren zu tun, oder? Also das nächste, das ich tun möchte, das existiert. Also schauen wir uns die existiert hier an. Wenn wir herausfinden müssen, ob etwas existiert, bedeutet
dies, dass wir alle Datensätze in der Tabelle erhalten müssen. Also werde ich eine Variable initialisieren, die ich vom Typ t abfragen kann. Und ich werde nur eine Abfrage aufrufen. Und das ist gleich DB zu unterstreichen. Obwohl, eine Sache zu beachten, wird
DB zur Kunst gehen, Sorry, ich abfragbar ist im Grunde wie ein Datentyp, der immer noch an das db-Objekt gebunden ist. Also, wenn Sie in nur die Abfrage gegangen sind, wird abfragbare Form sein, weshalb wir es normalerweise analysieren müssen, um Listen zu i unzählige für andere Operationen, aber in Wearable ist es wie immer noch tethered eine Auflistung der tatsächlichen Datenbankobjekte, wenn Sie sie analysieren. Es ist kein Datenbankobjekt mehr im Speicher gespeichert, daher ist es nicht mehr an die Datenbank angehängt. Also in diesem Repository Butter und wir wollen alles, was ich tragbar halten. Das ist, warum wir weiterhin KI queryable überall verwenden weil er so gebunden an die Bedürfnisse wie möglich bleiben wollte, bis
hin zu Wearable, um es in den Speicher für eine Anwendung freizugeben. Also kann ich vom Typ T-Abfrage abfragen, oder? Und dann kann ich wissen, dass C zurückkehrt. Und ich werde hier nur warten,
was bedeutet, dass es sinken muss, oder? Geben Sie unsere Anfrage zurück. Also query no verkörpert die ICC Wearable Version aller Datensätze in der Datenbank. Und ich ging zu einem Arzt. Jede A-Szene. Und dann rate mal, was ich tun kann. Ich kann den Ausdruck einfach übergeben. Denken Sie also daran, dass der Ausdruck, der Wert dieses Ausdrucks hätte ungefähr wie q,
r, was auch immer Lambda-Token aussehen würde . Und sagen wir, ID ist äquivalent zu zehn. Also gut, so würde dieser Ausdruck aussehen. Also, wenn ich diese Syntax direkt hier mache, würde es funktionieren. Also, anstatt diese Syntax hart zu codieren, richtig, vor allem, da es generisch ist. Das ist also ein wichtiger Teil. Beachten Sie, dass es eine rote Linie unter q gibt, weil q oder wirklich nicht, richtig? Und der Lambda-Ausdruck hier macht keinen Sinn weil alles generisch ist. Fragen Sie den Bb ab, er weiß nicht, ob er
ein ID-Feld oder ein Namensfeld hat oder es keinen Bogen hier hat. Also kann ich die,
die Überprüfung nicht hart codieren, um zu sehen, ob die ID hier existiert, weil sie nicht weiß, ob sie nicht ID q nicht weiß, was er ist. Es könnte sein, weshalb wir
seinen eigenen Ausdruck abstrahieren , so dass wir als Programmierer zu dieser Situation, wenn wir wissen wollen, ob es die ID ist, schreiben
wir einfach basierend auf der ID und dann basierend auf der Tabelle, die wir abfragen, die durch das bestimmt wird, was wir als T übergeben, dann kann der Ausdruck ausgeführt werden. Deshalb werden wir verkauft. Also noch einmal, generische Verwendung des Wortes Ausdruck und nicht harte Codierung irgendetwas, total. Okay, das sind die ersten Tage, bevor dieser Ausdruck funktioniert. Also schauen wir uns das nächste einfache an, das wäre, mit Öl nur zu fein zu finden. Das ist also dieser, richtig? Einfach gut. Also lassen Sie mich es asynchron machen. Ich bin sicher, wir werden asynchrone Operationen haben, die wir ausführen können und sehen, wie das alles funktioniert. Das erste, was wir tun, ist die DB genau die gleiche Art und Weise zu bekommen, wie wir in der,
im Ausgang, die ich abfragebare Abfrage gleich db gemacht habe. Dann nachdem wir unsere Abfrage gleich db ist, gehe
ich durch und schließe jemanden ein, um zu sagen, If include. Denken Sie also daran, dass unsere Parameter Includes uns eine Zeichenfolge oder eine Liste von String-Darstellungen der Tabelle bedeutet, falls das nicht klar ist. Das bedeutet also, wenn wir versuchen, etwas zu finden, wenn wir es nach, sagen wir, neuer Liste, neuer Zeichenfolge, Liste, oder? Und dann initialisieren Sie es, um Anführungszeichen,
Tabellenname Komma Anführungszeichen zu haben und tut eine Braut Täler. Also sehe ich, ob die includes-Variable nicht gleich null ist, dann zeigt es deutlich an, dass wir Sachen mit dem, was zurückgegeben wird, richtig einschließen wollten. Dann würden wir für jeden gehen und ein Wille für jeden sein. Sagen wir, ich nenne es einen Tisch, nur um klarzustellen, dass wir Tische einschließen, oder? Also für jede Tabelle, die darin aufgeführt ist, enthält. Wir sagen „Abfrage“. Denken Sie daran, Abfrage ist gleich Abfrage. Und wir haben Zugang zum Include. Und dann kann ich einen Tisch sagen, oder? Weil dies eine Darstellung aus dem Tabellennamen sein wird. Also sehe ich, dass dies alles einschließt, was in das einfällt. Gehen Sie einfach voran und schließen Sie es ein. Und dann am Ende all dessen kann
ich jetzt zurückkehren und das Ergebnis der Abfrage zuerst unseren Standard. Und rate mal, welchen Ausdruck. Ordnung, also eigentlich ehrlich gesagt, InOrdnung, also eigentlich ehrlich gesagt,sollte die X-Person nicht nullfähig sein. Denn was wirst du sonst finden, wenn das NULL-fähig ist? Okay, also werde ich tatsächlich die PNL von dort entfernen und mich zum Repository
zurückkehren und die PNL von hier entfernen lassen . Was NULL-fähig ist, ist das, was Sie einschließen möchten. Aber Sie müssen mir einen Experten für Bio geben
, den ich einen Datensatz finden werde, oder weil es keinen Sinn ergibt, richtig? Also dann geben wir o seine Abfrage zurück. Erstens, unsere Standard-asynchronen. Deswegen kommen wir dorthin. Rote Linie asynchron, Ausdruck Semikolon. So implementieren wir den neuen Fund als generisch. Und dann wissen Sie nach dem Größeren
, der der feine Hund ist. Und das ist der größere, weil wir die drei Parameter haben. Also meine ich nur britische Linsenleerstelle, alle auf dem Bildschirm. Alles klar, irgendwie verbeugt sich. Wir müssen uns darum kümmern, wenn es einen Ausdruck gibt. Wenn wir brauchen, um zu bestellen und wenn es irgendwelche Includes. Der vorläufige Teil wird sehr
ähnlich aussehen , was wir mit den existiert und der feinen gemacht haben. Und das ist die erste Zeile. Wir starten immer wie fast alle FOX. Wir können alles auf den Include-Teil nehmen, wieder, diese Kopie, die und bringen es in die letzte Kugel. Ich werde einfach das Zitat neu anordnen, optimistisch Kunst. Also haben wir unser Abfrageobjekt, Ufer. Das nächste, was ich tun möchte, bevor ich zu den Includes gehe. Und das nächste, was ich tun möchte, ist herauszufinden, ob es einen Ausdruck gibt. Also werde ich sehen, ob Ausdruck nicht gleich null ist. Richtig? Also gibt es einen Filter, oder? Wenn es einen Filter gibt, sollte die Abfrage nicht gleich dem
Abfragepunkt sein , wo Ausdruck. Richtig? Denn dann, wenn wir etwas finden wollten, sind wir von geschaffen, Entschuldigung, Libyen und etwas Einfaches finden, wo die
Anzahl der B's an unseren Ds größer als eins ist, et cetera. Also würden Sie sagen, q Punkt ist größer als 21, das ist einfacher. John, stimmt's? Und das alles wäre natürlich in einem Lambda-Ausdruck. Und das wäre ausgebrochen Oppian Nr. 2. Uns geht's gut. Also anstatt Sie zu verlangen, dass Sie alle Aufzeichnungen bekommen und dann bewusst gelten, Ich gebe Ihnen die Möglichkeit, diese Funktion aufrufen, dieser Golf finden alle. Und dann können Sie mir einfach sagen, die Experten auf Sie wollen, oder? Und dann, wenn das und ich in Experten gespeichert werden, wenn dies Inhalte hat, die wir nur die WHERE-Klausel in Ihrem Namen anwenden. Richtig. Und dann haben wir die Includes und wir gingen gerade durch 1A umfasst diese. Also werde ich diese Erklärung nicht wiederholen. Dann haben wir einen anderen Parameter, der
Kunst oder von jemandem ist , der die Kunst macht oder leider nicht. Ich glaube nicht, dass Sie an diesem Punkt wirklich wichtig sind. Wenn Sie die erste tun 1, erste r in viele von allen,
es sei denn, ich denke vielleicht in Bezug auf Effizienz, wenden Sie den Ausdruck zuerst an. Wenige sind erforderlich, um die
Includes und die Bestellideale zu tun , anstatt alle zu bestellen und dann zu filtern. In diesem Sinne mag es Sinn ergeben, aber im großen Schema der Dinge ist
es weder hier noch hier. Also tun wir, wenn die Reihenfolge nicht gleich null ist, dann machen wir eine ähnliche Sache. Wir sagen, Abfrage ist jetzt gleich dir selbst. Sortieren Sie nach und dann den Ausdruck R. Nun, der OrderBy -Wert, der übergeben wurde, richtig, bereits ein Beispiel dafür betrachtet, was das sein könnte, richtig? Oh, eigentlich, nein. Das würde also nicht viel erfordern. Sortieren nach Bestellung, nach, sorry, Bestellung nach wäre die Funktion, die den Parameter übernimmt. Also, wenn Sie nur auf die Definition zurückblicken und das ist eine Funktion, richtig? Also Ordnung nach ist eine Funktion und es wird als seinen Parameter nehmen, den ich abfragbar t, die in diesem Fall Abfrage. Die Abfrage ist also nicht gleich, was auch immer alle Funktionen zurückgeben, nachdem sie bestellt hat, dass ich abfraglich bin. Ordnung? Und dann am Ende all dieser Wochenende zurück, wie wir Punkte
abfragen und alles geht in alist sowieso, also zwei Liste. Okay, so Lärm, wenn wir es loslassen und zurückschicken. Und lassen Sie mich sehen, was der Fehler ist. O die Methode ist nicht asynchron, also machen wir es einfach. Da gehen wir. Okay, das ist es also für die Einrichtung unseres generischen Repositorys, richtig? Also haben wir zwei Dinge gemacht. Das ist nur ein kurzer Rückblick. Erstens haben wir dieses generische, generische Repository implementiert. Ich benutze nur die gleiche Datei, wenn Sie Mengen in einer anderen Datei, das ist in Ordnung. Ich benutze einfach die gleichen Dateien, die ich
den alten Code im Vergleich zum neuen Code haben werde , richtig? Du hast gesagt, dass alles, was wir getan haben, ziemlich viel Refactoring geht mit Booleans, die die sichere Funktion gehen und sie von der
Aufgabe zu unregelmäßigen Leere Funktionen abschalten , richtig? Und dann haben wir unser generisches Repository so generisch wie möglich implementiert. Denn noch einmal, wer will es? Diese Codebase-eine erleichtert immer noch jede andere Klasse, jede andere Datenklasse. Also jeder, der nicht existiert, Senat Ruanda könnte existieren, sollte in der Lage sein, dies zu nutzen. Statt jedes Mal, wenn wir eine neue Tabelle einführen, müssen
wir ein neues Repository einführen. Und das Spiel der Unterstützung der E14-Sache. Dies wird das ganze Springen zwischen wegnehmen und einen festen Code
B haben , der keine mildernden Umstände ausschließt, die natürlich mehr angepassten Code erfordern. Also, wenn wir zurückkommen, werden
wir in die Implementierung unserer Einheit aus der
Arbeitsdatei schauen und dann werden wir sehen, wie die eigentliche Arbeit beginnt.
56. Arbeitseinheit: Unseren Jungs. Also wo Bach und wissen, was wir tun werden, ist die Einrichtung unserer i Arbeitseinheiten und die Einheit der Arbeitsdateien. In Ordnung, also gehen wir zu unseren Verträgen und erstellen eine neue Schnittstelle. Und dieser hier wird i Einheit von vier genannt. Ordnung? Und dann, wenn das erstellt wurde, muss man sich
natürlich daran erinnern, machen Sie es öffentlich. Und dann werden wir anfangen, bestimmte Dinge zu implementieren. Also das erste, was, naja, eigentlich wollte ich von i Einweg-, Einweg- erben. In unseren Controllern
gibt es also eine implizite Garbage Collection-Methode namens dispose, richtig? Während wir tun wollen, ist eine Art von schafft einen Overhead, wo, wenn es entsorgt wird, es diese Einheit von vier Objekten enthält. Weil die Arbeitseinheiten, wie wir gesehen haben, alle Tabellen in jeder Datei gedreht wurden. Anstatt 20 zu haben, werden die
Einleger eine Arbeitseinheit haben, die Zugang zu ihnen allen hat. So kommt es irgendwie mit dem Preisschild der Verwendung von flüchtigem Speicher so
weiter , um die Entsorgung richtig und die Garbage Collection richtig zu behandeln. Und so werden Sie AI
Einweg-zusammen mit unseren Einheiten implementieren , wo 1oder M0 dot lief Nolan, wir bekommen Tweets. Sie werden sehen, wie es funktionieren wird. Also, wenn wir unsere Arbeitseinheit machen wollen, müssen
wir einen Verweis auf
unser generisches Repository und die verschiedenen Tabellen machen , die aufgenommen werden sollten. Okay, lass mich machen, lass mich, ich, und das macht Sinn. Also habe ich Repository entwickelt, ich erinnere mich nicht, dass ich generisches Repository, das wir gerade implementiert haben, oder? Ich generisches Repository erfordert konkrete Klasse, also ist es in der Ich bin selbst arbeiten kein Zweifel wir beginnen, die konkreten Klassen zu spezifizieren, oder? Also das erste Glas, das wir verwenden können, geben, verlassen Typ, nicht vm, ludus neve Typ. In Ordnung. Lassen Sie mich einfach die Moguls loswerden. Also lassen Sie den Typ und dann kann ich diesen einen einfachen Blatttyp nennen. Und dann werde ich diese Welt und andere duplizieren. Also, was haben wir sonst Web-Anfragen und wir verlassen, verlassen angefordert. Der Datentyp hinterlässt Anfragen. So ähnlich wie immer sitzt die DB-Sets, wo wir den Klassentyp haben, aber dann haben wir die pluralisierte Version, die Interieur macht, wollte
nur diese Namenskonvention. Und dann haben wir die Zuteilung. Okay, also lasse ich die i-Einheit arbeiten, oder zumindest erstelle ich Referenzen zwischen der Urlaubsanweisung,
der konkreten Klasse naiven Zuweisung und dem generischen Repository. Also nein, durch die generischen Einlagen oder wir können all diese wunderbaren Dinge mit jedem dieser Gläser machen. Eine Codebasis. In Ordnung. Und wir brauchten nichts für Mitarbeiter Entschuldigung, ich weiß, ich habe nur drei Tische. Das sind die drei, aber ich bin sicher, dass Sie bereits sehen können , dass in einem Enterprise-System, wenn Sie 20 Tabellen haben, es einfacher wäre, sie alle hier mit einer Codebasis zu verwalten, als 20 Verträge und 20 Matching -Repositories für diese Tabellen. Alles klar, wenn das fertig ist, haben
wir noch eine Sache, die ein Mittel ist, und das wird gerettet, richtig? Also müssen wir in die Einheiten der Kraft setzen, damit das umgehen wird. Denn wieder einmal könnte es Operationen aus mehreren Tabellen behandeln. So wird es nur die gleiche Operation einmal behandeln. Also wissen wir, wenn wir eine Schnittstelle implementieren, müssen
wir unsere konkrete Klasse haben. Alle Quellen gehen zum Repository, gehen Sie weiter und fügen Sie eine neue Klasse hinzu. Und dann wird es Einheit der Arbeit genannt, und fügen Sie es hinzu. Und dann gehst du von der Arbeit, erbt von, nun, du hast es erraten, Einheit 04. Und dann machen wir weiter und setzen das um. Also lassen Sie mich wissen, was passieren wird. Sie sehen also, weil wir ich Einweg implementiert haben, dass unser Funktionsaufruf entsorgt, sowie die anderen, die wir unsere Zellen deklariert haben. In Ordnung, also das erste, was ich tun möchte, ist zu implementieren, implementieren und zu injizieren, eine Instanz unseres DB-Kontextes zu initialisieren. Okay, also gehen wir weiter und machen das. Verpflichtung DB Kontext. Und in unserem Konstrukt, harte Arbeit, Verpflichtung DB Kontext, Kontexte. Die zweite Sache, die ein wenig zu tun ist, ist, private Versionen von jedem dieser zu implementieren. Also für jede öffentliche Wanda, die wir in der getan hätten, in der Schnittstelle, müssen wir wie
private Objekte haben , die sie hier in unserer konkreten Klasse darstellen. Also werde ich das einfach schnell machen. Justin, um das zu schmieren, lass mich das mal duplizieren und hierher bringen. Dies neigt dazu, effizient mit meinem Kopieren und Einfügen zu sein und diese Urlaubstypen aufzurufen. Was ich duplizieren werde. Und dann sind Sie in allen Anfragen und Sie sind allein. In Ordnung? Das war also fällig, aber so haben wir unsere privaten Anwendungs-DV-Kontexte und unsere privaten Objekte, die wir
verwenden werden , um die Hindernisse und Kapselung zurückzugeben. Die Öffentlichkeit ist die Öffentlichkeit, mit der man konfrontiert ist. Was würde wirklich unsere private zurückgeben und was auch immer in der privaten ist, r. Also lassen Sie uns damit beginnen, wie wir für unsere Blatttypen implementieren. So können Sie sehen, dass die Kommunisten automatisch mit einem get und Set. Aber was wir wirklich tun, ist. Wir müssen nichts hinsetzen. Okay, also was wir von unseren Urlaubstypen bekommen, wird das Objekt sein, ein privates Objekt, um Typen zu verlassen, oder? Aber dann müssen wir einen Wissenscheck durchführen. Wir werden sehen, ob es null ist. Dann geben wir eine neue Instanz des generischen Repositorys mit dem Kontext zurück. Ordnung? Dann würde diese Codezeile etwa so aussehen wenn sie gleich null ist, dann zurückgeben. Das ist, wenn Sie ternäre Operatorverlasstypen verwenden oder eine neue Instanz des Blatttyps zurückgeben. Sorry, ich kannte Weihrauch auf generischen Repository folgenden Blatttyp und mit dem Kontext. Also gut, deshalb sind wir, um den Kontext
in dieser Einheit zu bekommen , wo, weil das generische Repository, denken Sie daran, dieser Lebenslauf Kugel dort hat das Konstrukt, das den Kontext erfordert. Also übergeben wir einfach das gleiche Kontextobjekt direkt durch. Und es wird relativ zu dem sein, was die Klasse angegeben wurde, was in diesem Fall der Typ verlassen ist. Ordnung? Einige, bekommen einige Fehler hier, tatsächlich, mit den neuen Funktionen werde ich Sharpie sehen, die nicht zu tun haben, dass bekommt sich selbst. Bevorzugen Sie es, einfach meinen Pfeil dort zu benutzen, oder? Also, dann diese RO-Dosen verlassen Typen, wenn es gleich null ist. Aber dann werde ich das noch etwas kürzen. Ich werde die Urlaubstypen R0 sehen. Und dann kann ich an dieser Stelle sehen, Fragezeichen, Fragezeichen gleich, richtig? Dies ist also die Nullprüfung ist wie eine Nullprüfung, die besagt, ob dies null ist, dann geben Sie das zurück. Also wird es das zurückgeben. Was, wenn es nicht ist, wird es das zurückgeben. Und ich bekomme diese Ära, ich denke, wir dachten, das sollte nicht schreibgeschützt sein. Sie sollten nicht auf der rechten Seite gelesen werden. Und dann brauche ich natürlich das Semikolon. Also nochmal, machen Sie das alles in einer Zeile wie diese, richtig? Ob es für Sie mehr oder weniger lesbar ist, ich bin mir nicht sicher, aber so ziemlich. Wann immer wir eine schnelle Funktion haben, die wir in
den moderneren Versionen der C-scharfen Diagnose schreiben müssen , verwenden Sie diesen Pfeil wie ein Lambdapfeil, und dann Aufruhr, was immer es ist, das wir zurückgeben wollen, wenn dies aufgerufen wird, ist dieses Konstrukt aufgerufen. Ordnung? Und okay, hier,
hier gibt es einen Fehler, weil es gesagt hat, dass wir nicht implementieren. Sicherlich brauchen wir die Sets nicht, also lass mich zurückgehen und die entfernen. Und diese einzige Wahrscheinlichkeit von Lebensräumen, die wir setzen, weil wir nichts in die Arbeitseinheit setzen, wo wir wollen, richtig. Also, richtig, das geht weg. Also, wenn die Einheit der Arbeit kausal ist, wird
es einige Einheiten nach oben sehen lassen Typen. Und dann können wir auf die Kontexte und alles zugreifen,
alles, was durch unsere Programmierung impliziert wird. Nach dieser Syntax wird das Gleiche für die Anfrage tun. Also lassen Sie mich einfach voran und kopieren und einfügen und dann die Anpassungen entsprechend vornehmen. Hier würde es also nicht glauben, was Sie Anfragen und die konkreten Klassen, die Anfragen
glauben werden. Und hier würde es verlassen Zuteilungen und konkrete Klassen verlassen Zuteilung sein. Ordnung? Sie werden uns also nur große vier Zugang zu jedem Tisch geben. Sagen Sie, wenn Sie einen anderen Tisch hatten, den ich morgen vorstellen musste, dann erstellen Sie einfach das Private, erstellen Sie die Öffentlichkeit. Natürlich stellen Sie sicher, dass es in der Schnittstelle ist. Also setzen Sie es wahrscheinlich zuerst in die Schnittstelle. Und dann wird dies beschweren Sie implementiert , um die privaten und alle roten Punkte, ähnliche Linien zu erstellen. Und Sie sehen sich wahrscheinlich diese Netzhaut an und sagen, okay, warum haben wir dieses Muster nicht gemacht, bevor wir das Repository Patreon gemacht haben? Nun, sie sind alle Bausteine und zumindest haben Sie Exposition gegenüber dem Repository Patreon bereits nirgends können wir ein weiteres Muster hinzufügen, das wir in die Mischung werfen könnten. Okay, also lassen Sie uns diese Entsorgungsfunktion für die gesamte Entsorgungsfunktion besprechen, wie ich sagte, wird wirklich unser Handle
oder Garbage Collection für die Einheit von vier Objekten tun , richtig? So typischerweise würden Sie sehen, dass dies implementiert ist, dass Sie die Funktion
haben, die wir schaffen werden, Gott verfügen. Und dann nennen wir diese Garbage Collection Controls Garbage Collector. Das ist ein Service von automatischen Tagebuchansprüchen auf den verwendeten Speicher. Es ist also sehr wichtig, wenn Sie eine effiziente laufende Anwendung haben möchten. Und es wird sehen, GC Punkt unterdrücken finalisieren. Und die, in Ordnung. Und dann entsorgen wird,
nun, lassen Sie mich einfach einen Methodenaufruf direkt darunter erzeugen. Und dann fragt es im Grunde nach einem Booleschen. Also sagen wir es, dass es zu jeder Zeit wahr ist. In Ordnung? Und dann hier sehen wir, ob diese gut sind, wenn V, Also lassen Sie mich diese Wohnungen auf Gamow laut ändern, sie nennen es v, Ich mag es nennen. In Ordnung, wenn also entsorgen, ist das, was wir tun wollen, auch aus dem Kontext selbst entsorgt. Also weiter, um Speicher freizugeben, die eine Datenbankverbindung sind, könnte aufgebraucht werden. Alles klar, das ist es für die Entsorgung. Und dann zum Sparen. Und hier ist das Sparen ziemlich unkompliziert. Wir werden wirklich nur sehen, wie wir auf den Partiturkontexten. Mal sehen, ob Änderungen AS gesehen, oder? Und natürlich haben Sie die Me-Szene. Die Speicheränderungen passieren also diesmal in
der Arbeitseinheit im Gegensatz zum Repository ,
weil es immer einmal erscheint. Also bei Lead Lasso abgeleiteten CFD-Änderungen oder viermal in unserem Repository, würden
wir es nur einmal in der Arbeitseinheit tun. Ordnung? Und dann implementieren alle diese unsere Vererbung der Funktionalität, die wir gerade in unserem generischen Repository definiert haben. Und das wird das Abfragen viel einfacher machen. Das nächste, was ich tun möchte, bevor wir all diese Aktivität schließen, ist , die Einheiten für unseren Startup dot cs zu registrieren. So wissen wir, dass jedes Mal, wenn Sie eine neue Schnittstelle mit dem gemeinsamen nassen oder trocknen Sie es hinzufügen, jedes Mal, wenn Sie ein neues Repository hinzufügen. Nun, dieses Mal mit der Einheit der Arbeit kann ich c und Dienstleistungen tun. Und ich füge das als vorübergehend hinzu. Ich würde vergänglich sein. Und ich habe die gleiche Einheit aus der Arbeit. Und du brauchst harte Arbeit. Ordnung? Und wenn wir das tun, können
wir eine Implementierung aller datenbankbezogenen Operationen für alle unsere Tabellen haben. Einmal an einem Ort, leicht zugänglich, leicht zu sehen und zu wechseln. Okay, also lasst uns, in der nächsten Lektion geht tatsächlich durch und wir werden damit beginnen, unsere Typen zu modifizieren. Controller. Hat das nur ein Repository. Es wäre also einfach, dieses eine Repository zu modifizieren und dann bauen wir, wie wir weitergehen. In Ordnung, also bleib dran.
57. Refactor: Okay, Leute, also sind wir wieder da, wo Anzeigen sind. Tabs Controller und lassen Sie uns unsere Operation beginnen. Also das erste, was ich tun werde, ist und ich werde keine der Coda löschen, kommentiert überall, dass es widersprüchlich sein würde, zitieren andere Kommentare. Aber ich möchte die Ursprungsalkaloide IQ verlassen und zumindest für Vergleichszwecke oder
so haben . Ich werde voran gehen und meine
Arbeitseinheit einschließen und ich werde es unterstreichen Einheiten außerhalb der Arbeit nennen. Ordnung? Und natürlich, wenn wir das tun, müssen
wir es genauso injizieren, wie wir es mit der eigentlichen Welligkeit getan hätten. Also geh einfach weiter und mach unsere Injektion. spielt keine Rolle, wo Sie tippen, es versteht, strukturiert zu sein. Ordnung? Also nirgendwo habe ich zugegriffen oder Einheit aus Arbeitsobjekt. Was tun wir, wenn wir alle jemanden finden wollen um diese Zeile zu kommentieren und zu den nächsten neun zu bewegen. Nun, lassen Sie mich es duplizieren. Der neue Weg, alles zu finden, wird immer Einheit 04 Punkte sein. Welchen Tisch will ich alle von Ramallah finden, diese öffentlich zugänglichen Objekte, sind alles, was wir hier haben. Also Einheit aus, wir sind nicht lassen Typen, dachte finden alle. In Ordnung, genau da, ich finde sie alle. Also, wenn ich, ich bin, ich meine, wir alle Menschen sind, die irrtümlich gesagt haben können, verlassen Zuteilungen oder entweder Sie sagten, Sie brauchen Software, Standorte, finden alles, dann würden Sie offensichtlich einen Fehler hier unten bekommen, denn dann ist das Rückkehr zur Entwicklung von Standorttypen, richtig? Also, wissen Sie, die Schecks und Waagen würden die Fähigkeit
abschrecken, bestimmte Arten von Fehlern zu machen? Nein, der Grund, warum wir es hier Blatttypen genannt haben, ist, dass ich es in den Einheiten der Arbeit verlassen
nannte. Also, wenn ich es die Blattgruppe t Blutgruppe Entitäten oder
was auch immer nenne, wie ihre Tugenden ich es nennen. Es würde hier raufkommen. Einige Leute, wenn sie dies implementieren, würden
Sie tatsächlich MC Light sitzen, um Typ Repo zu verlassen und Anfragen Repo zu verlassen. Ich sehe den Punkt nicht, ein Repo wieder zu sehen, ich weiß bereits, dass wir es mit echten Unit 04 Typen dot find zu tun haben. Alles klar, schauen wir uns das für existiert an. Also lassen Sie mich das Original duplizieren. Und dann werde ich sagen, Einheit aus der Arbeit. Lassen Sie Typen. Das ist vorhanden, kein Benachrichtigungssymbol wird in der ID übergeben weil es den Ausdruck erwartet, der einige nach der Ankunft ging, der tatsächliche Ausdruck. Also werde ich Q sagen und dann, wenn ich den Ausdruck hier mache, ist
es eigentlich weiß, dass relativ, um Tab zu verlassen, das
sind die Spalten, die ich wieder nachschlagen. Also, wenn ich herausfinden wollte, ob es einen mit diesem Namen gibt, R1, standardmäßig, sind die Anzahl der b nach ID. Ich weiß, dass ich eine bessere Kontrolle darüber habe, welche Art von Filter ich hier anwende, ohne drei oder vier verschiedene Funktionen
schreiben zu müssen , um durch unsere vier verschiedenen Filterszenarien zu erleichtern, oder? Also kann ich sagen, dass es existiert, wo die ID der ID hier entspricht. In Ordnung? Und dann hören Sie nicht, wo wir die Suche nach ID machen. Machen Sie die Kinder und kommentieren Sie jemanden, um hier zu sagen, dass ich Einheit aus Wort wollen.niedrigere Typen, nicht finden, laufen durch, benannte es von finden nach ID umbenannt. Aber ich habe jetzt die Möglichkeit, in meinem Ausdruck Q dot id zu schreiben, äquivalent zu ID. Jetzt möchte ich zum ursprünglichen Repo für den Leaf-Typ zurückkehren. Nun, ich glaube nicht, dass wir etwas für den Leaf-Typ enthalten haben, aber ich wollte nur überprüfen. Also lassen Sie Typ Repository. Wenn wir finden, schließen wir nichts ein. Ich glaube nicht, dass irgendetwas damit zusammenhängt, um es trotzdem einzuschließen, Das ist in Ordnung. Aber wenn wir einschließen müssen und wenn wir zu all
denen gehen , die beinhaltet, und Sie werden genau sehen, wie das funktioniert. Das wäre also der neue Weg zu finden. Und wieder einmal konnten wir leicht durch jeden Ausdruck finden, den wir für das Erstellen benötigen. Wir machen das alles. Also legen Sie diese Perle, die geschaffen wurde, wo wir manuell in das Datum, das
dort erstellt wurde , und sogar modifiziert werden, Sachen wie das. Du isst wahrscheinlich nicht alles. Sie können diese Funktionalität abstrahieren und wir werden das in ein paar tun. Aber im Moment möchte ich mich nur auf die konzentrieren, also lassen Sie mich das aussagen. Duplizieren Sie KU und dann Einheit der Arbeit. Lassen Sie die Typen Punkt erstellen. Und dann, nun, was ist der Fehler hier? Leere. Okay, also werden wir das Zeug jetzt wirklich loswerden, oder? Nun, eigentlich ist das erfolgreich, dann oben hier drin. Ordnung. Was passiert, ist, dass, wenn wir eine erstellen, es ist nur tun die kreativen oder weißen nicht speichern. Also in dem älteren Repository schienen wir nach jedem Mal, wenn wir erstellt haben, lassen Sie mich einfach zurück zum älteren Repository gehen und es noch einmal ansehen. Also, wenn wir geschaffen und in diesem Meer von zurückkehren würde. Und lassen Sie mich einfach
nicht, täuschen Sie diese nicht gespeicherten Änderungen nicht und gibt die eine oder 0 zurück. Also lassen Sie uns das in unserer Arbeitseinheit replizieren, nur so dass wir auf der gleichen Seite sind. Aber dann ist das Problem hier mit der Arbeitseinheit, dass diese Kontexte Änderungen speichern, die über jede Tabelle empfangen. Es ist also nicht ganz einfach, auf Xj o für diese spezielle Operation zu zerstören, war es erfolgreich oder nicht? Also werde ich eigentlich nur mit diesem Tool wegtun, um zu überprüfen, weil die meisten Male, wenn es einen Fehler gibt , würde
der Haken sowieso springen. Also werde ich tatsächlich all diese 0s Erfolgscheck ganz nehmen. Und was wir tun, ist nur unsere Einheit aus der Arbeit Punkt c, und ich weiß es, um c. richtig? So machen Sie das. Also ja, es sind zwei Zeilen. Wenn Sie die if-Anweisungen nicht machen und so weiter, würden
Sie es wahrscheinlich sowieso in einer Zeile tun, führen Sie das. Aber ja, es sind zwei Zeilen. Was ich denke, die langfristigen Vorteile oder wir, wissen
Sie, nur die Tatsache, dass wir einen Nano produzieren, ist zwei Linien. Also lasst uns weitermachen. Also hier tun wir das gleiche ist existiert und das sieht genau aus wie die Details. Also werde ich nur kopieren und einfügen. Wirklich für die d, für die Bearbeitung, kopieren und einfügen. Und dann für, na ja, wir modifiziert oder löschen sowieso. Also schauen wir uns die andere Bearbeitung null an. Also für den Post-Editor, wir haben das gleiche ist Erfolg, überprüfen, Meter, kommentieren alle diese alten. Ich habe es zunächst verschoben, aber ich werde es einfach auskommentieren. Und dann, was wir tun werden, ist, na ja, das Update war keine synchrone, also Einheit von Wort.lower types Update und wir aktualisieren Blatttyp, richtig? Und dann sparen wir. Oh, und sparen ist richtig. Also gehen wir hin. Dann haben wir etwas Ähnliches gemacht. Also hier das Löschen, wir fanden es, und dann gingen wir voran und gelöscht. Okay, also was ich hier tun werde, ist zu denken, was mich dazu gebracht hat, es zu tun. Wir haben zwei von ihnen auf die gleiche Weise gemacht. Eigentlich erinnere ich mich nicht, welche. Erinnern Sie sich. Lass mich einfach zurück zur Ansicht gehen, damit ich es richtig machen kann. Ich glaube, wir haben das aus dem Index gemacht. Also mehr als wahrscheinlich, dass wir es getan haben. Selbst so, löscht, werden wir die Art und Weise ändern, mit der dies funktioniert. Ich werde das entfernen. Onclick-Klauseln können ein großes Sicherheitsproblem darstellen. Und was wir verwenden, ist wie ein Formular Einreichung an den Post. Also werde ich nur, um sie beide Boards zu modifizieren wir den Beitrag verwenden
wollen, weil ich den Schutz der Anti 4A Tolkien haben will. Wenn wir einen Löschvorgang machen, die Art und Weise, wie wir es ursprünglich geschrieben, während es einfach war und es sauber aussieht. Das ist eigentlich ein Sicherheitsrisiko. Es wird das in einigen wenigen revidieren. Also bin ich einer von ihnen wird nur eine beide modifizieren, so dass sie die gleiche Weise aussehen. Aber wieder einmal wollen wir damit vorankommen. Also, was wir hier tun, ist der Fund. Also lassen Sie mich Kommentare duplizieren, die Herkunft. Und dann werde ich auf einer quadratischen Einheit von Arbeitspunkten sehen lassen Typen, Punkt finden und der Ausdruck wird sein, und dann, falls er schwarz will, starb ich. Wenn Sie mehrere Parameter haben, können
Sie sagen, Experten auf Doppelpunkt oder wie Sie
möchten angeben, welchen Parameter Sie einen Wert vier verhindern, wieder den Parramatta-Namen Doppelpunkt zu sehen und dann den Wert eingeben, richtig? Also j2, sorry, Ausdruck ist q. Und dieser Lambda-Ausdruck, wo wir q dot o sagen,
tut mir leid, dass der Funktionsname falsch ist. fragte sich, warum das nicht funktionierte. Da gehen wir. Geodaten-ID ist äquivalent in ID. Dann wird es einen Parameter zurückgeben, oder sorry, das Objekt hier. Und dann sehen wir, dass Sie für Punktblatttyp löschen und erleichtert, dass es ungültig ist. Also schulden wir a1 nicht und natürlich überprüfen wir nicht nach dem Erfolg oder so etwas. Entfernen Sie das alles. Natürlich würde es in einem Versuch fangen wickeln. Also ist es kaputte Bits, es ist eine schnelle Tendenz anziehen bekommt, was wir hier getan haben. Dies ist also ein bisschen o auf zu verwenden erlaubt. Also kopiere ich einfach den Code und füge ihn hier unten ein. Ordnung. Wie ich schon sagte, wir werden unsere Löschungen umgestalten. Aber das ist es eigentlich für das Ändern oder den Blatttyp-Controller-Code. So können wir voran gehen und es testen. Du kannst es testen. Ich werde es nicht testen. Also bin ich wirklich nur hier, um ein Muster zu
refactorieren und zu ändern, wo Sie voran gehen und es testen können. Ich würde erstellen, löschen und aktualisieren, und Sie werden sehen, dass alles so funktioniert, als ob nichts geändert wurde, oder? Aber wenn Sie sich die Codebasis ansehen, sehen
Sie, dass wir Arbeitseinheit anstelle des Repos verwendet hätten? Nein. Für diese Eins-zu-Eins-Modifikation sieht
es nicht wie eine große Sache aus. Wenn überhaupt, sieht es eher wie eine Mühe aus. Denn manchmal haben wir eine mögliche Linie durch zwei Zeilen ersetzt. Ordnung? Also, was wir tun werden, ist o und hier, richtig? Also denken Sie daran, ich muss immer Änderungen speichern. Also muss es in einem harten Wort sein,
speichern, wann immer Sie das Update machen, richtig? Also hat er den CVE gemacht, speichern Sie für das Löschen, Aktualisieren Sie das. Alles klar, was ich jetzt tun werde, ist zum letzten überzugehen. Sind nicht gut nicht Fan out auf der nächsten, das ist die Emissivität Anfragen und Aleve Allokation. In Ordnung, die Urlaubszuweisung ist ein bisschen einfacher zu handhaben. Also werde ich die Urlaubsanträge machen weil wir drei verschiedene Repos hatten, die mit interagieren. Also gehen wir durch das Refactoring dieses zusammen im nächsten Video. Aber dann werde ich dich herausfordern, das alleine zu machen. Also werde ich mit diesem aus der Kamera zu tun und dann können wir weitermachen und vergleichen, dass du es richtig gemacht hast oder sogar, dass ich es richtig gemacht habe. Aber wir werden das zusammen machen. So können Sie genau sehen, wie die Einheit des Arbeitsmusters es uns erlaubt,
unser ursprüngliches Repository-Muster ein bisschen mehr zu überzeugen oder generisch zu sein.
58. Refactor: In Ordnung, also sind wir zurück und wir ändern und lassen Anfragen Kontrolle oder Controller. Entschuldigung. Also habe ich schon weitergemacht und injiziert, richtig? Ich habe die ursprünglichen Verweise auf die Repos noch nicht gelöscht. Also, nachdem ich die Änderungen beendet habe, können wir zurückgehen und es
aufräumen und es wird sehen, wie viel einfacher der Code zu betrachten ist. Und ich bin Truck. Lassen Sie uns also damit beginnen, unseren Index zu ändern. Also fällt es in Potter scheinen und ich werde nur
eine Zeile duplizieren , dann kommen und dann sehen wir Einheit von Wörtern. Beachten Sie also, dass wir zu den sehr spezifischen Urlaubsanfragen, Repo, Repo hinzufügen. Also, dieses Mal kann ich es dir sagen und es ist arbeitslos, geben Sie die Tabellen an. Also dieser ist der Anforderungspunkt finden alle Nein,
kein Filter oder irgendetwas. Also, das ist in Ordnung. Alles wird entsprechend einrasten. Und dann hier, hier ist eine gute Note. Hier ist ein guter Grund für den gesamten Ausdruck und die Fähigkeit,
den Filter im laufenden Betrieb zu machen , weil wir uns die
Mitarbeiterzuweisungen ansehen mussten und dann nach der Urlaubsanweisung suchen mussten. Und wir mussten eine benutzerdefinierte Funktion für
diese Mitarbeiteranfragen tun , um dies zu tun und in einer benutzerdefinierten Funktion. Also lassen Sie uns sehen, wie wir neu schreiben können. Folgen Sie nicht Shun's und seien Sie generischer. Also haben wir den Mitarbeiter, wir haben die Mitarbeiter-ID abgerufen. Also lassen Sie mich diese 1 zuerst duplizieren. Setzen Sie etwas Abstand, damit wir genau sehen können, was geändert wird, oder? So sind Mitarbeiterzuweisungen jetzt gleich Einheiten außerhalb der Arbeit Urlaub Zuteilungen, kein Kostüm, und sagen, es gibt keinen benutzerdefinierten Code oder keine Kosten für die Funktion, einfach in Ordnung. Alles klar, und dann werden wir in den Ausdruck
Q Lambda Q Punkt Mitarbeiter-IDs setzen , die der Mitarbeiter-ID entsprechen . In Ordnung, also sagen wir, dass die
Arbeitseinheitsurlaubszuweisungen Geben Sie mir alle anderen, die dort erworben wurden, wo diese Bedingung wahr ist. Und wir können das Gleiche für diesen hier tun. Also lass mich Momento kommen. Das Original, Unsere sehen diese Zeit ist Urlaub Anfragen. Also ist es Einheit o verlassen Anfragen Tabelle vergessen. Finden Sie sie alle. Wo der Ausdruck q Punkt gibt es eine Mitarbeiter-ID oder gut, okay, also ist dies Anfragen von Mitarbeitern. Also lassen Sie mich sehen, was hier benutzt wurde. Also ist es Artefakt-Disziplin zu gehen und zu sehen So kann ich verwenden geht zur Implementierung. Und es war zu überprüfen, wo. Das war also der ursprüngliche Lambda-Ausdruck, richtig? Also kann ich buchstäblich nur diesen ursprünglichen Lambda-Ausdruck. Dies ist eine benutzerdefinierte Funktion, erinnern Sie sich? Aber nein, ich brauche keine benutzerdefinierte Funktion. Ich kann diesen Lambda-Ausdruck machen und ihn in das Find All setzen. Und wir sind gut zu gehen und lassen Sie mich das kommentieren. Und es wird die gleiche Arbeit tun. Okay, Polar ist generisch eine Codebasis und erlaubt uns, leistungsstarke Abfragen mit sehr einfachen Ausdrücken zu lesen. Und dann schnappt es an, weil sich nichts wirklich geändert hat. Okay, machen wir das Gleiche für diesen. Also lasst uns Picketts Kommentare machen und dann Einheit der Arbeit. Dies ist, was Anfragen verlassen. Also diese Kopie das, und es ist in Ordnung. Und der Ausdruck ist q dot ID gleich ID. Das sieht gut aus. Und dann ist hier ein größeres auf dem Nirgendwo. Ich denke, hier hatten wir alle Repositories, die in diesem aufgenommen wurden. Also lassen Sie uns durcharbeiten. Also zuerst finden wir die Urlaubsanträge. Nun, wir haben das hier gemacht, also werde ich den Code einfach kopieren und einfügen. In Ordnung, wie zum Beispiel, dann bekommen wir den anfragenden Mitarbeiter, die Blatttyp-ID, dann müssen wir den Gott bekommen, diese Urlaubszuweisung
bekommen, Urlaub Zuteilungen nach Mitarbeiter und Typ 1B Kostümfunktion, richtig? Also, wenn ich zur Implementierung gehe, kann
ich die X-Y-Sache sehen, die es getan hat. Es musste die Zeit, in der in diesem Jahr zu bekommen. Und dann sagte es, ich Standorte, Boden wird alle Zuteilungen bekommen. Und dann sagten wir, dass Zuweisungen mir die ersten Standard für den Mitarbeiter sind, für die Kugel und für diese Blatttyp-ID, richtig? Also werde ich nur diesen ganzen Ausdruck auf unklar kopieren, wir haben ein wenig mehr Arbeit zu tun, gehen Sie nach dem PIR auf. Was wir das aus dem Inneren des Controllers machen können. Wir müssen das nicht unbedingt in der Methode tun, oder? Also ich meine, es ist ein Refactoring existiert als Salz, wo
es hier an dieser Stelle nicht unbedingt notwendig ist. Lassen Sie mich kurz schließen. Alles klar, also der Requests Controller, los geht's. Also werde ich es neu schreiben. Und wenn man sagt, var Position ist gleich. Und ich schreibe nur als eine alle Mano 08 Einheiten aus Arbeit Punkt, verlassen, Standorte, Punkt finden. Und das ist das sollte man bekommen, also ist es in Ordnung, nicht zu finden. In Ordnung. Und dann haben wir unseren Ausdruck
, der Lindsay so aussieht. Aber ich bin gegangen, um das Subnetz zu ändern, weil wir Zeit brauchen. Also lassen Sie mich einfach den Peer bekommen var periodische Datum,
Zeit, Punkt Nr.2 Jahr zu speichern . In Ordnung, also bekomme ich die Periode Nr. Und dann machen wir weiter. Also bekomme ich hier einen kleinen Fehler. Locations o, und das liegt daran, dass ich den Cue nicht
überholt habe und der Blatttyp falsch geschrieben wurde. Also B zu diesem Spinnen von einem IV-Typ. Und klar q für den Lambda-Ausdruck. Und da gehen wir. Also, jetzt ist das, was die Quadratwurzel mag. Ich meine, es ist vielleicht nicht so ordentlich wie mit dieser Küsten-LM-Funktion. Aber für mich ist es viel wartbarer und ich sage nicht, dass dies vorschriftsmäßig ist. Ich sehe das nicht. Die Art, wie Sie wissen müssen, implementiert, wenn Sie sich mit dem generischen,
mit dem orangefarbenen jetzt Repository-Muster wohl fühlen , dann verwenden Sie das auf jeden Fall. Ich zeige Ihnen nur eine andere Dimension als, wie wir Code schreiben und wartbarer
bekommen können . Okay, also gehen wir weiter und holen unsere Zuteilung mit der Arbeitseinheit. Und dann für die Updates AC wir hier aktualisieren, richtig? Also hat es aktualisiert dann sehen, ob in diesem als Update und sehen, ob das. Also kann ich, ich werde nur diese beiden Zeilen kommentieren. Und ich werde Unterstrich Einheit aus Arbeit Punkt sehen, verlassen Anfragen, Punkt, wenn auch. Und es wird Bitten glauben. Okay, das ist also der erste Hang. Und in der zweiten wird verlassen Zuteilungen sein. Das wird Janet sein, das die Zuteilung anstrebt. Und was müssen wir dann tun, nachdem wir das alles getan haben? Wir müssen es nur sehen. Also das wird buchstäblich nur durchführen, ich scheine Operation auf einmal. Während wir also zwei Codezeilen in drei verwandeln, ist
der Punkt, dass wir nicht etwas tun, dann speichern und dann
etwas tun , als zu speichern, wo der Kontext gelassen wird, noch dass dies getan werden muss. So und wir sehen endlich, dass es nur engagiert und zufrieden wird. Okay, also haben wir ein paar Zeilen auskommentiert. Und, naja, einige Zeilen sehen länger aus als einige, weil
diese ganze Linie ein bisschen mehr Chromosom aussieht als diese BSB für mich. Und das ist der Erste, und ich werde noch einmal, es wird in Zukunft mehr wartbar sein, richtig? Okay, also hier haben wir User Manager, die das bekommen und dann hören wir nicht, wir machen eine Strafe, also Einheit der Arbeit, Dot Leave Anfragen finden. Und in unserem Lambda-Ausdruck würde
sie davon nicht gleichwertig sein. Und dann machen wir das Update. Also versuche ich immer noch nur zu kommentieren und neu zu schreiben, und damit wir die Änderungen verfolgen können, die wir vornehmen. Also, das sind Urlaubsanfragen. Gedanken über die und verlassen Anfragen, richtig? Und dann müssen wir natürlich daran denken, das mit uns zu verfolgen. Und das ist eine Spüle. Damit das So erschaffen kann, kommen
wir zu allen. Also Kommentare, var, sorry, lassen Sie mich duplizieren und sehen Sie in alles für. Also, das ist einer der lästigen Teile der Refactoring ist schwer Aufmerksamkeit
zu zahlen und Chen sehr akribisch Zentrum rumpelt von diesen Dingen. Aber hey, also ändern wir, dass OneNote für die Erstellung. Und hier, hier haben wir die gleiche Suche nach dem Angestellten und dem Zuteilungsmaterial gemacht. Also werde ich einfach wieder auf den geliehenen Code gehen. Also waren es diese beiden Zeilen. Und ersetzen Sie das einfach durch diese beiden Zeilen? Es gab das Gleiche, nicht wahr? Blatttyp D, OK, es war die gleiche Suche, nur verschiedene Daten wurden übergeben. Dies sollte also modell.predict Typ sein. Oh, er war Mitarbeiter-ID und dann Modell Dot Leaf Type ID. In Ordnung, nur doppelte Überprüfung, um sicherzustellen, dass ich die richtige Verbindung zwischen dem Werkzeug herstelle. Es wurde also auf die elif-Typ-ID für diesen Parameter modelliert. Und dieser hier wäre Angestellter Dot ID gewesen. Und obwohl du all diese Dinge machst. Also, wenn wir hier runter kommen für die Kreativen, nur Kämmen der Seele. Und denken Sie daran, Einheit 04, Punkte, Anfragen erstellen. Und wir übergeben dieses Urlaubsobjekt. Und dann ist das eine Szene. Und dann gewichten Sie die Einheit der Arbeit Punkt. Und ich werde den ganzen Scheck nehmen. Also nochmal, ich nehme den ganzen Jet, weil mehr als 90 etwas schief gelaufen ist, wir würden die Ausnahme fangen und wir werden plötzlich sowieso dasselbe tun. Also versuche ich nur, während wir Factoring sind, ich werde effizienter sein, es ist unsere Operation und ich sehe, ich habe einen Pfeil hier, also lass mich das einfach beheben. Mitarbeiter Punkte IID mit Ich habe es behalten. Ich höre nicht nach Ausweis finden. Haben Sie eine wenn NBA-ID irgendwo in der Nähe gemacht? Oh, das haben wir nicht geändert. Dies hätte geändert werden müssen. Also werde ich das ändern, bevor ich vorwärtskomme. Das ist also null Einheit 04. Punkte lassen Typen, nicht finden. In Ordnung, also lassen Sie mich es einfach neu schreiben. Du erhältst alle vier Typen. Und wir finden durch den Ausdruck q-dot, diese Äquivalent. Also, das ist in Ordnung. Und so will ich nicht, dass du mich falsch verstehst. Ich sage nicht, dass es schwer für Foss ist, dass Sie am meisten und das ist ordentlich Anfragen, sorry, es ist nicht schwer für Fossae, müssen Sie das
generische verwenden , denn wenn Sie benutzerdefinierte Funktionen hatten, die Sie in meinem Yolanda eingeben
wollten, um die Funktionen zu fahren für ein paar Sachen. Sie können immer Ihren eigenen Vertrag implementieren, Ihre eigene Schnittstelle, und dann die Einheit des Krieges oder andere Theropoden Derbys erben von diesem Grad. Also, wann immer Schnittstelle erbt von einer Schnittstelle. Dann, wer auch immer diese Schnittstelle erbt, die im Fall des generischen Repositorys es wird, wird es irgendwie schwierig sein. Also hatte ich einen Gedankenzug und es tut mir leid. Aber Sie könnten
Yo Pfeil manövrieren und wenn Sie wirklich eine benutzerdefinierte Funktionen hinzufügen wollten, was für mich? Es auf diese Weise zu schreiben ist viel besser, denn dann
müssen Sie nicht zu viele Anpassungsfunktionen haben. Ein anderes Muster, das Sie tatsächlich etwas wie Befehls- und Abfragemuster implementieren könnten, wobei
Sie oben auf der Arbeitseinheit eine Befehlsebene haben würden, in der Sie mit dem Befehl interagieren. Und der Befehl hätte eigentlich die Kostümfunktionen, die dann eine Einheit von vier Funktionen entsprechend verursachen. So gibt es viele Hindernisse und Schichten, die Sie am Ende des Tages setzen können, es ist etwas von dem, was Sie brauchen. Es geht nicht darum, es mit Stil zu tun. Es ist eine Frage dessen, was für Sie wartbar ist, nachhaltig und zukünftig, Sie können es ein Add-on einfacher ändern. Also ich denke, wir sind mit dem verlassen Requests Controller fertig. Wir haben nichts mit dem Editor gemacht, also müssen wir diese nicht ändern. Oh, hier ist noch eine Zeile. Und wenn wir das fertig sind, können
wir fortfahren und den gesamten Code aufräumen, der nicht mehr nützlich ist. Also das ist Urlaub Anfragen gedacht, Oh, das ist nicht zu sehen, so gibt es kein Unkraut waren dann natürlich müssen Sie warten Einheit weg, wo nicht. Ordnung. Also, jetzt sind wir fertig mit der Reinigung der Ruhe. Das ältere Börsengang Zitat. Wenn wir nicht sind, dann bin ich sicher, dass mehr Fehler auftauchen, wenn wir damit begonnen haben. Aber jetzt, da wir die Arbeitseinheit benutzen, müssen
wir diese nicht mehr injizieren. Also werde ich eigentlich nur die Referenzen entfernen. Ich entferne sie, weil ich den neuen Code sehen wollte. Also alles, was kommentiert oder bewegt wurde. Und Sie haben alle Versionen des Codes. Also, wenn Sie auf die Erde mich Referenzen zurückgehen müssen, können
Sie das immer tun. Aber jetzt, wo wir sie entfernt haben, lassen Sie uns einfach weitermachen und alles, was auskommentiert werde
ich alles nehmen. Ich sehe nicht gerne zu viele Kommentare in unserem Code, oder? So hat der Gutachter sie bewegt. Und diese Bereinigungsaktivitäten fast erledigt. Und das meiste davon ist wirklich ähnlich wie ich sagte, viele von ihnen wie die Abfragen sind 19. Aber dann freuen wir uns auf ein Land mit mehr Codezeilen später. Die Vorgänge, die erforderlich sind, speichern. Aber der ultimative Vorteil oder der ultimative Gewinn für mich war die Tatsache, dass ich mit einer Injektion, Bezugspunkt referenzieren
möchte, auf alle Tische zugreifen kann. Also, als ich die drei Repos injiziert hatte, weißt
du, ich meine, du könntest mir vorstellen, dass ich mit dieser Tabelle,
dieser Tabelle und dieser Tabelle interagierte . Ordnung? Und wenn eine vierte Tabelle in den Mix kam, dann müsste ich den ganzen Prozess der neuen Verträge durchlaufen, New Repository, injizieren es, mich sehr beunruhigend zu erschrecken erinnern und dann diesen Bericht verwenden, speziell Mütze mit einer Einheit der Arbeit, wenn ein neuer Tisch kommt in den ganzen Nachmittag ist, wenn auch eine, die Schnittstelle hier für Einheit der Arbeit. Und dann, um die konkrete Klasse für die Arbeitseinheit zu aktualisieren, stellen Sie sicher, dass ich sie initialisiere und dann sind wir fertig. Und wenn das erledigt ist,
haben Sie
überall, wo Sie Ihre Arbeitseinheit injizieren, Zugriff auf jede Klasse oder jede Tabelle , die für die Interaktion durch Ihre Verträge definiert wurde. Das ist für mich der Meta-Vorteil mit diesen generischen Einheiten aus Arbeitsmustern. Wie ich schon sagte, sie sind immer Vor- und Nachteile, weil einige gute nein, argumentieren, dass sie abweisend finden. Sie mögen die Tatsache nicht, dass nach
dem Schreiben des Lambda-Ausdrucks direkt innerhalb des Controllers, was ein gültiger Standpunkt ist, oder? Denn dann wird es irgendwie einem Missy und zu leicht zu vergessen, etwas später zu tun. Das ist also ein gültiger Punkt. Natürlich gibt es Vor- und Nachteile, aber dann, wissen Sie, keine zwei deutlich unterschiedliche Muster sind, na ja, eines baut auf dem anderen auf, aber Sie kennen nicht zwei Möglichkeiten, diese Art von Muster zu implementieren. Sie können Marihuana passt zu Ihnen in Ihrer Situation ist Maribel Kontexte als das, was neu ist und was ist der Bus. Also haben wir verlassen Anfragen Controller, ich werde Sie verlassen, um voran zu gehen und die Zuweisung Controller Factoring-Übung zu machen. Ich werde es tun und es wird zurückkommen. Wir vergleichen nur und gehen durch. Und dann bewegen Sie sich einfach mit einem Ende zur anderen Modifikation und Store-Anwendung.
59. Refactor Refactor: Unser Typ, also sind wir zurück und ich wollte mit dem Anforderungscontroller anfangen. Das ist das, was wir gerade getan haben, aber es gibt gewisse Dinge, die ich weggelassen habe. Und ich hoffe, Sie haben zumindest getestet und Sie hätten einige Fehler gesehen. Also hättest du Arecibo bekommen, den null oder forensischen Unterschall. Und diese Nullreferenzausnahmen würden sich auf die Tabellen beziehen, die basierend auf dem vorherigen Repository enthalten wären. Also denken Sie daran, dass das im ursprünglichen Repository wie für Urlaubsanfragen ist, die automatisch
vorangegangen wären und gesagt haben , dass wir diese drei einschließen wollen? Nein, in der Generika machen wir Vorkehrungen dafür, was sie explizit angegeben werden müssen. Der Grund für diesen Unterschied ist, dass Sie nicht unbedingt alle diese Details jedes Mal bekommen
wollen, wenn er eine Suche machen will, richtig? Und so dass dieses Quadrat tatsächlich viel
langsamer wäre , weil dann jedes Mal, wenn Sie alle Urlaubsanfragen finden, es automatisch innerlich alle Details für diese anderen Tabellen verbindet, was für diese besondere Ansicht. Du wolltest sie nur auflisten. Du brauchst keine Details, aber dann gehst du über Gott, die Details benutzen sie nicht, oder? Also in der generischen Datenbank oder Einheiten von Arbeitsbutter und wir tatsächlich Bestimmungen
getroffen, die Sie für diesen speziellen Antrag sehen können, möchte
ich diese Tabellen aufnehmen. Ordnung? Und so für die Urlaubsanfragen, fangen
wir mit dem Index an. Also zeige ich Ihnen nur das fertige Bild genau dort, wo bereits gewechselt oder lassen Sie Anfragen, die Einheit der Arbeit zu sein. Die Anfragen finden alles gut, wir haben es nicht getan, war eingeschlossen oder Parameter für Includes. Also denken Sie daran, ich sagte, dass Sie
immer, was auch immer der Parametername in der neueren Version oder C-Sharp ist, können
Sie tatsächlich sehen, dass Parramatta Namen Doppelpunkt und dann sagen, was wollen Sie ursprünglich schreiben, Sie hätte so etwas wie zum Ausdruck bringen müssen, dass der erste null ist. Drücken Sie, dass in einer Sekunde alle diese T3-Parameter Ausdruck nimmt. Es nimmt Ordnung von Annie nimmt, dass LR enthält. Also, ursprünglich müssten Sie null für die Experten sagen Reihenfolge um diesen Wert für die Includes
annullieren. Aber nein, wenn ich nur einen Wert für die Includes angeben möchte, kann
ich einfach sagen, enthält Doppelpunkt und dann nur den Wert für diesen Parameter haben. Auf diese Weise muss ich nicht
jeden Parameter durchlaufen , nur um Nein zu sagen, ich will diesen nicht. So würden Sie mit dem Boot fahren, einschließlich Ihrer Tische in diesem neuen Muster. Ordnung. Also wollten wir den anfragenden Mitarbeiter und den
Urlaubstyp einschließen , weil
ich auf dem Urlaubsanforderungsindex glaube, dass wir zumindest den Namen
des Mitarbeiters anzeigen und den Blatttyp anzeigen, den sie angefordert haben, also brauchen wir diese beiden Details. Und wenn Sie, wenn Sie nicht sicher sind, wann Sie die Include
Darwin tun nicht auch Backtracking, weil wir bereits Anwendungen erstellen. Also wieder, dieser Bach-Truck und gehen Sie auf die verlassen Anfragen Index-Seite. Und überall, wo Sie sehen, dass wir etwas tun, das ich nicht hier, wo Sie diesen Punkt etwas Punkt etwas anderes, dass Sie wissen, dass dies, was
enthalten war , sind dies, was aufgenommen werden musste, richtig. Daher musste der anfragende Mitarbeiter einbezogen werden. Es wird also den Vornamen und den
Typ erhalten , der eingeschlossen werden muss, damit wir diesen Namen erhalten können. Ordnung. Also werde ich einfach die restlichen Urlaubsanträge durchgehen. Wir haben es bereits getan, also muss ich Ihnen nicht viel mehr zeigen. Für den Index haben
wir also den anfragenden Mitarbeiter und den Abreisetyp, so dass Sie diese Werte im Funktionsaufruf aktualisieren können. Wir haben in den Meilen, wir müssen Blatttyp einschließen. In meinem Urlaub muss ich die anfragenden Mitarbeiterdaten nicht angeben. Weil die Theorie hinter dem My Leaf Seiten, dass ich der Mitarbeiter enthüllt meine eigene Seite. Also bekommen wir alle Details dessen, wer geliebt wird. Und dann, wenn wir die Zuweisungen bekommen, müssen
Sie nur herausfinden, Standorte auf so weit , dass Mitarbeiter und Doess Blatttyp enthalten. Das ist alles. Und dann wird mein Urlaub für die Details arbeiten, die wir haben, um zu bekommen, wer es bewiesen, wer es angefordert hat, und lassen Sie Typ. Also sehen Sie, das ist es, was ich sehe. Wir können dynamisch entscheiden, wann wir nur ein Detail brauchen. Wenn wir einige Details benötigen,
sind, wenn wir alle Details benötigen, haben wir nicht das Zimmer, buck alle Details die ganze Zeit ohne Grund, denn hier sehen Sie, dass die von den anfragenden Mitarbeiterdaten genehmigt worden
wären veraltet für diese bestimmte Seite. Sie möchten also nicht etwas einführen, das
die PhD-Sprache laden wird , wenn es nicht muss. Ordnung, vorwärts, ich gehe einfach durch und sehe, ob es
irgendeinen anderen gibt , den ich in ein Includes setzen musste und es keine anderen gab. Das wäre also für die Urlaubsanträge. Ordnung. Obwohl die Herausforderung für Sie gewesen wäre, alle glauben, Zuteilung zu beenden. Und ich ging durch und es ist bereits bereit, zu allen Injektionen zu gehen und sie durch die Einheit der Arbeitseinspritzung zu ersetzen. Und lassen Sie uns einfach durchgehen. Also für unser okay, lass mich nur eine Zeile nach dem anderen in die Schule gehen. Also für den Index weiß
ich, wie man alle
findet, alle Blatttypen findet. Okay, und dann laden wir die Indexseite für die Zuweisung auf dem Bildschirm. Für einen festgesetzten Urlaub. Ich tauschte alle Funde genau dort und einige von ihnen habe ich gelöscht und so weiter. Und dann erinnere ich mich, dass es kommentieren sollte. So wie dieser, um die Zuweisung zu überprüfen. Check-Zuweisung hätte ursprünglich einen booleschen Wert zurückgegeben. Und dass Boolean diesen Ausdruck mit diesen Werten ausgeführt hätte. In Ordnung, also ID MID und wenn es Periode hat. So können sie immer zurückgehen und sich die ursprüngliche Tick-Zuordnung ansehen. Aber während wir das taten, haben wir hier nur den Zeitraum definiert. Und dann sagten wir Einheit 04 Zuteilungen ist vorhanden. Und dass ich sehe, dass diejenigen existieren, wo die Mitarbeiter-ID mit dem übereinstimmt, so viel ist das unter Peer zu viel? Ist das. Das ist also so ziemlich unser Boolean, richtig? Und dann hier unten gehen
wir weiter und machen unseren Schöpfer und unsere Mitarbeiter in der Liste. Nun, das ist man sich bereits auf Benutzer-Manager verlassen, so dass Nuancen den Benutzer-Manager nicht berührt haben. Wir haben kein Repo für Osama erstellt. John, ich mache keine Software für den User Manager, weil es bereits in unseren Monitoren impliziert ist. Ich will nicht, dass das übertrieben wäre. Auf dem Weg zu den Details gehen
wir weiter und wir erhalten die Details für alle Zuweisungen. Und so teilt sich diese eine Zeile in zwei Zeilen, richtig? Also haben wir den Fang Xiang Aufruf gemacht, wann das Mapping und dann der Funktionsaufruf gemacht hat. Und sie werden es in den Funktionsaufruf und dann die Zuordnung aufteilen, richtig, so dass es einfacher zu konsumieren ist. Also in diesem speziellen, wir haben rote Karten, wo wir eine Suche auf Urlaub Allokation auf stabil machen. Und dann haben wir den Ausdruck. Also, das jetzt haben wir zwei Parameter Ausdruck, um die Mitarbeiter-ID gleich zu erhalten. Also, das ist unter Periode, war eine Periode. Und natürlich raus, finden Sie das dort. Und dann haben wir die Includes, wo wir nur die eine Sache einbeziehen. Also noch einmal, im Ursprung, würde
unser Repository zwei oder drei andere Tabellen enthalten, wenn Sie Wohn haben, müssen
Sie nur eine für die Detailansicht einschließen. Also, wo hier ein bisschen effizienter zu sein, oder? Und dann weiter für die Bearbeitung, wenn wir in Urlaub Zuteilung bekommen, wo dann die gleiche Sache, wir haben unseren Ausdruck und wir haben unsere Includes. In Ordnung, also nachdem wir von der Bearbeitung weitergegangen
sind, gehen wir zum Post, wo wir
die Rekord-Unterwasser-Roboter bekommen , die wir aktualisieren mussten und dann sehen mussten. In Ordnung, und das wäre es für unseren Urlaub Zuteilung Controller. Und durch die Erweiterung, das ist wirklich es für die generischen Einheiten der Arbeit oder das generische Repository Patreon und Einheiten der Arbeit, wo immer Sie es einfrieren wollten. Das ist wirklich alles, was wir für diesen Abschnitt des Moduls besprechen mussten. Und später, was wir tun werden, werden wir durchgehen, wie wir sitzende E-Mails anpassen können, wie wenn eine e-e-e-mail-Anfrage geht, oh,
wahrscheinlich wollte, um den administrativen Benutzer per E-Mail zu mailen. Schießen Sie einfach eine E-Mail oder ein Gewinn Urlaub genehmigt wird oder, Sie wissen, es wird unterbrochen mit genehmigen, abgelehnt oder was auch immer, dann wollte er den Mitarbeiter per E-Mail, um sie wissen zu lassen. Richtig. So können wir uns Benachrichtigungs-E-Mails ansehen. Und wir werden auch diesen Löschvorgang aufräumen. Wie ich bereits erwähnt habe, dass wir den Code hier ändern wollen, wo wir das haben. Lassen Sie mich sehen, ob ich auf Urlaub Typen finden kann, wo wir das tun onclick. Wir wollen diesen Optimismus mehr sichern. Wenn wir zurückkommen, schauen wir uns diese Änderungen an.
60. AKTUALISIERUNGEN - Starke Schrift für Einheit der Arbeit: Hey Leute, willkommen zurück. In dieser Lektion werden wir einen Blick darauf werfen, unsere
Arbeitseinheiten so zu ändern , dass sie etwas stärker eingegeben werden, wenn es um die Liste der Includes geht. Im Moment ist es nur auf eine Liste vom Typ String angewiesen und wir, die Entwickler müssen die Strings manuell eingeben. Jetzt kann dies gegen diejenigen gemindert werden, die Klassennamen haben, weil wir den Namen aussagen könnten und wir Mitarbeiter sehen könnten. Das würde also tatsächlich nur eine String-Darstellung des Namens Mitarbeiter rendern. Das funktioniert also, aber dann ist es immer noch nicht narrensicher, da nicht jede Navigationseigenschaft einen entsprechenden Klassennamen hat. Zum Beispiel, in unserem ich denke, ich Standorte Controller oder verlassen Requests Controller andere, gibt es keine Navigation. Es gibt keine Klasse, die dem anfragenden Mitarbeiter entspricht, richtig? Es ist also nicht unbedingt narrensicher. Aber wenn Sie sich fragen, warum sollten Sie es ändern wollen? Ein anderes Problem könnte sein, dass, wenn wir
unseren Klassennamen oder etwas ändern , das in der Zukunft ist oder sogar nicht Eigenschaft. Wenn ich die Eigenschaft in der Blattzuweisung
stabil vom Mitarbeiter zum verdrehten Mitarbeiter modifiziere , gäbe
es keinen Hinweis im Code, dass sich etwas geändert hat. Es wäre also, es würde kompilieren, es würde bauen, und dann würde es bereitgestellt werden, und dann würden Sie später auf einen Fehler stoßen. Und Benutzer beschweren sich, dass diese Funktion gestern funktioniert hat, es funktioniert heute nicht. Und Sie wissen nur, dass Sie eine Eigenschaft ändern, die den Code nicht gebrochen hat. Nun, es tat wegen dieser lockeren Eingabe, Recht, oder lose Einschränkungen auf dem Grundstück. Also, was wir tun werden, ist unser generisches Repository zu ändern und
wir werden den Datentyp für die Includes aus einer Liste von String 2 ändern, was wir ein I nennen, ich abfrage HIS, das ist ein Bissen, aber lassen Sie uns Schau es dir zusammen an. Also werden wir zu unserem Augen-Repository in unserer Klinik Tracks Ordner springen. Und wenn wir hier sind, finden wir alles und finden. Also Retinol wieder, wir verwenden nur eine Liste von Strings für unsere Includes. Also werde ich das ein bisschen ändern. Und was ich einführen werde, wird ähnlich aussehen wie unser Auge bestellbar, abfragbar lesen oder ich bestellt abfragbar. Aber dieser wird vom Typ I abfragbar mit Typ T sein und ich schließe doppelt abfragbar ein
, der einen Lambda-Ausdruck annimmt und genau die gleiche Weise. In Ordnung, also ersetze ich diese Liste der String-Breite. Sie können also einfach voran gehen und
das anhalten und replizieren und alle fehlenden Referenzen entsprechend einschließen. Und das ist einfach gut, einen großen Welligkeitseffekt im gesamten Code zu haben. Wenn wir also zum generischen Repository springen, in
dem alles implementiert werden muss, können
wir einfach voran gehen und die Parameter
entsprechend ändern , um einzuschließen, was eingeschlossen werden muss. Und dann müssen wir nur ändern, wie wir das Include-Teil machen. Also, wenn wir die Liste der Zeichenfolge machen, sagten
wir, wenn wir Inhalt in dieser Liste haben, dann
gehen Sie für jede oder enthaltene Eigenschaft vor und machen Sie das Include. Jetzt wird dies uns tatsächlich eine Funktion namens include geben. Ordnung, diesmal brauche
ich keine Schleife. Ich kann diese Schleife Hafer nehmen, und diese Eigenschaft sollte enthalten genannt werden. Also lass mich einfach weitermachen und das reparieren. Dies ist beinhaltet dies alles in Ordnung. Nur um die Benennung konsistent zu halten, so dass sie enthält. Also müssen nicht alles tun, ist Abfragen zu sagen, die gleich Includes sind, was eine Funktion ist. Und dann werde ich Abfragen stellen. Mit anderen Worten, wir sehen, dass wir die Abfrage haben. Die Abfrage, ja. Aber dann für die Abfrage möchte
ich alle Includes bewirken, die hier festgelegt wurden. Mal sehen, wie der Code in einer Minute aussehen wird, aber ich werde diesen Code nur in der „find all“ -Version
dieser Methode replizieren und diesen Parameter reparieren, richtig? Und alle sind glücklich. Und dann schere ich. Als wir es implementiert haben, habe ich keine neue Datei erstellt. Also das ist irgendwie führend alle Kosten Trennung von Bedenken, natürlich, weil ich zu schnell und es ist tatsächlich in Fairness,
dauerte eine Weile, um es zu finden. Also, was ich tun werde, ist nur eine neue Datei zu erstellen, während wir hier sind. Also müssen wir zu Verträgen gehen. Und ich werde nur die Klasse hinzufügen. Wir wissen, wie man das bereits es entweder generisches Repository
nennt, aber es wird wirklich nur Host spielen oder ich generische Repository-Schnittstelle, richtig? Genau dort weiß ich jederzeit, wo ich mein generisches Repository finde. Gehen Sie weiter und fügen Sie alle fehlenden Referenzen ein. Und das sieht besser aus. Jetzt wissen wir also, wo unser generisches Auge Repository ist. Wir haben unser generisches Repository. In Ordnung, und wir haben unsere Einheiten der Arbeit welche Minderheit? Darauf können wir aufbauen. Nein, Schauen wir uns an, was wir in unseren Controllern tun müssen. Denn nein, alles ist in RRE,
alles, was in Unordnung ist, tut mir leid,
alles, was ein Include hatte, ist zu wissen, Unordnung. Also schauen wir uns an, was diese neue Syntax. Sieht so aus. Also in der Suche
alles, was ich getan habe, war alles zu finden. Und dann sagte ich, ich wollte diese Navigationseigenschaften einschließen, oder? Anfordern von Mitarbeiter und Urlaubstyp. Also null, ich kann einen Lambda-Ausdruck verwenden. Also kann ich q dot sagen und dann sagen, include. Q-dot, enthalten. Und ich bekomme hier eine rote Linie, weil ich diese using-Anweisung für Entity Framework Core
einfügen muss . Wenn Sie also vorangehen und das tun, können Sie fortfahren. Sie sehen also q lambda Ausdruck, Q dot include. Und dann innerhalb dieser Methode möchten Sie einen anderen Lambda-Ausdruck. Ich werde dieses Mal nur x als Tolkien benutzen. Und dann gibt es mir alle Eigenschaften aus der Tabelle. Also hätte ich ursprünglich gewünscht, dass x-dot einen Mitarbeiter anfordert. Und dann kann ich diese Include-Anweisungen entlang verketten. Also schauen Sie sich diesen Teil sehr sorgfältig an, denn
wenn Futter, wenn Sie nicht darauf achten, Es ist einfach zu Chaos. Okay, so beinhaltet, dann starten wir den Lambda-Ausdruck und mit diesem Tolkien sagen wir q dot include. Dann haben wir den Lambda-Ausdruck innerhalb des Includes, und dann können wir andere Includes verketten. Also kann ich sehen, wenn ich will,
was bedeutet, dass, wenn es etwas in dieser Eigenschaft, die ich wollte, ich sehen
könnte, dass ich den anfragenden Mitarbeiter einschließen und
dann etwas in diese Tabelle einfügen könnte. Richtig. Ich könnte auch sagen, die Anfrage Mitarbeiter Punkt und alles andere ein Boot, obwohl Navigationseigenschaft. Das ist eine andere Möglichkeit, mehrere Includes in der einen Anweisung zu haben. Aber ich kann auch einfach wieder hinzufügen sagen, was mir die Möglichkeit gibt, einen anderen Lambda-Ausdruck zu verwenden und die andere Navigationseigenschaft anzugeben, die Blatttyp ist. Ordnung? Also hoffe ich, dass dich das in keiner Weise verwirrt hat. Nur wissen, was lebt, einfach schnell zusammenfassen. Also wissen Sie, wenn ich die Includes mache, habe ich einen Lambda-Ausdruck. Dann sage ich q dot include. Dann ist ein anderer Lambda-Ausdruck innerhalb dieser
Include-Methode , bei dem ich dies sehe, die Navigationseigenschaft, die ich einschließen möchte. Das alles setzt also davon aus, unhöfliche Aussage zu wollen, oder zumindest das summiert, was Essen Statement will. Aber dann kann ich so viele Includes wie
ich habe, die Kette fortsetzen und sagen, dot include und dann ein anderer Lambda-Ausdruck in diesem. Und dann kann ich weiterhin hinzufügen oder nicht enthalten Punkte enthalten, würden
Sie dann verwenden, wenn Sie das Enkelkind anzünden wollten. Wenn Sie also am übergeordneten Tisch waren und in der Nähe im Kind enthalten sind und Sie möchten, dass ein Kind von diesem Kind entfernt
wird, dann würden Sie sagen, dass Sie das Kind einschließen und
dann sozusagen das Enkelkind einschließen. Und du könntest die Kette runtergehen, das führen. Jetzt können wir diese Liste loswerden, weil alles jetzt stark getippt ist. Wenn sich also etwas innerhalb der Domain-Klasse ändert, wird der Code definitiv brechen. Und es ist besser, wenn das Gericht während der Debug- und
Kompilierungszeit bricht , wenn es bricht, wenn es in der Produktion ist, richtig? Also können wir unsere Wiederholung fortsetzen, die Füße
hier unten für jede andere Include-Aussage und wir werden sie einfach zusammen machen. Also das ist einfach Typ verlassen, ich kopiere und füge nur den oberen ein. Aber natürlich brauche ich keinen Angestellten. Und hier ist ein Fall in Punkt. Dies ist die Tabelle „Urlaub Allokationen“. In Ordnung. Es hat keine Navigationseigenschaft des anfragenden Mitarbeiters. Also eine Reihenfolge, die die Liste der Zeichenfolge verwendet, wird
es keine Möglichkeit geben, herauszufinden, dass wir versuchen, etwas
einzuschließen , das nicht in der aktuellen Klasse vorkommende Tabelle ist. Und dann würden wir tatsächlich einen Fehler von
Entity Framework Core bekommen sehen, dass es diese Navigationseigenschaft nicht finden kann. Dies ist also eine gute Möglichkeit, die Pfeile während
unserer Eingabe zu sehen , im Gegensatz zu wenn jemand die Anwendung benutzt. Also können wir fortfahren und das entfernen, eine fehlerfreie Zeile
bekommen und dann diesen Vorgang wiederholen. Hören Sie nicht. Diesmal schließe ich also den anfragenden Mitarbeiter ja ein. Der Blatttyp, ja. Und dann unser drittes. Also sage ich einfach Dot Include noch einmal. Und dann in diesem Lambda-Ausdruck, wo einschließlich der genehmigten von, von mir
genehmigt, stellen Sie sicher, in Ordnung. Und Sie sehen wieder einmal, dass Sie Fehler bekommen wenn es nicht herausfinden kann, was Sie versuchen zu tun, richtig. Ursache genehmigt ist nicht etwas, das aufgenommen werden kann, jedoch genehmigt von NB. In Ordnung. So können wir unseren Code aufräumen, einige der Gerüche
loswerden
und einen sauberen, der stabiler und kalter aussieht. Das war also der Urlaubsanforderungs-Controller. Lass uns einfach tun, ich werde das hier durchlaufen und es dir zeigen. Was ich also getan habe, war, Zeilen vom anderen Controller in
die Leave-Allokationskontrolle zu kopieren und einzufügen. Und dann werden wir diese Fehler zusammen beheben denn jetzt können wir alle Pfeile voll bewusst sein. Also zuerst oder schließen Sie die fehlende using-Anweisung ein. Zweitens, entfernen Sie die Include-Aussagen, die wir nicht an diese glauben müssen, es war nur der Typ verlassen. Also entferne ich nur alles, was nicht notwendig ist. Und dann in der Bearbeitung sehen, schließen Sie den anfragenden Mitarbeiter ein. Was ich weiß, ich brauche nicht die genehmigt von vier dieser hier. Aber Angestellte anzufordern, glaube ich, das war nur Angestellter. So wird
es von Fall zu Punkt, wieder einmal , immer schauen, was Sie versuchen zu referenzieren? Ist diese Referenz wirklich überhaupt da? Okay, ich glaube, wir haben hier noch eine, die nur eine fehlende Klammer ist, 0, ein zusätzliches Fett haben. Okay, also das sind zwei Controller nicht auf dem letzten,
na ja, dieser hatte keine Abhängigkeiten von irgendeinem Include. Lassen Sie mich also weitermachen und das Projekt erstellen, nur um sicherzustellen, dass es keine anderen Debug-Fehler irgendwo im Code gibt. Und es wurde erfolgreich gebaut. Und ich kann Ihnen versichern, dass bis zu diesem Punkt
alles, was Sie getan haben, weiterhin funktionieren wird. Und noch einmal, die Bedeutung dieses Refaktors ist, dass es
die Wahrscheinlichkeit reduziert , dass Sie Fehler als menschliches T in dieser Anwendung einführen.
61. Überprüfung von eingebauten Sicherheitsfunktionen: Hey Jungs, In dieser Lektion wollen wir einige
der integrierten Sicherheitsfunktionen überprüfen , die V.Net Core ihm gewährt hat. Jetzt ist der Aufbau einer sicheren Website von größter Bedeutung. Es gibt eine ganze Reihe von Möglichkeiten, dass eine Person nicht Tacos kann. Und während einige von ihnen eher auf dem Netzwerk basieren, wie vielleicht Denial-of-Service-Angriffe. Einige von ihnen sind tatsächlich in der Kontrolle des Entwicklers. Sie sind tatsächlich in der Verantwortung dafür zu sorgen, dass diese Schutzmaßnahmen in unseren Laboren direkt fallen. Wie die Anwendungsentwickler wissen, weiß
Microsoft natürlich die Wichtigkeit der Sicherheit. Und Sie würden sehen, dass sie bereits irgendwie in
bestimmten Dingen gebacken werden, wie wenn wir unsere Benutzer-Management-Sachen,
Lucy, überprüfen , dass die Passwörter gehasht werden, das gleiche Passwort wird nie die gleiche Weise zweimal. Und viele Überlegungen gingen in diese Art von Dingen ein. Es ist einfach für uns, wie autorisiert, den Zugriff auf bestimmte Teile unserer Anwendung basierend auf
der Rolle zu beschränken oder einfach nur jemanden eingeloggt zu haben, bestimmte Dinge sind bereits integriert. Also wollte ich irgendwie davon abweichen, weil wir bereits
diese Sicherheit und Zugriffskontrolle untersucht haben , aber dann eine Anwendungsebene hinzufügt. Was sind die Mechanismen, die sie uns bereits gegeben haben? Ein sehr beliebter Angriff ist also Cross-Site-Referenz Forgery, kurz CSRF. Diese Art von Angriff ermöglicht es einem Angreifer,
einen Opferbenutzer dazu zu veranlassen , Aktionen auszuführen, die er nicht beabsichtigt hatte. So lange Geschichte kurz, jemand kann wahrscheinlich wie eine Form von JavaScript schreiben, um eine Option zu automatisieren. Und du wirst unser normaler Benutzer sein, du denkst, du tust etwas. Aber dann, weil ihr Skript im Hintergrund ausgeführt wird, könnten
sie die Daten auf der Website manipulieren, die Sie besuchen. Also als Website-Inhaber, richtig? Also, das waren Sie als Benutzer, Ihr Ohr, Sie wissen nicht, was dann als Website-Entwickler, der Besitzer der Website, wollen Sie sicherstellen, dass der Angreifer nicht in der Lage sein wird, die Sitzung
eines Benutzers zu manipulieren auf alle böswilligen Angriffe aus. Eine besondere Möglichkeit, diesen R1 Lupo zu tun die Leute normalerweise ausnutzen möchten, wäre alles, was Daten wie Up-Post akzeptiert. Ordnung? Nun, wenn Sie eine Bearbeitung durchführen und dann auf Senden klicken, wie wir zuvor durchgemacht haben, wissen
Sie, dass es nach oben geht und dann kommt es hier. Aber dann bemerken Sie, dass alle diese Controller, sobald wir diese Controller-Codes und diese Optionen generiert haben, richtig, sie alle diese Flagge über der Post-Methode hatten, Anti-Fälschungs-Token
validieren. Also, was passiert ist, dass jede Farm, die dotnet Kern erzeugt die automatisch
in, in der Form Tag einige Anti-Fälschung Tolkien
, um zu sehen , dass alle Anfragen kommen zu diesem Endpunkt. Hat die, hat ein gültiges Tolkien. In Ordnung, also werden die Tolkien in die Form
gebacken weil du das Bearbeitungsformular generierst. Sobald du diese Farm Tang gemacht hast, ist
sie automatisch da. Du siehst es nicht. Du musst nicht mal die Oberseite dort hinstellen. Du brauchst nichts anderes zu tun. Wir mussten nichts anderes tun. Aber es will, dass der Benutzer auf Senden trifft. Token wird zusammen mit der Anfrage eingereicht werden. Und dann wird diese Anmerkung angezeigt,
stellen Sie sicher, dass dieses Token gültig ist. Also, wenn irgendwelche Anfragen von irgendwo kommen, wo die Tolkien kein System generiert und gültig war, dann wird es diese Anfrage ablehnen. Wenn es kein Tolkien gibt, werden
Sie diesen Antrag ablehnen. Das ist wie ein automatisches Schutzniveau, das uns gegeben wird. Wissen Sie, als wir unsere,
ich glaube, Blatttypen eingerichtet haben. Und ich hätte auf das Einrichten des Löschens angedeutet. Denken Sie daran, dass wir die Pflichtstufe als get und löschen als Post haben. Aber dann modifizieren wir die Benutzeroberfläche, um die Notwendigkeit zu
umgehen, zum Post zu gehen und einfach mit dem Git zu
umgehen, das in unserer Fähigkeit auflösbar ist. Also habe ich gesagt, dass sie sicherere Wege sind, damit umzugehen. Und ich wende mich nur an diesem Punkt an, richtig? Das ist eine Sicherheitslücke, weil jemand unsere Anfragen mit jeder ID,
dieser Löschoption automatisieren und die Daten löschen könnte , aber dann haben wir eine sicherere. Deshalb haben sie uns zunächst zwei Schritte gegeben, weil ich sicherstellen wollte , dass der Löschvorgang, den Sie bestätigt haben, dass er von einer gültigen Quelle stammt. Daher werden wir diese Sicherheitslücke in diesem Abschnitt ansprechen. Eine andere Art von eingebautem Schutz, auf den ich
auch hinweisen möchte , ist der uns von Entity Framework Core gewährt. Aufgrund der Art, wie Entity Framework Core seine Anweisungen erstellt, wird
SQL-Injektion für einen Angreifer sehr schwierig durchzuführen. SQL-Injection ist also eine Art von Angriff, bei dem sie ein Formular ausfüllen würden und in das Textfeld sie eine Form von
Bedingungen eintragen würden, so dass, wenn Sie Ihre SQL-Abfrage nicht bilden, wir die Best Practices verwenden, auch bekannt als vorbereitete Anweisungen, oder einfach nur mit einem ORM Object Relational Model, unser Mapper, sorry, nur das Entity Framework sind in anderen Sprachen. Wissen Sie, jede Sprache hat ihre eigene. Entity Framework ist also nativ zu dotnet. Wenn Sie nicht eine von denen verwenden, die erneut vorbereitete Anweisungen verwenden, laufen
Sie Gefahr, das Tool verfügbar zu machen Ein Angreifer kauft sie einfach fügt einen SQL-Befehl innerhalb Ihres Formulars ein. Mit unserem Entity Framework, der Access, Datenbank, Access Layer, ist
das wie eine sofortige Schutzstufe, ein sehr,
sehr fähiges Schutzniveau gegen reguläre Angreifer, als sie versuchten, SQL zu verwenden Injektion. Und es gibt Zeiten, in denen Leute vielleicht ihre eigenen SQL-Anweisungen schreiben wollen. Wir haben nicht wirklich unsere eigenen geschrieben. Wir haben uns vollständig auf EF Core verlassen, unsere Link-Syntax. Nun, dann gibt es Zeiten, in denen Leute EF Core oder
andere Bibliotheken verwenden können , die ihre eigenen SQL-Anweisungen dappern und am Ende schreiben. Und daran ist nichts falsch, aber sie alle geben Ihnen den Mechanismus, um die Anweisungen
vorzubereiten, bevor Sie sie an die Datenbank senden. Und vorbereitete Anweisungen bedeuten, dass Sie ähnliche
Parameter erstellen und dann die Werte in
Parameter einstecken , anstatt nur die vom Benutzer bereitgestellte Entzündung zu verketten. Also die SQL-Zeichenfolge. Das ist also ein Vorfallslevel, Schutzniveau wieder gegen SQL-Injection. Nein. Wir machen weiter und das nächste, was wir tun werden,
ist, unseren gesamten Löschvorgang zu modifizieren, richtig? Wie ich schon sagte, es ist eine Sicherheitslücke in unserer Anwendung. Sie würden viele Beispiele sehen, die es so machen, wie ich es getan habe. Ich meine, das ist einfach genug, um loszulegen. Aber dann fangen wir an diesem Punkt nicht mehr an. Wir haben eine vollwertige Anwendung und möchten sie im Internet veröffentlichen, daher müssen wir sicherstellen, dass sie luftdicht ist. Also gehen wir durch und beheben einige dieser Lücken, wenn sie entstehen.
62. Sichere Löschmethode: Hey Leute, willkommen zurück. Also, was wir in dieser Lektion tun werden, ist die Sicherung unserer Lösch-Button. Und es wird so einfach sein, sie wahrscheinlich sagen werden, also warum haben wir es nicht vom ersten Mal so gemacht? Und ja, ich akzeptiere dieses Feedback-Buch, wo hier nein, und das ist nur mit ihm umzugehen. Was wir also tun müssen, ist, und es gibt eine ganze Reihe von Möglichkeiten. Eine Möglichkeit, dass Sie wahrscheinlich sehen würden, dass die Leute es tun, ist die Bestätigung. Und sie verwenden wahrscheinlich nicht nur das JavaScript hier. Manchmal benutzen sie das nicht einfach. Was sie manchmal tun, ist das Einsetzen wie Bibliotheken von Drittanbietern wie süße Warnung und Zeug, um dieses Dialogfeld zu behandeln, das auftaucht. können wir tun. Kein Problem, aber ich werde es einfach halten,
einfach genug, um effektiv zu sein. Denn was wir wirklich wollen, ist anstelle
eines Anker-Tags, das einfach
diese Route mit der Item-ID passieren wird und einfach die Löschmethode hier aufruft, wollte
ich
Standardreforderung mit einer gültigen und T4a einreichen Tolkien zur Löschmethode hier. So weiß es genau, was es entfernen muss. Und das ist eigentlich ein einfaches As, und ich werde einfach eine andere Zeile direkt oben erstellen. Wir können eine Schaltfläche innerhalb eines Formulars einwickeln. Ordnung, also diese Form, in die ich ging, LET ist B Strich Aktion. Ihre Aktion ist „Löschen“. Und dann werde ich sagen, dass Sie die Regel für IDS sind. Es ist immer noch das, aber dann ist Ihre Methode post. Was also passieren wird, ist, wenn dieses Formular eingereicht wird, nennen
wir diese Post-Aktion, richtig? Also, anstatt dieses Anker-Tag zu haben und ich werde das einfach wiederverwenden, aber anstatt ein Anker-Tag zu verwenden, werde
ich eine Schaltfläche und den Button-Typ verwenden, werden
wir Typ senden, unser Typ gleich senden. Also wissen wir, dass dies wirklich eine Submit-Button darstellt, wo es immer noch unsere Bootstrap-Klassen und -Icons auf allem hält. Aber es ist eine Schaltfläche zum Senden, die warnt,
bestätigt, ob Sie es wirklich tun möchten, und dann gehen Sie weiter und rufen Sie die Aktionen auf. Also werde ich diese Route ID entfernen. Ich meine das nicht im Inneren des Knopfes selbst. In Ordnung, also nehmen wir das für unsere Schüler. Das sind also Urlaubstypen. Lassen Sie uns das testen. Okay, also lassen Sie uns das testen. Und Sie sehen hier, dass es unser Design verursacht und sagen, das ist zweitrangig, ich weiß, aber ich möchte Ihnen genau zeigen, was im Code passiert. Also werde ich zu Inspect Element gehen und Ihnen zeigen, dass, wenn wir uns ansehen, was für diesen Button hier ist. Das ist also eine R-Form. In Ordnung? Und dann ist das unser Knopf. Sicher. Aber dann sieh dir das an. Wir haben eine automatische Eingabe. Also beachten Sie alles, was wir getan haben, war das Forum auf dem Bootsmann zu erstellen. Sie sind gekauft es generiert diese Eingabe mit dem Namen. Ich denke, das sind etwa zwei Unterstriche. Request Verifizierungstoken, Typ gleich ausgeblendet, und der Wert ist gleich diesem Blob off stream, dass Hush. In Ordnung, das ist also unser Anti-Fälschungs-Token. Also diese Anmerkung oben, und ich habe nur einen Haltepunkt hier gesetzt, um sicherzustellen, dass wir es gut treffen, diese Anmerkung über der Methode sagt,
ich werde unsere Suche nur zulassen, wenn sie einen Anti-Fälschungs-Token hat, den ich kenne. In Ordnung. Auf diese Weise kann niemand unsere Seiten entführen. Ich sende nur unsere Anfrage, weil sie den Pfad leicht
herausfinden können und einfach unseren Anfrageschrägstrich senden, Schrägstrich einen und den ersten Datensatz
löschen können, was wir vermeiden möchten, oder? Wenn ich also auf Löschen klicke, erhalten
wir immer noch die Bestätigung. Wenn ich sage „Abbrechen“, passiert nichts. Wenn ich es erneut mache, klicke ich auf OK, dann trifft es unsere Haltepunkte. waren immer noch über das ideale Kind. Es gibt keinen Ausweis. Ok. Und es tut mir leid, ich weiß genau, warum es keinen Ausweis gibt. Also lasst uns gehen und das korrigieren. Lassen Sie mich einfach die Ausführung stoppen und dann können wir gehen und Strom in der Taste. Ich habe das nicht genommen, also DSPS. Was passiert, ist, dass
es eine eigene Farm Auktion hat und es
mit der Aktion konkurriert , die damit generiert worden wäre. Also lassen Sie uns das entfernen und versuchen Sie es erneut. Also werde ich nur löschen, klicken Sie auf. Okay, wir treffen den Vogelpunkt und wir sehen, dass der Ausweis jetzt vorbeikommt. Ich werde einfach weitermachen. Und da gehen wir. Das ist also eine viel sicherere Möglichkeit, zu löschen. So hat sich nicht viel wieder sichtbar geändert, Sie könnten es ein wenig aufräumen, indem Sie eine
dieser Drittanbieter-Bibliotheken verwenden , um den Benutzer zu auffordern. Bist du dir sicher? Bist du sicher, dass es gut funktioniert. Aber dann ist die Mechanik dahinter, wie diese Anfrage tatsächlich an den Server geht nicht weit kugelsicherer als vorher, diese Lektion. Also alles, was Sie tun können, ist durch
die anderen Listings gehen und nur sicherstellen, dass sie das Gleiche tun. Und ich würde auch empfehlen, dass Sie entweder alte kommentieren,
löschen Sie dies einfach die Löschmethode, weil wir es nicht verwenden werden. Wir wollen nur auf die Postmethode mit dem und T4a Tolkien verlassen. Und dann kümmert sich das um alles. Und ich modifiziere dies auch nicht zu einem Häkchen eines Parameters außerhalb der ID. Also, um es das Modell zu nennen, das in den Parametern referenziert wurde ,
und heben Sie einfach diesen try-catch an und ich lege am Ende dieser Operation
eine Rückkehr zum Thema Index. Das hat also weniger mit Sicherheit zu tun und mehr damit zu tun, dass ich es modifiziere. Also denke ich, mein Code sieht etwas sauberer aus. Eine andere Sache, die ich getan habe, um
meine Tastenanzeige zu bereinigen , waren zwei in diesem Fernseher, den wir für die Tasten reserviert haben, erstellen Sie ein div mit einer Regel. Ordnung, und in dieser Rolle, und nur als eine geradlinige Umleitung laufen. Da, da gehen wir. Also in dieser Rolle habe ich einen div PRB-Button und ich gebe dir nur einen Col Strich egal welcher Größe. Es könnte also zwei sein. Es könnte wahrscheinlich eins sein, basierend auf der Größe unserer Tasten, so dass alles in der Linie ist. Also das div, div mit einer Klasse namens dash T2 für die, das ist die Bearbeitung. Dann haben wir die Details und dann das Gleiche für das Formular. Und wir sind nur so, dass Sie deutlich sehen können. Und so werden unsere Buttons in einer Zeile angezeigt, so dass Sie
voran gehen können und das einfach Ihre Schnittstelle so lenken können. Nun, das ist es für drei oder keine Überprüfung dieser Löschvorgänge, so dass Sie fortfahren und diese Maßnahmen auf Ihren anderen Seiten implementieren können.
63. E-Mails mit MailKit und SMTP senden: Hey Leute, willkommen zurück. In dieser Lektion werden wir einen Blick auf ein anderes Sicherheitsproblem werfen und das ist mit der Registrierung. Die Realität ist also, dass ja, Sie könnten ein System wie dieses für den internen Gebrauch in Ihrem Unternehmen einrichten und nun,
okay, nur Mitarbeiter des Unternehmens würden erwartet, dass sie darauf zugreifen. Unabhängig davon, dass Sie wahrscheinlich immer noch in diesem Huhn ausgewogen setzen wollen, stellen Sie sicher, dass die Person, die sich registriert, bestätigt, wer sie zumindest sind. Das Hinzufügen dieser E-Mail-Bestätigungsfunktion zu jeder Anwendung ist daher sehr wichtig. Und natürlich, obwohl ich
die E-Mail-Funktion im Kontext der Sicherheit präsentiere , können
wir diese E-Mail-Funktion auch in anderen Teilen verwenden, wie wenn der Absender Anfragen abgibt, können
wir eine automatische E-Mail an sie auslösen, Dinge wie das. Aber im Moment konzentrieren wir uns nur auf die Nachrüstung oder einen Distributionsprozess, um sicherzustellen, dass eine E-Mail an
den Registranten gesendet wird und diese bestätigen und dann auf das System zugreifen können. Also lassen Sie uns einfach überprüfen, wie unsere auf Post-Aktion aussieht oder was ein Handler andere. Und wir haben einige Änderungen vorgenommen, weil wir den Benutzer modifizieren. Und dann gingen wir voran und erschaffen sie gleichzeitig. Und dann gingen wir einfach weiter und fügten die Regel hinzu und schickten sie alle auf einmal. Also gibt es hier nichts, um zu bestätigen, wer Sie sind, wenn Sie sich registrieren. Also wollte ich eine Art von Änderung dieses Flusses noch tun müssen, um all dieses Objekt erstellen war noch notwendig, um fortzufahren, wenn die Registrierungen oder erfolgreich. Aber wir hatten schon ich E-Mail Absender, der irgendwie eingebaut war. Und ich e-Mail-Absender im ursprünglichen Code hat
hier etwas Arbeit gemacht , nachdem ich protokolliert habe, dass ein Benutzer nicht erstellt wurde. Also lassen Sie uns, uns wieder einführen einige von diesem Code und dann werden wir gehen und konfigurieren, dass ich Absender Klasse 2, was wir brauchen, um es zu tun. Um das, was hier passiert ist, wieder einzuführen hätten
wir einen Code generiert, oder? Also hatten wir diese beiden Codezeilen. Var-Code ist gleich unserem IT User Manager. Punkte generieren E-Mail-Bestätigungstoken, asynchron, und wir übergeben diesen Benutzer. Also werden einige Tolkien relativ zu diesem Benutzer generiert werden. Und dann kodieren wir das Tolkien. Und wir speichern diese Tolkien als String innerhalb dieser Variablen namens Code. Jetzt wird dieser Code eine Berührung auf die Seite bekommen. Ziemlich viel Solar wird eine Bestätigung Pete haben. Also, wenn wir es abscheuen, hatten
wir eine Seite namens Bestätigen E-Mail. Hier ist es. Richtig. Wenn sie also die E-Mail erhalten, um zu bestätigen, wer
sie sind, müssen sie auf diesen Link klicken und es muss diese Seite auf get laden, es wird diesen Code erhalten. Da gehen wir. Und noch einmal, das war alles, was vorher da war, und ich habe es entfernt. Sie haben es wahrscheinlich kommentiert. Also, wenn Sie kommentiert haben, kann es an dieser Stelle entfernen. Aber was wir haben werden, ist eine Callback-URL gleich URL Punkt Seite. Die Seite, die wir ihnen sagen, zu gehen, ist ein Kegel Schrägstrich Bestätigen E-Mail. Richtig. Das war also derjenige, den wir gerade angeschaut haben. Und wir übergeben die Werte neue Bereichsidentität, Benutzer-ID ist die ID, die diesem Benutzer gegeben wird, und der Code ist der Code, der gerade generiert wurde. Und dann Rückgabe-URL ist die Rückgabe-URL, die wir von hier aus übergeben. Es kann oder nicht da sein, das macht Spaß. Aber der Punkt ist, dass dies die URL ist. Lassen Sie uns in get created gehen. Das nächste, was wir tun müssen, ist, zu bestätigen oder ihnen zu erlauben, die E-Mail oder ihre E-Mail-Adresse zu bestätigen, indem Sie eine E-Mail an sie senden, richtig. Die nächste Zeile wäre also wach und aufmerksam zu und durch das, was asynchrone Programmierung einführt. So wartet, Punktzahl E-Mail Absender Punkt E-Mail senden ist sinken. Wir senden eine E-Mail an die E-Mail-Adresse, die gerade mit dem Betreff
verwendet wurde , bestätigen Sie Ihre E-Mail. Wenn Sie also nur den Mauszeiger zeigen, sehen Sie die E-Mail, den Betreff und die Nachricht. Also HTML-Nachricht, was bedeutet, dass wir in unsere Tags setzen können. Also bitte bestätigen Sie Ihr Konto durch, und dann haben wir das Anker-Tag mit dem href, und dann geben wir sie codiert diese Callback-URL, die wir gerade erstellt haben. Alles klar, und indem Sie hier klicken, damit Sie diese Nachricht nach oben ändern können, wie Sie möchten. Aber das ist zumindest das, was wir wissen. Der ursprüngliche Code bricht auch aus, wenn, if-Anweisungen, und er hatte tatsächlich diese beiden Zeilen in einer if-Anweisung, um zu sehen, ob wir gerade starten, dann senden Sie sie auf die Seite, wo sie einfach klicken können, gehen Sie weiter und bestätigen Sie sonst, senden Sie sie an die Anmeldung. Also nirgends tatsächlich in der E-Mail implementiert. Wir brauchen nicht die Passform der Fail-safe, dass wir Arginin gegeben wurden,
ist also das , was Ihr Register auf Post aussehen muss. Also lasse ich das einfach ein bisschen auf dem Bildschirm, damit du es abnehmen kannst, wenn du noch nicht den Originalakkord hast. In Ordnung, aber nein, wir müssen den E-Mail-Absender wirklich konfigurieren, denn wenn er dies trifft, wird nichts passieren, keine E-Mail wird gesendet oder so. Also müssen wir konfigurieren oder E-Mail-Sitzungen Seele in unserem AP settings.js auf Datei, wir werden diesen neuen Ofen für die Konfiguration haben. Also nenne ich es E-Mail-Einstellungen. Und wir werden ja sagen, verwenden Sie SSL, den Mail-Server. Also habe ich bereits einige Beispiel-Zeug basierend auf Gmail. Aber dann ist die Realität, dass Sie in Ihrem eigenen Unternehmen möglicherweise unterschiedliche SMTP-Einstellungen haben. Also gebe ich Ihnen nur eine Vorstellung davon, was wir in Bezug auf Ihre Situation richtig sind. Sie setzen die Werte ein, geben
Sie den Absendernamen ein. Also jede E-Mail Doppelpunkt aus dem System. Und dann könnten Sie vielleicht den Firmennamen am Ende setzen, damit die Leute wissen, dass es keine Spöde ist. Die Absender-E-Mail wäre, von welcher E-Mail verschicke ich diese E-Mail? So könnte dies leicht Admin bei Urlaub Management sind keine Antwort, so etwas. Lassen Sie die Verwaltung und das Passwort, das benötigt
wird, um auf das Konto zuzugreifen, das damit verbunden ist, richtig? Wieder einmal, alle
diese beiden müssen in diesem Mail-Server konfiguriert werden, damit das Dienstprogramm tatsächlich eine Verbindung herstellen und das Senden der E-Mail ausführen kann. Nun, außerhalb davon, werde
ich einen neuen Ordner vorstellen. Und ich rufe nur IT-Services an, richtig. Weil ich gerade in diesem e-Mail-Cinder-Dienst, so tut mir leid, ich füge nur einen neuen Ordner hinzu und ich zitiere IT-Dienste. Und dann anstelle von Diensten werde
ich eine neue Klassendatei haben, die ich E-Mail-Einstellungen aufrufen werde. Jetzt ist diese Klasse mehr wie eine Modellklasse und es wird
identische Felder haben , die mit der JSON-Datei app.js Einstellungen übereinstimmen. Also werde ich einfach in wirklich dienen den Zweck von wird aus den App-Einstellungen in ein Objekt dieses Typs gesehen, und dann können wir diese entsprechend verwenden. Jetzt wäre die wichtigere Datei eine Schnittstelle, die ich erstellen werde. Und ich werde es nennen, ich e-Mail-Absender. Also, das ist ein, na ja, ich werde einfach alles in eine Klasse für uns stellen. Also nenne ich es, ich e-Mail-Absender. Und das hier ist wirklich eine Schnittstelle. Aber dann werden wir einen öffentlichen Kurs haben. Also, wenn du sie trennen willst, ist das in Ordnung, aber ich werde sie nur zu Bildungszwecken zusammenhalten. Also schicke ich Absender und diese Klasse erbt von unserer Schnittstelle. Unsere Schnittstellen werden also eine einfache Funktion haben , die tatsächlich die Funktion spiegelte, die wir hier gesehen haben. Also E-Mail-Absender, der zurückverfolgt sagt, selbst Absender hier referenziert ich e-Mail-Absender, der B-Fehler ist. Alles klar, das kommt mit dem System, aber wir werden es nur mit unserer eigenen Funktionalität überschreiben. Aber es hat diese Funktion, E-Mail
senden, eine Spüle. Also übertrage ich nur, dass E-Mail zu senden sinken ist. In Ordnung, und so machen wir voran und implementieren diese Schnittstelle hier. Also haben wir diese Methode verfügbar durch diese. Also werde ich zuerst in dieser Klasse ein Objekt vom Typ Email Settings deklarieren. Und dann werde ich einen Konstruktor haben, der dies aus der Optionsdatei
initialisiert, richtig? Also werde ich nur AI-Optionen sehen, E-Mail-Einstellungen, und dann,
und das ist mein winziges Objekt. Ich gehe einfach weiter und füge diese Erweiterung ein. Und dann initialisiere ich. Es ist also fast so, als ob ich dieses
lokale E-Mail-Einstellungsobjekt aus den Optionen Datei injiziere . Und Optionen hier repräsentiert mich. Sehen Sie, diesen Abschnitt der App-Einstellungen JSON in
das Matching zu realisieren fühlt sich an, als hätten wir Soul Nachmittag diskutiert. Und das sollte Punktvolumen sein, sorry. Also, jetzt, da wir unser lokales Objekt haben, das heißt jemanden zu
verärgern, um zu konfigurieren, was innerhalb der Send-E-Mails passiert. Also werde ich an dieser Stelle pausieren und ich werde eine Bibliothek einschließen. Wahrscheinlich hätte damit anfangen sollen. Was wir brauchen, um mit zwei neuen Git und einer Bibliothek namens Meal Kit gehen. Es gibt also einige Bibliotheken, die Sie verwenden können und Dienste von Drittanbietern. Aber Mailchimp rutscht einfach rein. Und damit die, die ich fühle mich wohl mit, so Mail-Kit. Und wenn wir es finden, können wir weitermachen und es installieren. Also finden Sie es einfach und wissen, dass wir das eingerichtet haben. Wir können zu unserer Konfiguration zurückkehren. Also das erste, was ich tun wollte, ist ein Objekt vom Typ mime message zu definieren. Und dann wird dies erfordern, dass ich Bibliotheken hinzufügen weiß, dass ich mein Kit verwende. Okay, also können wir einfach voran gehen und hinzufügen, dass fehlende oder Unterschied und dass mein Kind freundlicher Genehmigung unserer Mahlzeit Kit sind und wie wir weitermachen, werden
wir meine Nachricht sehen. Also bauen wir nur die Nachricht auf. Jetzt bedeutet mein Ich bin nur verschiedene Datentypen. Sie wissen nicht, welche Art von Nachrichten. Also verwenden wir nur einen generischen Nachrichtentyp, um diese E-Mail zu erstellen, richtig? Wir wissen nicht, ob es Bilder oder so etwas enthält. Deshalb verwenden wir das mein Nachrichtenobjekt. Also werde ich Mime-Nachricht von DOT sagen. Also meine Nachricht Punkt von DOT. Und bei dieser Methode werden
wir
unsere Postfachadresse aus
den E-Mail-Einstellungen Absendername und E-Mail-Einstellungen, Absender-E-Mail kommenhinzufügen unsere Postfachadresse aus
den E-Mail-Einstellungen Absendername und E-Mail-Einstellungen, Absender-E-Mail kommen . Daher fügen wir die Postfachadresse basierend auf diesen beiden Werten hinzu. Und dann müssen
wir auf die gleiche Weise sehen, wohin diese E-Mail geht. Also werde ich sagen, meine Nachricht Punkt zu Punkt, Mailbox Adresse Punkt Parse, E-Mail
hinzufügen. Und E-Mail ist das, was in unserer SendMessage-Methode bereitgestellt worden wäre. Das nächste, was ich tun möchte, ist sicherzustellen, dass ich das Thema erwähnt. Mein Nachrichtenpunkt-Betreff ist also gleich dem Betreff, das übergeben wurde. Und dann werde ich eine Builder-Sitzung oder ein Builder-Objekt starten. Also werde ich sagen var Bauherren gleich neuen Bodybuilder. Und ich sehe HTML. Html Körper ist gleich der HTML-Nachricht, die durch unsere Methode kam. Und so schön und einfach und unkompliziert so weit es dann werde ich sehen meine Nachricht Punktkörper gleich dem Builder Tool-Nachrichtentext ist. So sind es nur die schnelle Konvertierung. Wissen für, nachdem wir unsere Nachricht vorbereitet haben, müssen
wir tatsächlich ausführen, senden. Ordnung, also werde ich es versuchen und ich werde eine neue Sitzung
vom Typ SMTP-Client starten . Und ich setze die Verwendung hier ein, weil ich sterben wollte, oder? Es ist fertig, also haben Sie das einfach da. Aber wenn die Bibliothek für SMTP-Client, wir verwenden Mailchimp nicht System.In einer Mahlzeit, richtig? Mahlzeiten-Kit. Achten Sie also auf diesen Teil. Mailchimp dotnet, das SMTP, das ist unsere Bibliothek. Und dann validieren wir den Zertifikatruf Buck. Also haben wir diese Zeile, client.write Server Zertifikat Validierung Aufruf buck gleich. Und wir setzen in diese Objektwerte und in unserem Lambda ist wahr. Also sagen wir nur ja, es ist ein gültiges Zertifikat. In Ordnung. Dann werden wir eine Verbindung zu unserem SMTP-Server herstellen. Also werden wir sagen, ich warte, client.connect ist sinken. Und dann gehen wir in unseren Einstellungen vorbei und ich bekomme das,
okay, und lass mich nur mit dem beschäftigen, was diese Linie sieht. Also client.connect, async, E-Mail Lot Einstellungen, Essen Service. Wenn Sie nur schauen, was es erfordert, erfordert
es die Löcher, den Port. Verwenden wir SSL, richtig. Also Mail-Server, Mail-Port und ja, oder mit SSL, wir bekommen diese o und wir sagen Punkt konfigurieren, wie es fällt, oder? Aber diese rote Linie ist hier, weil wir gesagt haben, dass wir keine Szene gesehen haben. Alles klar, so weitermachen. Nachdem wir das getan haben,
dann, wenn die Authentifizierung für SMTP erforderlich ist, was wahrscheinlich jeder sichere SMTP wahrscheinlich sein wird, werden wir sagen, dass der Client keine Senke authentifiziert und sie wurden in der E-Mail übergeben und das Passwort. Das habe ich also gesagt. Diese müssen unter-erkannt konfiguriert werden und der SMTP-Server, Ich werde nicht zuordnen unsere Weizen fällt konfigurieren. Und dann werden wir sehen, wie der Client eine Synchronisierung sendet. Ich bin so ziemlich alle, die wir nur sehen konfigurieren, ein Gewicht fällt am Ende. Also werden wir sagen, senden Sie eine Sync meine Nachricht. Das ist also eine Nachricht, die wir aufgebaut hatten, sie
geschickt, konfiguriert unseren Weg, es fällt. In Ordnung. Und dann gehen wir voran und trennen asynchron und konfigurieren eine Art und Weise, wie es wieder fällt, so dass es so ziemlich ist. Und dann, wenn wir eine Ausnahme treffen, was wir tun wollen, ist wahrscheinlich nur
eine neue ungültige Operation Ausnahme werfen , pos einzelne Nachricht. Alles klar, damit jeder weiß, was passiert sein könnte. Natürlich würde dies in einer echten Sitzung wahrscheinlich nicht tun, aber für Testzwecke können wir das verlassen. In Ordnung, also unsere nächste Bestellung ist es, unseren E-Mail-Absender zu registrieren. So wissen wir bereits, dass wir, wenn wir unsere eigenen Dienste erstellen, in unser Startup gehen müssen. Und dann in unserem Konfigurationsdienste-Abschnitt werde
ich ein wenig hinzufügen, ich werde nur einen Abschnitt irgendwo hier schnitzen. Ich lege es direkt über das Mapping. Und ich werde nur einen kleinen Kommentar setzen, sagt genau sehen, was passiert. So services.com Figur und wir fügen E-Mail-Einstellungen hinzu. Und das ist unser Modul 4, 4 bis settings.js IN Fein. Konfigurieren Sie also E-Mail-Einstellungen. Und ich werde sagen, Konfiguration erhält Abschnitt E-Mail-Einstellungen, richtig? Das ist also, was ich die KI-Optionen nennen werde. Es wird nur wissen, dass dies ein Abschnitt darüber ist, sollte in diesem
serialisieren und irgendwo anders verwenden. Dann werden wir auch Singleton für E-Mail-Absender und den E-Mail-Absender hinzufügen. Also eine Instanz davon wird pervious werfen die gesamte Anwendung auf so ziemlich wissen, es wäre schön, dies für einen Spin, aber wie ich sagte, das waren wirklich nur Demo-Werte. Sie erhalten Ihre SMTP-Einstellungen und können sie verwenden. Sie können verschiedene Anbieter ausprobieren, wie senden Sie das Netz oder männliche Jet. Sie alle haben SMTP-Server, die sie für relativ freie oder sehr niedrige Kosten verwenden
können. Und noch einmal, wenn Sie in Ihrem Unternehmen sind, sollten
Sie in der Lage sein, auf den SMTP-Server zuzugreifen und diese Anmeldeinformationen nach Bedarf einzugeben. Seien Sie sehr vorsichtig mit diesen Anmeldeinformationen. Und Sie können es testen, bis es für die Registrierung ist. Aber wieder einmal, dieser E-Mail-Absender kann überall verwendet werden. Also eine weitere praktische, weniger sicherheitsgesteuerte Verwendung davon, sie werden es praktisch verwenden, wäre vielleicht im Urlaubsanforderungs-Controller. Denn wenn jemand eine Urlaubsanfrage einreicht, ist es gut, wenn
Sie nach dem Erstellen und Einsetzen in das System eine E-Mail wie Rot hier abschicken. Senden Sie E-Mail, Werkzeug, Supervisor sind, wer auch immer wir wissen, bekommt diese E-Mails richtig. Bei Stornierung. Sie könnten eine E-Mail an den Benutzer senden,
damit Sie den Benutzer an den Supervisor und den anfragenden Benutzer senden können, richtig? Wenn es abgebrochen wird, senden Sie eine E-Mail, sobald es erfolgreich ist und senden Sie e-Mail-Tool-Benutzer, der das erneut anfordert. Also diese schon, der Punkt ist, dass wir auf die gleiche Weise, wie wir jeden anderen Dienst injiziert
haben, wie unsere Arbeitseinheiten , einfach herkommen können. Und jetzt sind das diese duplizieren eine dieser Zeilen und sagen, ich e-Mail-Absender, e-Mail-Absender, initialisiere es. Und sobald wir das haben, können
wir diesen E-Mail-Absender überall verwenden, damit ich
bei der Erstellung unserer Anfragen sehen kann oder setzen Sie die Kommentare? Da gehen wir. Ich könnte sagen, E-Mail-Absender. E-Mail senden ist synchronisiert. Und so könnte die E-Mail dies die Vorgesetzten E-Mails sein. Also werde ich nur eine E-Mail schreiben. Ich denke, wir verwenden admin fügt lokale host.com als unser Admin-Benutzer. Das ist in Ordnung. Der Betreff könnte Urlaubsantrag sein. Ordnung. Und dann neu bitten, noch
einmal, sein Sohn Ihre, Ihre Situation, Sie treffen diese Entscheidungen, richtig? Und dann stellen Sie Ihre HTML-Nachricht zusammen, damit Sie andere Gebäude kontextieren können. Es gibt also so viele Dinge, die du tun könntest, oder? Ich möchte Ihnen nicht unbedingt zu viele Ideen in den Kopf stellen, aber ich möchte Ihnen nur das Konzept geben und ich vertraue darauf, dass Sie
dieses Konzept in Ihrem eigenen Kontext anwenden können . In Ordnung, also könntest du diese E-Mail direkt hier machen. einmal können Sie es bei der Stornierung tun. Sie haben so viele Anwendungen, aber nein, Sie wissen, wie Sie Ihre Anwendung konfigurieren und sie
so konfigurieren, dass E-Mails gesendet werden, wo und wann immer Sie sie benötigen.
64. Übersicht des Sekels öffentlichen: He, Leute. Wir hatten also eine ganze Reise, auf der wir von Grund auf aufgebaut haben, das Gericht geschaffen hat. Zuerst in der Datenbank haben wir alle von den Muttern und Bolzen erkundet. Setzen Sie es zusammen und wir haben eine schöne Arbeit aus schwach und melden Sie sich in IQ und erstellen Sie einen Benutzer für Urlaub auf alles scheint in Ordnung. Nein, das ist alles auf der Maschine im letzten Schritt. Wirklich? Zu jeder Anwendung, die entwickelt wurde, ist es, sie in die Produktion zu bringen und sie so zu setzen , dass dies ist es zugänglich für andere Menschen. Also, wie ich schon sagte, offen zu wissen, dass wir direkt im Cordon Results Studio waren und es dann in Menschen
mehr laufen lassen. Es ist nur auf unserer Maschine, die Datenbanken auf über Maschine auf. Wenn wir unsere Maschine nicht für immer eingeschaltet lassen, wird
niemand sonst jemals in der Lage sein, Zugang zu ihr zu bekommen. Nein, für heute Morgen schauen
wir uns zu Hause an. Sie können über die Veröffentlichung dieser Anwendung in öffentlichen Räumen für andere Personen gehen. Jetzt werden
wir nur dieses Mal bleiben, um uns ein paar Optionen anzusehen, Ihnen
nur einen Überblick über die verschiedenen Veröffentlichungstechniken geben, die wir
durchlaufen werden . Die erste 1, die wir uns ansehen werden, ist die Veröffentlichung auf einem lokalen Server, wenn ich sage lokale Server nicht unbedingt bedeuten muss, dass er lokal ist, weil nein, wissen
Sie, alle Bewegungen der Code-Server sind nicht notwendigerweise in der gleichen Büroräume. Also, wenn ich sagen, lokalen Server, Ich meine wirklich nur ein Server irgendwo auf dem, was wir auf diesem Server brauchen, ist ,
ah ,
spezielle Software namens Internet Information Services, oder II S. ,
spezielle Software namens Internet Information Services,
oder II S.
Flaggschiff-Webserver-Software auf DSO. Wenn es wird Hosting oder von Maschine wird Hosting eine Web-Anwendung wie unsere eigenen, wir müssen sicherstellen, dass mit II s Andi ausgestattet. Es ist bereit Zehe, erhalten Sie das. Also werden wir uns die Veröffentlichung mit IIS oder auf einem Server ansehen, auf dem iis aktiviert ist. Dann wäre das eher für ein Intranet, das richtig sitzt. Also, wissen
Sie, Leute würden geröstet werden, die jemals den Maschinennamen verwenden, dann sind unsere eigene benutzerdefinierte Einrichtung für unseren Earl auf. Dann würden sie in der Lage sein, die Anwendung entsprechend für dieses
Szenario zuzugreifen, müssen auch berücksichtigen, dass es bereit sein muss, Server zu sein. Egal, ob die Datenbienen auf demselben Server sitzen oder auf einem Remote-Server sind, das wird eine große Rolle in unserer Fähigkeit spielen, Andi zu veröffentlichen. Verwenden Sie die oben danach. Das andere Szenario, das wir auf seine Veröffentlichung in Microsoft Azure betrachten werden. Also, wenn Sie eine virtuelle Maschine auf Microsoft als Ihre als veröffentlichen, ist
es ziemlich die gleichen Schritte wie das, was wir gerade durchgemacht haben mit dem I s und einem Server Ursache, dass Service, den ich diente als Software angesehen, es ist richtig. Aber dann, wie Sie sind, gibt uns
auch verwaltete Instanzen, die als Ihre Web-Apps bezeichnet werden. Also werden wir uns ansehen, wissen
Sie, für eine sphärische
Abmeldung, und sie kann einen für ein paar Monate kostenlos bekommen. Rechte Probleme, kostenlose Dienste und ein paar Credits darauf sollten ausreichen, um Sie loszulegen. Ich habe bereits Annacone, also kann ich es vielleicht nicht durch den Senatsprozess bringen. - Was? Es ist ein relativ einfacher Prozess auf, tatsächlich, wie wir über die Bereitstellung von Web-Anwendung toe als Ihre gehen und auch eine verwaltete
Instanz vom Datenbankserver drehen oder diese dienen, da es gelungen ist. Also ist es eigentlich eine Tat, Service von Microsoft angeboten werden, da Sie so unsere eigenen Jungs stecken. Im nächsten Video werden
wir anfangen, einen Server zu konfigurieren,
dann unsere Anwendung zu veröffentlichen, um den Server zu setzen und dann nur die Abteilungen davon zu ernten.
65. Internet-Informationsdienste (IIS) auf einem Server einrichten: Hey, Leute, willkommen zurück. Ich habe hier auf dem Bildschirm eine Maschine. Ich habe eine virtuelle Maschine und lassen Sie uns sehen, dass es die Rolle von unserem
Produktionsserver spielen wird , den wir über die Net-Kernanwendung veröffentlichen werden, auf Nein, nur so vollständige Offenlegung. Diese virtuelle Maschine befindet sich tatsächlich in Azure. Es ist in meinen Klamotten, aber wieder einmal ist es die gleiche Dynamik. Es spielt keine Rolle, wo der Server ist, ist nur eine Sache davon, ihn zu bekommen oder mit dem ausgestattet was Sie für das Hosten einer Dot Net Core-Anwendung benötigen. Das erste, was ich bekomme, ist IIs installiert. Also müssen wir diese Anwendung oder diese Web-Server-Anwendung namens II s oder
Internet-Informationsdienste haben. Wenn Sie sich also auf einem Server befinden oder sogar auf einem normalen Computer befinden, können
Sie dies auf einem Windows 10-Computer tun. Er kann gehen und sagen, du willst Zeh. Ich entferne keine Funktionen Nun, es ist tatsächlich Windows-Funktionen auf unserer ausgeschaltet rechts, und dann möchten Sie Internet-Informationsdienste aktivieren. Wenn Sie also eine Windows 10-Maschine A verwenden haben
Sie keinen Server, um dieses Experiment zumindest auszuführen. Wenn das in Ordnung ist, können
Sie voran gehen und in Ihre Fenster schauen. 10. Schlagen Sie einfach. Beginnen Sie mit der Eingabe von Windows-Features auf. Dann sollte es Ihnen die Möglichkeit geben, dies zu erreichen. Es handelt sich um ein Dialogfeld, in dem Sie Internetinformationsdienste aktivieren können. Aber ich werde dorthin gehen. Sie bemerken, dass dort Black Boxen. Also werde ich die ganze Installation durchlaufen, oder? Nein. Aber ich will, dass du den Server hast. Aber es sind die gleichen Optionen, unabhängig davon. Alles klar,
Also, wenn Sie auf dem Server sind und Sie den Server-Manager für Sie haben, dann können Sie zu Anzeigenregeln und -funktionen gehen. Dadurch wird ein Assistent angezeigt
, den er einfach weitermachen und auf Weiter klicken kann. Und ich denke nur als Nächstes durch diese, weil diese wirklich keinen Einfluss darauf haben, was schrecklich zu tun ist, oder? Also weiß ich nichts über Ihre Konfiguration, aber dort brauche ich sie nicht für Mai. Also an diesem Punkt erhalten Sie den Bildschirm, Hinzufügen entstanden und Feature-Server-Regeln, und dann werden Sie Webserver sehen. Ich fragte dies, dass dort sehen, was vorgehen kann, und nehmen Sie das und klicken Sie auf Funktionen hinzufügen und dann auf Weiter
gehen. Dann werden wir zu der gleichen Art von hören geführt werden, die Sie gesehen hätten, wenn Sie Windows 10
verwenden würden . Also von hier aus, ihre Kraftstofffunktionen, die Sie auf jeden Fall aktivieren wollen. Und wenn Sie bereits dot net installiert haben, sind nicht dieses Framework. Installieren Sie etwas, vielleicht nehmen Sie Autorität auf Sie möglicherweise nicht in der Lage Schleppen auf. Nimm sie. Aber so ziemlich, was du hier siehst, ist auf meinem Bildschirm geklebt. Bitte stellen Sie sicher, dass Sie sie auch auf Ihrem ausgewählt haben, wenn Sie hinzufügen möchten, um wissen Sie Punktnetz von wo 3.5 Funktionen können Sie auf. Ich erwähne nur, dass, weil ich meine, wenn dies das erste Mal ist, dass Sie den Server konfigurieren, als Sie benötigen, kann es für verschiedene Szenarien
konfiguriert werden , weil nicht jede Anwendung ein dominanter
Kernanwendungen sein könnte . Sie möchten also sicherstellen, dass Ihre Augen umso mehr verwendet haben, um die neuesten
sowie Legacy-Anwendungen zu handhaben ? Wenn Sie bereits haben, fragte
ich, dann schätze ich, Sie müssen nicht, um das Wasser schlammig, indem Sie jede aus dieser Sekunde tun. Gehen Sie voran und klicken
Sie auf Weiter auf, klicken Sie erneut auf, dann erhalten wir den Bohrer nicht. Dies wäre also häufiger zwischen der Windows 10 erlaubten Box oder einer anderen
Windows-Maschine . Della Box für Beleidigung I s auf den Server-Installationen. Sie möchten sicherstellen, dass Sie Webserver angekreuzt haben. Komm schon. Http. Features alle diese müssen angekreuzt werden. Sie können mehr Protokollierung hinzufügen, wenn Sie möchten, aber stellen Sie zumindest sicher, dass das, was ich angekreuzt habe, auch auf Ihrer Seite ist. Also werde ich nur langsam durchgehen, ohne zu viel ins Detail zu gehen, was
jeder ist. Vier. Und dann kommen wir zu diesem hier. Das ist seine Anwendungsentwicklung. Sie wollen die Anwendungsentwicklung übernehmen? Andi,
ich bin nur buchstäblich, dass ich hier immer nur verrückt werde und alles in Ordnung bringen muss. Aber Sie wollen auf jeden Fall sicher sein, dass Sie alle diese Funktionen hinzufügen, denn
wieder , Sie wollen, dass Ihre Augen Konfiguration so inklusive zwei verschiedene Versionen wie möglich sein. Alles klar, also nehme ich all diese außer dem statischen Web-Socket-Protokoll. Wenn DP-Server, brauche
ich das nicht für Nein gehen, um sicherzustellen, dass ich meine Management-Konsole auch
angekreuzt habe . Also werde ich nur noch einmal durchgehen, dann kannst du dich einfach treffen, überprüfen und sicherstellen, dass Und ich meine, je mehr du tickst, desto mehr Funktionen hast du. Wirklich? So wissen Sie, Sie können wählen, wählen und wieder ablehnen, wenn Sie Asare haben, der Server, den Sie nicht verwenden würde, hat Augen bereits installiert. Wahrscheinlich müssen Sie das alles dann nicht durchmachen. Dies wird angezeigt Möchten Sie angeben? Nun, musst
du dir keine Sorgen machen. Neustarts werden bei Bedarf einfach automatisch neu gestartet. Offensichtlich, wenn dies Ihre persönliche Umfrage zu diesem Hebel ist, wenn nicht, finanzieren
Sie bitte den Systemadministrator des Soldaten, um sicherzustellen, dass Sie diese Geschichte zu einer Zeit
machen niemand wirklich auf den Server zugreift. Und dann können Sie fortfahren und auf Installieren klicken, damit die Installation des Hintern eine Weile dauern kann. Oder vielleicht bist du gerade fertig. Was auch immer es ist, meins geht eigentlich noch. Also verstehen
Sie, um mit den anderen Dingen fortzufahren, die wir tun müssen, um loszulegen, beinhaltet
das immer das Hosting-Bundle. Also wir, wo dies eine vertraute Seite für uns ist, weil wir das SDK nicht kennen mussten. Anfangs, als wir unser Projekt gestartet haben. Wir waren an dem, wo ist auf 3.1. Also, wenn Sie die Updates machen, um zu wissen, dann wären Sie wahrscheinlich in Version 3.13 oder vielleicht ein sicherlich höheres, um, Inkrement davon. Wenn du diesen Teil machst, spielt
es
aber keine Rolle . Wir werden nur die neuesten Hosting-Bundles auf dieser Rede waren Anpassung, um die
Aufmerksamkeit auf die SP zu zahlen , die Koran Zeit lesen auf. Wir schauen uns die Fenster an und bekommen das Hosting-Bundle, so dass wir einfach voran gehen und klicken Sie auf Das Hosting-Bundle herunterladen , in
Ordnung und es ist nicht geladen, aber es sagt mir, dass Eis aktiviert werden muss. Wenn Sie also diese Meldung immer noch erhalten, nachdem Sie die Installation abgeschlossen haben, dann wissen Sie, dass Sie möglicherweise zurückverfolgen und sicherstellen möchten, dass es richtig ist, oder stellen Sie sicher, dass es tatsächlich abgeschlossen wurde, damit meine nicht abgeschlossen ist. Ich bekomme diesen Fehler auf. Das ist in Ordnung. Ich warte es einfach ab und setze es einmal fort. Helfen Sie auf Alles klar. Also keine Isis fertig und es könnte eine Weile gedauert haben. Das ist okay. Wir können schließen. Mein Server wurde nicht neu gestartet, also ist das auch gut und dann können wir überprüfen, dass es funktioniert, indem wir in Ihrem Browser gehen und nur in lokalen Host schreiben. Und dann sollten Sie diese Startseite sehen. Keine Notwendigkeit, das Schütteln der Management-Konsole aufzurufen. Gehen Sie einfach zu starten und vielleicht tippen Sie I s. Oder wenn Sie auf dem Server sind, können
Sie einfach den Server-Manager verwenden und gehen Sie zu Tools und gehen Sie zum Internet Information Services Manager. In Ordnung, also wenn Sie auf einem normalen PC sind, dann wollen Sie mit dem Schreiben s beginnen und es sollte in den Suchergebnissen erscheinen. Übrigens, wir sind hier. Wir haben also die Rechnernamenserver. Name ist SQL. Es hat also den SQL-Server darauf installiert, und dort wird die Datenbank für up gehostet. Aber wenn wir zu diesem Punkt kommen, werde ich Ihnen zeigen, was passiert, wenn die Datenbank nicht auf demselben Server wie die Anwendung ist . Nein, und ich bin, wir werden eine neue Website erstellen. So sehen Sie, auf dem Server haben Sie, was Sie Websites nennen, und dann haben wir auch die Standard-Website, die ist, was gestartet wurde, wenn Sie lokale ganze gerade eingegeben. Also werde ich ein neues Set erstellen. Also klicken wir mit der rechten Maustaste auf Wissenschaft, um Website hinzuzufügen und dann gebe ich ihm einen Scient-Namen und ich nenne es
nur verlassen Management. Es würde auch einen neuen Anwendungspool erstellen
, den wir danach zurückkehren und ändern werden. Ähm, aber dann können Sie weitermachen, sagen Sie das Abreise-Management. Wir werden einen physischen Weg wählen. Also der Standardpfad für jede, um I s Website ist in der Regel im Laufwerk c, dann bin ich Nachtclub www Wurzeln auf Dwell. Alles in www Routen würde jetzt Standard Websites sein. Ich werde nur in w w Route einen neuen Ordner setzen, und ich werde es nur verlassen Management nennen. Richtig. Also gehen wir weiter und erstellen diesen neuen Ordner, klicken Sie auf OK, so dass alles, was in diesen Ordner geht, immer noch auf unserer neuen Website übertragen wird. Ich verlasse das Management. Ich werde die Bindung als http auf dann das Gesetz verlassen. Der Name des Pferdes bedeutet Loch wird. Welche Adresse werde ich verwendet, um auf diese Seite zu gelangen? Ich werde es einfach machen. So ist die Sache wieder in einer Produktionsumgebung, Sie haben möglicherweise einen Systemadministrator, der einige Anweisungen, welche Standards mit diesen Adressen
erhalten und die Einrichtung dieser s Adressen und so weiter, aber richtig. Nein, ich setze die hier ein. Dies ist mein Server, der Ihnen manchmal die Schritte in beiden Richtungen zeigt. Also nenne ich diese verlassen Management, dass Internet dot com, weil wirklich und wirklich, wir bauen diese Anwendung, so dass unsere Kollegen können jede, die ich verwenden kann, um es zu genehmigen. Lassen Sie auf unsere Corporates können es verwenden, anwenden 40. Also ist es etwas, dass das ganze Unternehmen, das ganze Büro wird Zugriff auf dso wir tun verlassen Management, nicht Internet dot com auf Wir können einfach sagen starten verärgert sofort klicken OK auf, Dann bekommen wir unsere Website. Also, wenn ich Bro dabei bin, dann wird es versuchen, zu Internet Dot com zu gehen. Also der Punkt. Was wir also wissen müssen, ist das Feuer der Hosts zu modifizieren, denn noch einmal ist
dies etwas, das auf dem Server ist. Wir wollen nicht, dass es rüber geht. Das Internet versucht, über das Internet zu gehen, aber das ist es, was es versucht zu tun. Also gehe ich in meinen Computer
und ging zum Bruder. Immer noch der Ordner in meinem C Drive Windows-System. 32 Fahrer auf dann e.
T. T. C. Ich denke, dass kurz für etcetera. Und sie suchten nach dieser Datei namens Hosts. Diese Hosts-Datei ermöglicht es uns, die Server-Zuordnung zu verwalten, also sehe ich mehrere Wrappings. Wenn Sie es lokal tun, ist
es das gleiche, so dass wir diesen amüsanten Notizblock plus öffnen können, und es ist am besten öffnen Sie es im Administrator mehr, weil Sie wissen, diese Datei ist sehr heikel, aber was wir sind tun, ist eine lokale Pferdezuordnung einrichten. Sie sehen also das Wort „Low Pärchen“. Also, wenn Sie nicht so vertraut mit Servern, lokalen Host ist der Name, der ergibt, dass diese I p, die 1 bis 7.0 Punkt 0.1 ist. Richtig, Also jedes Mal, wenn Sie dies sehen, ich p, es ist ein Synonym für lokale Hosts und lokalen Host oder dies ich p wirklich meine die Maschine,
auf der Sie sind . Ordnung, also denken Sie daran, dass, als Sie unsere Anwendung in B ausgeführt haben, aber mehr Pflicht lokale Pferd Anruf auf eine Port-Nummer. Es ist dasselbe, was du in der Maschine siehst. Ihr auf Abruf auf eine Port-Nummer. Richtig? Unser Standardport ist also Port 80. Wir hätten das für unsere neue Website ändern können. Was? Ich habe es auf Port 80 gelassen. Das ist die Standardeinstellung. Http Broadcasting-Port eso. Was ich tun werde, ist ein anderes lokales Pferde-Mapping einrichten, um zu sagen, dass lokales Pferd oder dieser lokale Host I p Adresse kann sich auch mit unserer neuen Website verbinden, die verlassen ist. Verwalten bedeutete, dass Internet dot com. In Ordnung,
Also, wenn ich auf der Maschine bin und ich Ambrose, dass dies, dann wird es zu lokalen Host zu lösen und suchen Sie nach der entsprechenden Website. Richtig? Also verstehe ich Zehe speichern, dass
Sie noch einmal im Admin-Modus auf sein müssen. Dann werde ich nur diese kopieren und dann versuchen, es wieder und nirgends zu rühmen, einen
schmalen , aber diesmal viel tröstlicheren Fehler haben. Also nein, es sagt mir, dass es mir eine I s Ära gibt,
was bedeutet, dass es tatsächlich versucht, die Website zu besuchen, die wir gerade eingerichtet haben. Also gehe ich zu diesem Website-Ordner zu gehen, die sich erinnern, wird bei Sea Islet Pop www Route angerufen und dann verlassen Management auf. Dann werde ich nur hierher kommen und ich werde ein neues Fasten erstellen, damit Sie mit einigen der Dinge, die Sie hier tun können,
eingeschränkt werden können. Wieder einmal, wenn Sie Administrator sind, werden
Sie in der Lage sein, alles zu tun, was ich hier mache, wo nahtlos sonst, können
Sie die Datei und vielleicht meine Dokumente erstellen und dann über kopiert. Aber ich werde nur Indexpunkt-HTML-Datei hier auf es ist immer noch ein Textdokument. Sie müssen sicherstellen, dass die Erweiterung dot html sieht. Also geh ich nur eine Akte. Sie beide schließlich, ähm, erweitern ihre Rücksicht auf den Start der txt, weil ich definitiv eine HTML-Datei
auf den meisten Servern sein wollte . Die meisten, wenn nicht alle Server suchen nach Index. Das ist das erste Stück, das sie danach suchen. Also verstehen Sie, um dies in der Erfahrung zu ändern und ich werde nur Hallo sagen, ich bin in Ordnung, nur um zu beweisen, dass es tatsächlich funktioniert. Wenn ich also aktualisiere, wird dies nach der Indexdatei suchen und dann wird es mir zeigen Hallo, ich s Also wir haben gerade eingerichtet oder für einen Slip Server, falls Sie wissen, das ist Ihr erstes Mal. Ich hoffe, Sie genießen diese Übung. Jetzt. Noch eine Sache, die ich tun werde, oder werden wir zwei weitere Dinge haben, um wichtigere Dinge zu tun. Wir werden unseren Anwendungspool ändern. Also gehe ich zurück zum Manager. Ich möchte zu den Anwendungspools gehen und dann sehen wir den
Urlaubs-Management-Anwendungspool , den wir gerade eingerichtet haben. Klicken Sie darauf Gehe zu erweiterten Einstellungen. Welche Grundeinstellungen? Entschuldigung. Grundlegende Einstellungen auf. Dann werde ich dies von .net CLR ändern, um Kalt verwalten zu wissen. Alles klar, und dann klicke ich. Okay, dann. Wenn Sie möchten, können
Sie zurücksetzen. Ich denke, es wäre angehalten und losgegangen. Aber Sie werden Ihr Zuhause in den Anwendungen zeigen, die auf alles ausgeführt werden, was Sie wissen müssen. Wenn Sie aus und wieder in klicken, dann sollten Sie eine sehen. Es bedeutet, dass wir eine Website oder eine Webanwendung in diesem Pool laufen. So Pools sind wie Container, die darauf hinweisen, Ihre Websites zu
trennen und ist das Meer Sie können dotnet zu Anwendungen von nicht erfüllt trennen. 4.5 Anwendungen von Ihnen wissen, die Standardeinstellung nach oben, die mit der Standard-Website auf kommt. Dann stellen wir eine neue Website vor. Also kriegen wir das hier. Aber dieser muss kein Verwaltungsgericht sein, weil er unsere Dot Net
Core-Anwendung hosten wird . Das ist also das erste von den beiden Dingen, bei denen wir es übrig haben. Das nächste, was wir noch tun müssen, ist, unsere Installation für die Laufzeit abzuschließen. Also verstehen Sie, um zu meinem Ordner zurückzukehren, meine Laufzeit zu
erhalten, dann sehen wir eine andere Meldung, in der es heißt, bitte starten Sie nach
Abschluss der Installation neu. Alles klar, das ist in Ordnung. So können wir einfach den Bedingungen zustimmen und weitermachen und installieren. Ordnung, also würde diese Installation nicht viel länger denken, oder es war eine viel kürzere Isolierung als die I s eins. Aber sobald das erledigt ist, können
wir einfach weitermachen und unsere Seite aktualisieren, nur um sicherzustellen, dass wir immer noch die Datei anschlagen . Wir haben keine Fehler. Im nächsten Video schauen
wir uns die eigentliche Veröffentlichung unseres schnellen Visual Studio an und verschieben sie auf den Server
66. Anwendung in IIS und SQL Server veröffentlichen: Ihr Jungs willkommen zurück. So haben wir einfach über I als Server auf unserer Server-Anwendung auf unserer tatsächlichen Maschine eingerichtet, wo unsere Anwendung auf DNO gehostet wird. Wir werden die Dateien aus Visual Studio auf dem Server veröffentlichen. Dieses Video wird mich also zwischen Visual Studio auf der
eigentlichen Maschine hin und her drehen lassen , da es einige Konfigurationen gibt, die passieren müssen. Wir müssen die Datenbank bereitstellen, die benötigt wird, um unsere Anwendung auf zu unterstützen. Wir haben ein paar Kleinigkeiten, die wir tun müssen. Also werde ich sein, ich werde mein Bestes tun, um klar zu sein, was ich tue und warum ich es tue, damit Sie eine volle Wertschätzung als Zehe haben, was es braucht, um eine Anwendung zum Laufen zu bringen. Weißt du was? Ich habe Hoffnung hier im Visual Studio. Ich muss es. Dies ist, indem Sie mit der rechten Maustaste auf das Projekt klicken, das ich veröffentlichen werde. Und dann haben wir diese Speisekarte aufgebracht. Also auf der Veröffentlichung, möchten
wir ein neues Profil auf erstellen. Dann sehen wir, dass wir ein paar Optionen des Up-Service auf als Ihr wo die als Ihre virtuelle Maschine und, wie ich sagte, eine virtuelle Maschine auf uns haben. Ihr ist so ziemlich dasselbe wie eine virtuelle Maschine vor Ort. Ich meine, eine virtuelle Maschine ist eine virtuelle Maschine. Es ist also das gleiche Prinzip, oder? So können Sie auch einrichten. Ich fragte direkt oder FDP. Ich mag es, die Ordnerversion auf dieser vollen Version oder die volle Tür zu machen. Ähm, Methode, sozusagen ist gut für die Augen auf die Version der virtuellen Maschine, richtig? Denn am Ende des Tages hat
es mit dem Verschieben der physischen veröffentlichten Dateien von Ihrem Computer an den
Serverstandort zu tun . Richtig. Also mache ich gerne die vollere Version beim lokalen Veröffentlichen, weil Sie möglicherweise Berechtigungsprobleme haben, wenn Sie versuchen, auf 1/3-Party-Rechner zu gehen. Ihr Benutzer im Vergleich zu dem Benutzer, den Sie für den ausführen, hat möglicherweise nicht die Berechtigung. Er führt möglicherweise nicht den Administrator von Visual Studio und solche Sachen aus, und Sie erhalten generische Bereiche, die Sie frustrieren können. Also rate ich nur, dass Sie veröffentlicht Sie können diesen Standard einfach für ihre auf verlassen. Dann können wir Fuß fortgeschritten, und dann auf dem Vormarsch, können
wir einfach einen Blick auf einige der erweiterten Einstellungen werfen und eine Wertschätzung für das, was diese sehen. So haben Sie die Konfiguration Stargate Framework veröffentlicht. Sie müssen diese Bereitstellung nicht mehr ändern. Sie müssen weder dieses Ziel noch rechtzeitig ändern. müssen wir nicht so ziemlich ändern. Sie müssen hier nichts ändern, es sei denn, Sie haben andere Ideen. Natürlich gehen wir nach unten auf das Feuer veröffentlichten Optionen, es sagt Entfernen Sie zusätzliche Brände dieses Ziel. Nun, wenn Sie die lokale Adresse veröffentlichen,
dann wissen Sie, dass Sie das fast sicher nehmen können. Wenn Sie den 1/3-Parteistandort veröffentlichen, rate
ich Ihnen, dass Sie sehr vorsichtig sein, dies zu nehmen, weil dies bedeutet, dass es alle
Dateien am Speicherort löscht , bevor es die neuen Dateien auf. Dann, wenn Sie voll von Weg ist, aber und ich habe in Schwierigkeiten mit diesem in der Vergangenheit bekommen. Aber wenn Sie voll von Vergangenheit ist schlecht, dann kann das zu Toe führen, wissen
Sie, schädliche Auswirkungen auf andere Anwendungen, die am gleichen Ort sein könnten, oder? Sie möchten also nur sicherstellen, dass Ihr Ordnerpfad sicher ist, wenn Sie das irgendwo zum
Ticket mitnehmen können . Ich habe bereits den Haftungsausschluss für die Datenbanken gegeben. Nein, wir wollen unsere Verbindungszeichenfolgen ändern. Ich werde diese Verbindungszeichenfolge zur Laufzeit verwenden und dann werde ich hier einige Änderungen vornehmen. Also zuerst des Servers ist keine lokale Datenbank mehr, weil, OK, DB ziemlich lokal ist. Ziehen Sie Ihre Maschine oder was auch immer Entwicklungsmaschine Sie verwenden. Wie Sie sehen konnten, könnten
wir einfach durch Visual Studio in ah, Produktion sitzen. Ihre Datenbank befindet sich möglicherweise auf demselben Server wie die Webanwendung oder auf einem anderen Server, um, Server,
um,
irgendwo anders im Netzwerk. Sie wollen also die Servernamen eingeben? Ein netter, schneller Weg, um zu wissen, dass der Servername toe sein würde, könnte db a oder Ihr S a T B.
Afragen A Datenbankadministrator
zu sein, ist ein Systemadministrator. Oder, ähm, wenn Sie den Zugriff haben, können
Sie einfach zum Server gehen. Also in meiner Situation wird
mein Server sein oder mein Datenbankserver wird auf dem gleichen Server wie mein Webserver oder in
Ordnung , also haben Sie den Webserver und den Datenbankserver. Manchmal ist man Maschine. Ein Eins ist Maschine Be. Manchmal sind sie beide Maschine. In meinem Szenario sind
sie beide Maschine A. Also bin ich gerade ging in das Management-Studio,
brachte den SQL-Monitor und den Studentenbereich auf,
brachte die Verbindung auf, um brachte den SQL-Monitor und den Studentenbereich auf, dann hier zu suchen, ich sehe Servername, und das ist der Name, den ich einfügen muss. Das ist also der Name von der Maschine mit einem umgekehrten Schrägstrich. Dann der Name aus der Instanz. Dies kann also sehr, weil Sie möglicherweise nicht mit SQL Erfahrung vielleicht
Entwickler oder Unternehmen verwenden , und so wäre der lokale Host wahrscheinlich gut genug für Sie oder diesen lokalen Host I p Adresse, die wir angesehen haben. Wenn wir sitzen,
ich bin, in einer anderen
Situation, in einer anderen
Situation, haben
Sie vielleicht einen Namen Räucherstäbchen. Der Punkt ist, wenn Sie wissen, wenn Sie bereits wissen, wo Sie Bowl können Sie so finden. Wenn dies nicht der Fall ist, sollten Sie sich von Ihren Administratoren um Hilfe bemühen. Ordnung,
jemand, der diesen Servernamen kopiert, weil das der Server ist, auf dem ich
das Datentier bereitstellen werde . Also denken Sie daran,
das war ein erstes Gericht Szenario, das das Gericht die Daten für die Datenbank informiert. Also denken Sie daran, Also dort würde meine Datenbank eingerichtet werden. Also werde ich nur diesen Servernamen kopieren, dann zurück zu Visual Studio und dann innerhalb der Teile zwischen dem Gleichheitszeichen nach
dem Wortserver und dem Semikolon, ich werde SQL Backslash SQL Express setzen. Das ist also mein Server. In Ordnung, So Server gleich SQL Express auf dann die Datenbank irgendwo, um ein Wort Datenbank
anfänglich zu ändern , wie i n i t I a l Raum Katalog sehen 80 a elegy. Also gebe ich alles aus, um sicherzustellen, dass wir die richtige Rechtschreibung bekommen. Dann müssen wir nichts anderes ändern. Nein. Auf wichtige Sache zu beachten ist, dass einige Personen, meine begleichen dedizierte und sehr spezifische Datenbank-bezogene Benutzer, richtig,
Also, das ist ein Punkt der Sicherheit. In diesem Szenario führt
der Windows-Benutzer die Anwendung aus und muss
daher auch Schreibvorgänge in der Datenbank ausführen. In einer anderen Einstellung, was die Leute tun, ist, dass sie Datenbankbenutzer speziell für die Anwendung auf erstellen Dann müsste der Entwickler sie in die Verbindungszeichenfolgen aufnehmen, um zu sehen, dass, wenn Sie diese Anwendung in habe ich auch eine Datenbank
angeschlossen, auf der sich Ihr Server befindet. Dann müssten Sie den Benutzerraum hinzufügen, den ich d gleich ist, was auch immer der Benutzername ist, und wir schreiben
einfach mit dem Namen als Platzhalter auf, dann Semikolon, und dann Passwort gleich was auch immer das Passwort sein würde. Ein Vorfall. Doppelpunkt, richtig? Das ist also, was in der Nähe der Verbindungszeichenfolge sein müsste, um einem SQL-Benutzer, der für Ihre Anwendung erstellt
wurde, zusätzliche Vorteile zu erleichtern . Das wäre,
gut, gut, es ist ein SQL-Benutzer, so dass die Person hat keinen Domänenzugriff auf irgendetwas im Netzwerk sind nicht Benutzer. Syrien hat keinen Domänenzugriff irgendetwas auf dem Netzwerk Onda. Außerdem hätte
es nur Zugriff auf die Datenbank, dass jemand diese Anmeldeinformationen bekam. Sie konnten nicht viel mehr Schaden anrichten als wahrscheinlich gegen die eine Anwendung. Also, weißt
du, das ist nur unter dem Sicherheitsleckerbissen. Aber in meinem Szenario verwende
ich nur meinen Systembenutzer, um meine Anwendung auszuführen sowie
Datenbankoperationen durchzuführen. Also noch einmal, Sie möchten diese Standardverbindung ändern und sagen, verwenden Sie diese Verbindung zur Laufzeit. Also, obwohl, wo die lokale Datenbank für die lokale Entwicklung. Wenn wir veröffentlichen, sollte
dies unsere Verbindungszeichenfolge aussehen. Ich werde auch den Abschnitt Entity Framework Migration auf Dennis Anwenden dieser
Migration erweitern , die auf veröffentlicht wurde. Ich werde nur weitergehen und alle von diesem Steuerelement innerhalb
der Bedingung String-Steuerelement kopieren , siehe Häkchen anwenden Migration veröffentlicht über Frieden. Alles klar, was passieren würde, ist, dass die, wenn Sie es veröffentlichen, die gesamte Datenbank in der
Verbindungszeichenfolge sucht und dann versuchen, sie zu aktualisieren sind Rollouts Updates. Er wird auch die Skripte für Sie generieren, so dass wir tatsächlich ein wenig manuelle Arbeit haben wo wir die Migrationsskripte generieren werden, die generiert wurden. So kennen Sie die Geschichte von allem, was wir während der gesamten Dauer
dieses Projekts gemacht haben . Dann werden wir das auf veröffentlichen. Dann werden wir sehen, was passiert. So genug über alle aus, dass, nachdem wir alle Einstellungen eingerichtet
haben, können wir klicken,
speichern auf, speichern auf, dann erstellen Sie das Profil oder einmal des erstellten Profils. Wann immer wir bereit sind zu veröffentlichen, gehen
wir einfach weiter und klicken. Veröffentlichen. Alles klar, und wenn das fertig ist, geben
sie uns eine direkte Verbindung zum Plastik darin. Halten Sie die Kontrolle und klicken Sie darauf und es wird den Explorer starten. Folgen Sie mit allen vier veröffentlichten Dateien. Nein, das ist immer noch auf Ihrer Maschine. Also wollen wir tun, ist Zehe oder Ziel transportiert. Der schnellste und einfachste Weg, um sicherzustellen, dass wir alle für mich bekommen, wäre, einfach auszuwählen. Alles klar, klicken Sie auf das Archiv. Nein, ich habe Winter auf meiner lokalen Maschine, aber das Ziel könnte nicht mit Felsen haben, auf denen ein Generikum ist. Diese Reißverschlussverlängerung ist an. Gehen Sie weiter auf archivieren alle Dateien auf Sobald dieser Prozess abgeschlossen ist, kann
ich voran gehen und greifen Sie das Archiv. Kopieren. Dann gehen Sie zu meinem Server. Frieden. Nein, ich bin schon in der Wurzel voller vier. Meine Websites Rechte, die Indexdatei aufzurufen. Ich bin schon da. Möglicherweise haben Sie keine Berechtigung, direkt hier einzufügen. Richtig. Also lassen Sie mich sehen, ob ich das tue. Andi, wenn ich das tue, dann finde ich. Aber wenn Sie es nicht tun, dann würde ich raten, eine wahrscheinlich gehen zu Licht Dokumente und dann fügen Sie die Datei dort auf. Dann verschieben Sie die Datei von Dokumenten in den Stamm dafür, weil wieder Berechtigungen und so weiter. Wenn Sie nicht der Systemadministrator sind, habe ich keine Kontrolle über diese Dinge. Ich gebe Ihnen nur den Arbeiter, damit Sie nicht jedes Mal zum
Systemadministrator gehen müssen , wenn Sie eine Straßensperre treffen. Alles klar,
so, sobald Sie erfolgreich verschoben die ZIP-Datei auf Ihre Route fallen oder verlassen Management-Ordner der Website Ordner auf, wie Sie können. Kein Rechtsklick auf extrahieren Sie einfach alles hier auf. Ich gehe einfach voran und extrahiere. Das sollte nicht lange dauern, Onda. Nun, es ging in einen Unterordner, Senator. Glätten Sie sie. Ich will sie nicht in der Unterstützung. Ich möchte sie im Hauptordner. Ich will, dass die Sache von diesem Sport weg ist. Da gehen wir. Setzen Sie uns wollen Control A Control Ex zurück veröffentlichen. Control V mit Tastaturkürzeln hat eine Menge runter, also nein, wir haben unsere Dateien hier drüben und er kann sich etwas Zeit nehmen und einfach durchschauen. Sie sehen alle Angebote, alle Referenzdateien, die auf dem Weg hinzugefügt hätten, haben wir eine Web-Konfliktdatei auf dieser Web-Konfliktdatei ermöglicht es uns, laut zu konfigurieren, also gehe ich nur zu einer Web-Konfigurationsbearbeitung mit mehr Teil plus plus auf. Dann ist das etwas, was ich mag, weil manchmal bekommen Sie Fehler auf sie nicht die
ganze Geschichte erzählen . Logs sagen Ihnen genau, was passiert ist, oder? Also, wenn wir das tun, so werden wir das einfach in wahr ändern und alles in Ordnung speichern? Eso Es gibt ein paar Dinge, die wir tun müssen. Eines muss ich sicherstellen, dass ich die Datenbank habe. Also lassen Sie mich zurück zu dem Ordner auf dann können wir innerhalb dieses Ordners suchen E f fragen Sie Ihre Skripte und wenn ich dies im Notepad plus plus nur schnell sehen Sie, dass es auf SQL hat,
hat es die SQL-Skripte, um unsere Tabellen zu generieren. Richtig? Und wenn Sie genau hinsehen, sehen
Sie, dass Sie die Migrationsideen haben. Jede Migrationsdatei, die in Visual Studio generiert wurde, manifestiert sich also in Bezug auf SQL-Anweisung, um zu sagen, dass dies Änderungen sind, die bis zum letzten passieren sollten. Also schaue ich hier an Tag, an dem ich versehentlich erstellt hätte, sind die Vert enthalten . Die Ansichtsmodelle in meinen Datensätzen DB-Sets, richtig? Also, nein, ich habe einige VM-Tabellen, also weiß ich nicht, ob Sie es erkannt haben. Ich habe Feedback-Fähigkeit. Wahrscheinlich wurde es auf erkannt, es
wurde bereits behoben. Habe ich nicht. Das wäre also ein gutes X-Experiment. Nein. Damit ich zurückgehe, repariere sie vor Gericht,
aktualisiere die Datenbank, aktualisiere die Datenbank, bekomme die neueste Migrationsdatei und veröffentliche sie erneut. Aber mal sehen, wo all das hinnehmen wird, damit ich diese ganze Akte tatsächlich nehmen kann. In Ordnung, dann kann ich zu meinem Datenbankserver gehen, richtig? Also noch einmal, war Toby ein Server? Was? Es ist auf der gleichen Maschine sind auf einer anderen Maschine. Sie möchten sich nur einloggen. Dann werde ich eine neue Datenbank erstellen, um sie auf der Punkteverwaltung verlassen zu nennen ,
weil das die Datenbank ist, nach der unsere Anwendung die Verbindungszeichenfolge sucht, richtig? Unterstriche Verwaltung oder Schlüssel lassen. Das funktioniert also noch einmal, Ihre DB könnte es tun. Du hättest vielleicht keinen Zugang wie diesen, aber weißt
du, du müsstest wahrscheinlich ihn oder sie was anweisen? Was sie tun müssen. Also gebe ich dir nur die klaren Anweisungen. Nachdem Sie das getan haben, möchten
Sie eine neue Abfrage mit der Urlaubsverwaltung als Kontext aus der Abfrage starten Sie haben die F-Strips
basierend, oder? Und dann können Sie fortfahren und auf Ausführen klicken. Nun, sobald das erledigt ist und es erfolgreich ist, wenn Sie einfach bleiben, schaue
ich innen von den Tischen, sehen
Sie den ganzen Tisch. Hier sind also einige der VM-Tabellen, die ich versehentlich in diese ganze Sache aufgenommen habe, aber Sie schauen es an und es hat die gleiche Struktur wie die, die Sie in der lokalen
DB gesehen hätten . Ähm, richten Sie ein. Richtig. Als Nächstes müssen
wir unsere Arbeit aufbauen. Ordnung, also in meinem Bruder, werde
ich voran gehen und Bro die Adresse schicken. Lassen Sie Management, dass Internet dot com und wir sehen, hier bekommen wir dieses http-Paar von 500 richtig? So könnte eine Reihe von Dingen falsch sein, die jemals aus der Ära kommen. Nun, das erste, was ich tun möchte, ist mir die Protokolle anzusehen. Nein, wie Sie dort sehen, keine Menge. Also lass mich einfach, ich werfe nur alles verletzt. Also zurück in der Web-Konfiguration, wo wir das Protokoll aktiviert haben, zeigte
es uns, dass die alte Datei ein langer Schrägstrich STD Haute gewesen wäre. Wenn wir in diesen Ordner schauen, sehen
wir hier keinen Logfeuer. Nein, Das erste, was zu mir kommen wird, ist, dass es ein Berechtigungsproblem gibt, denn wenn es ein Berechtigungsproblem gibt, wo oder wenn es eine Situation gibt, in der es eine Menge Datei schreiben sollte und es nicht geschrieben hat ,
dann besteht die Wahrscheinlichkeit, dass alle Benutzer, die ausführen, nicht über die Berechtigung verfügten, diesen
Ordner zu ändern . Alles klar, Seele. Ich werde mich mit dem IIS beschäftigen. Ich werde in meinen Anwendungspools auf suchen. Dann werde ich beobachten, dass die Identität und ich denke, dass ich erwähnt habe, bevor die
Anwendungspool-Identität ist . Nein, Ihr Systemadministrator muss möglicherweise die Berechtigungen dieses Benutzers ändern. Ich bin hier auf meinem eigenen System verantwortlich verwalte diese Situation, also gehe ich weiter auf Erweiterte Einstellungen gehen auf. Dann kann ich die Identität auswählen. Also, indem ich auf Identität und dann auf die Ellipsen daneben klicke, kann
ich gehen, um unsere Kegel zu bauen. Und dann, als ich abgehauen bin. Das sehe ich. Ich habe noch ein paar andere Konten, oder? Einige wahrscheinlich leistungsfähigere Konten. Nein, das ist eine sehr heikle Situation, wenn es um die Sicherheit geht. Stellen Sie also sicher, dass Sie von Ihrem Sicherheitsadministrator darauf waren. Aber
das ist meine Maschine. Ich kann tun, was ich will. In Ordnung. Also werde ich sagen, es soll als lokales System laufen. Also mache ich das und klicke
dann auf OK . lokale System no ist also ein leistungsfähigerer Benutzer als der Standard-Identitätsbenutzer. In Ordnung, und dann kann ich einfach recyceln, nur um sicherzugehen, dann, wenn ich wieder auf die Aktualisierung gehe, dann bekomme
ich immer noch den 500-Fehler. Aber ratet mal was? Zumindest sehe ich den Protokollordner. Ordnung. So ungehört weiter. Noch einen zu gehen. Deshalb sehen Sie, es ist ein völlig anderer Fehler. Aber ich bekomme immer noch dasselbe. Http. 500 Ära, Und das ist buchstäblich all die Hilfe, die Microsoft Ihnen gibt. Und sie sagen Ihnen, überprüfen Sie
einfach die Louds, weil es die Geschichte erzählen sollte. Aber
das erste Mal gab es keine Sperre zu überprüfen, oder? Also bringe ich es nur durch einige Szenarien, um einfacher p zu helfen und wenn Sie
Probleme beheben müssen . Also werde ich nur in diese Protokolldatei schauen und sehen, was darauf passiert, ist zu sehen, dass es einen Pfeil
gab, der versucht, eine Verbindung mit der Datenbank auf dem Server herzustellen, richtig? So sehen wir, dass es versucht, sich mit dem Kork-Server zu verbinden versucht, sich mit der richtigen
Datenbank dafür zu verbinden . Es sagt mir, dass es keine Datenbank öffnen kann, die vom Anmelden direkt im Logging-Feld angefordert wird . Das sagt mir also, dass, wenn ich in diesem Arbeitsgruppenschrägstrich SQL sehe, das der Benutzer versucht, die Anmeldung zu verwenden. Sie haben also eine kleine Systemadministrator-Schulung? Nein, wir werden uns einige Datenbank-Administrator-Schulungen ansehen. Also zurück zum Datenbeast,
Was passieren müsste, ist, dass jeder Benutzer die Anwendung ausführt, was
bedeutet, dass der Benutzer, den wir gerade festgelegt, den Anwendungspool regeln. Was auch immer Identitäten gibt
, diese Identität muss auch Zugriff auf die Datenbank haben. Also habe ich früher erwähnt, dass Sie manchmal einen Datenbankbenutzer einrichten, damit Sie
sich keine Sorgen machen müssen , welche Identitäten, die Sie ausführen, nur den Datenbankbenutzer in der
Verbindungszeichenfolge dieses Datenbankbenutzers verwenden , sollte Zugriff haben, um alles zu tun, und du bist gut zu gehen. jedoch In meinem Szenario verwende
ichjedochkeinen Datenbankbenutzer, der lokale Systeme verwendet, muss sicherstellen, dass das lokale System Zugriff auf die Datenbank
hat. Also dann würde dies diese Schritte oh neato passieren, unabhängig von den Techniken. Also meine ich, einen Benutzer zu
erstellen ist einfach genug. Ich kann einfach auf Sicherheit so auf dem Server gehen, aber die Sicherheit klicken Sie auf neue Anmeldung. Wenn Sie eine Datenbank mit können einfach sagen,
Sie wissen schon, admin oder lassen Sie Geld verlassen Verwaltung verwenden oder was auch immer es ist, geben Sie die sq-Benutzerauthentifizierung, um das Passwort zu geben. Sie möchten wahrscheinlich nicht die Experience Shin alle Rechte erzwingen, weil Sie nicht möchten, dass
das Posting für diesen Benutzer abläuft. Sie können eine Richtlinie erzwingen, um sicherzustellen, dass Sie ein sicheres Kennwort erhalten. Richtig. Aber die gemeinsamen Teile, nachdem Sie all dies getan haben, ist der gemeinsame Teil, den Sie wissen, was auch immer Benutzer es hat, dass Sie gehen müssen. Der Datenbank-Drill geht also nicht zur Sicherheit. Du hast recht. Klicken Sie auf „Über“. Entschuldigung, dass Sie auf die Benutzer gehen gebohrt haben, dann klicken Sie mit der rechten Maustaste auf Neuer Benutzer und dann können Sie einen Benutzer mit sq a log in oder Windows User sehen . Alles klar, dann. Das ist also eine Möglichkeit, es zu tun. Eine andere Möglichkeit, es zu tun wäre, nur die Benutzer zu finden, in diesem Fall, Anti-Autorität Backslaps System. Das ist der Benutzer, den ich ausgewählt habe, als ich sagte, lokales System. Alles klar, also werde ich mit der rechten Maustaste auf meinen Benutzer klicken, damit Sie einfach nur die richtigen Klicks haben können, die ich
meinen würde , dass Sie gerade erstellt haben, richtig, Rechtsklick, gehen Sie zu Eigenschaften und dann gehen wir zu gehen, uh,
User-Mapping auf. Dann werden wir die Datenbank A C hier auswählen. Anti System hat keinen Zugriff auf alle außerhalb der Datenbanken, oder? Andi? Es ist sehr wahrscheinlich, dass jeder Benutzer, den Sie standardmäßig verwenden, auch keinen Zugriff auf diese Datenbanken hat. Jemand Zehe Stick die verlassen Management-Datenbank und Sie sehen, dass der Benutzer sagt,
ist, was immer es ist auf. Dann werde ich als DB-Besitzer sitzen, weil
Sie als Besitzer in der Lage sein werden, alles zu lesen, zu
schreiben. Aber offensichtlich ist es sehr schlecht, voll wahrscheinlich kann ein bisschen mehr körnig, aber in der Regel Billy Besitzer ist mächtig genug, um nicht um etwas anderes kümmern zu müssen. Dann klicken Sie auf. Ok? Und sobald er Besitzer ist, sollte
er in der Lage sein, sich zu verbinden. Also gehen wir wieder ein bisschen Winter. Aktualisieren
Sie dann auf . Los geht's. Wir starten jetzt unsere Anwendung, und es sieht gut aus. - Natürlich. Sie können ein wenig reparieren,
aber, hey, hey, also kann ich voran gehen und versuchen, mich anzumelden. Also denken Sie daran, dass wir sehen, dass der Admin-Benutzer von Anfang an. Das heißt, sobald die Anwendung gestartet wird, haben
wir eine leere Datenbank. Es ist es hat nichts von oder Entwicklung Eskapade. So indirekt können Goto s Erdnuss-Benutzer. Wir sollten über Standard-Admin-Benutzer dort sehen. Alles klar, sieht gut aus. So kann ich voran gehen und sagen admin auf lokalen Host der Ruhe und unser Standard-Passwort wie es war auf unten. Wir sind in unseren Anwendungen. Also von hier, kann
ich gehen, um Typen zu lassen. Ich werde nur weitermachen und einen neuen Blatttyp erstellen, also nein, es ist zuerst auf dem System. Wir haben ein bisschen Thr und sagen,
hey, hey, hr oder weißt du, wer auch immer bitte voran geht und das System abstellt. Alles klar, damit sie reingehen und anfangen können, zu kreieren. Also werden sie sagen, Krankheitsurlaub bekommt 10 Tage für ein Jahr. Dann schaffen wir weiter. Da gehen wir. Wenn wir das bearbeiten, werde
ich nur mit einer schnellen Krähe tun, nur um sicherzustellen, dass wir sehen, dass es funktioniert . Duh. Wenn ich nicht zufrieden bin, kann
ich immer löschen auf Wir sind zurück Zehe Nichts. Richtig? Also hier haben wir gerade unsere Anwendung im Internet direkt bereitgestellt. Nein, zurück in Visual Studio
habe ich gesagt, dass ich einige Änderungen an der Datenbank vornehmen wollte. Ich werde nur sicherstellen, dass ich die illegalen DB-Sets nicht habe. In Ordnung, also sind sie nicht da. Richtig? Was also passiert ist, war, dass, ähm ich hätte DB-Sets den Typ V m rechts lassen lassen dann. Das hat die Tabelle generiert. Lassen Sie Typen VM glauben oder Blatt, dass gm ist, was immer es war. Das bin ich nicht, ich will die nicht. Richtig. Das ist es also. Ich werde eine neue mein zustimmen Shun laufen. Ordnung. Einige sagen, entfernte VM-Tabellen, Ordnung? Und das ist erledigt. Und ich habe gerade meine Datenbankansicht aufgerufen, nur um zu zeigen, dass, wissen
Sie, der VM-Zar. Es gibt, die die Mitarbeiter VM auf dem Blatttyp über Aber ich werde eine
Update-Datenbank machen . Am Ende dieser Update-Datenbank hätte
ich meine lokalen Datenbanken aktualisiert. Und wenn wir uns die „My Grayson“
-Skripte ansehen , sehen
Sie,dass wir einige der Tische fallen lassen und wahrscheinlich einige Gefühle. , sehen
Sie, Aber das ist, was Opiate tun soll auf. Ich kann es einfach bestätigen. Ich kann einfach aktualisieren, zurückgehen und schauen und sehen ihre keine VM-Tabellen. Alles klar, so sieht gut aus. Jetzt werde ich wieder veröffentlichen. Also, weißt
du, wir meinen, was sich geändert hat, du weißt schon, du gibst es dem HR. sagten, Siesagten,
Sie müssen das anpassen. Es ist nur, dass wir nur weiter auf Rechtsklick oder Projekt wieder
gehen, Gehen Sie zu veröffentlichen auf. Wir haben bereits unser Profil. Also noch einmal, dieser Ordner veröffentlicht Technik. Ich meine, im Laufe der Zeit könnte es langweilig werden, und sie haben mehr automatisiert damit, das zu tun. Aber noch einmal, das ist die sicherste Version für mich. Sogar meine Erfahrung, in der ich versehentlich einige wichtige Dateien entfernt habe. Also habe ich nur immer lokal veröffentlicht und dann über das Netzwerk bewegt. In Ordnung, Jungs sind veröffentlicht, und ich werde sie nur noch einmal archivieren Onda eine Kopie über das Netzwerk. Und dann ist hier der knifflige Teil. Also, weißt
du, , was ich in der Vergangenheit getan habe, ist, was auch immer da ist, ich würde wahrscheinlich einfach einen Rückschlag
nehmen . Es ist also ein wie neuer Ordner auf dann vielleicht direkt an den Daten, oder? Und dann legen Sie alle diese alten Akten in die datierten Ordner früh Sandale, dass an diesem Datum, das war der letzte Weg, wie ich hatte. Also kann ich es immer wieder zurücksetzen, wissen Sie, sie sind effizientere Wege, dies noch einmal zu tun. Aber dann ist das in einer perfekten Welt, vielleicht sind
Sie nicht immer einige, die nur einige Fakten schließen, die es sieht, können sich nicht bewegen, weil sie offen sind. Also, wissen
Sie, wieder
einmal, in einer perfekten Welt, gibt es effizientere Wege, aber in einem perfekt, wo man nur wissen muss, wie man den Weg richtig macht. Also lehre ich dir das auf perfekte Art und Weise, damit du ein bitterer Experte wirst, wenn
du das perfekt bekommst . Also habe ich gerade die letzte Version archiviert. Ah, nein, ich halte nur über die neue Version auf. Dann werde ich alle extrahieren, aber ich werde nur die Vergangenheit hier ändern, damit ich es
nicht in den Unterordner auf schicke . Dann gehen Sie weiter und extrahieren andare. Dateien werden extrahiert. Wir haben unsere neuen in verschiedene Wörter Skripte, so kann ich einfach mit der rechten Maustaste bearbeiten ohne Teil. Wenn Sie also schauen, ob Sie Saleh-Skripte nahe schauen, wenn Sie bereits mit SQL vertraut sind, dann wissen Sie, dass Sie sehen können, dass es sagt, wenn nicht existiert. Andi. Es sagt also, dass, wenn es keine Geschichte gibt oder wenn dies nicht bereits existiert, dann tun Sie dies. Was passiert, ist, dass es nur die Migrationen sind die Änderungen, die noch nicht
im System sind , oder? So, wie wir gerade eine Migration über das Entfernen der VM-Tabellen hinzugefügt haben. Da gehen wir. Also, wenn ich dieses ganze Skript nehme und gegen vorhandene Datenbank eine ausgeführt habe, ist
der einzige Weg, wie wir es verlieren, wenn wir einige Änderungen,
die Spalten und Sachen wie das gemacht haben , wie vielleicht eine geändert die Zeit von der Zeit Sorry D erstellt von Zeit zu essen. Dann wissen Sie, dass es uns Details geben wird und möglicherweise Korruption, richtig? Also, was auch immer Korruption Yudof Erfahrung während der Entwicklungsphase, so dass diese Art von Änderungen,
erwarten, dass von Ihrem schlimmsten in der Datenbank. Sie wollen also das ganze Jahr über vorsichtig sein, alle diese Migrationen und die Änderungen, die Sie vornehmen . Also, in meiner Situation, was ich tat, war ein paar Tische fallen gelassen. Wenn diese Tabellen also relevante Informationen hätten, würde
diese Migration sagen, sie
fallen gelassen. Das würde zu Datenverlust führen, entweder wo ich ging, um all dies zu kopieren. Andi, geh rüber zu meiner Rettung. Nun, Management-Studio geht nach Bay City innerhalb des Abfragefensters. Stellen Sie sicher, dass meine Daten ausgewählt sind. Klicken Sie auf Ausführen, dann sagte es im Grunde eine Regel betroffen. Okay, wenn ich aktualisiere, dann wirst du sehen, dass es die Änderungen vorgenommen hat. Ordnung, also sind sie nicht mehr in einer VM-Tabelle, so dass Sie Änderungen
auch für die Datenbank ausführen können . Alles klar, Onda. Nun, ich denke, ich hatte nur die Benutzer, weil sie den Blatttyp gelöscht haben. Aber, sehen
Sie, ich habe immer noch meine Benutzerdaten direkt auf Sachen, also ist es immer eine gute Idee Zehe. Sie sicher, StellenSie sicher,dass das Skript ausgeführt wird, um sicherzustellen, dass die Datenbank mit
Ihrer neuen Veröffentlichung auf dem neuesten Stand ist . Er
wollte auch, nachdem Sie neue Dateien bereitgestellt haben, zumindest Ihren Anwendungspool recyceln, so dass
es , wissen
Sie, sich, wissen
Sie,aktualisiert. Andi fängt an, die ersten Akten anzuziehen, dann gehe ich einfach wieder auf die Bindung. Aktualisieren andare Anwendung ist noch offen ausgeführt. Also noch einmal,
das ist so, dass Sie eine Anwendung in Ihrem lokalen Netzwerk in einer
Internetsitzung bereitgestellt haben . Ähm, aber dann könnte dies auch für eine öffentliche Einstellung gelten, da dieser Server wie
ein VPs-Server gewesen sein könnte , den Sie verwenden, um die Internets zu übertragen. Die Prinzipien, ich meine ziemlich das gleiche mit der Datenbank-Konnektivität Einrichten Augen, stellen Sie sicher, dass Sie das Hosting-Bundle installiert haben, um sicherzustellen, dass Berechtigungen
eingerichtet sind , um, in einer Weise , die Ihre Anwendung sowohl auf dem Computer als auch auf die Datenbanken auf saubere und effiziente Weise ausführen kann.
67. Microsoft Azure Konto erstellen: Hey, Jungs in diesem Video werden erstellen oder Microsoft als Europa Kegel. Wie ich bereits sagte, können
wir kostenlos loslegen, um auf diese Websites zu gelangen. Wir gehen, da Sie nicht Microsoft dot com on. Dann schätze ich, sie haben dir nach deinem Grund oder deiner Sprache geschrieben. Aber das ist, was die Website aussieht. Sind sollte aussehen und Sie können durchlesen, um genau zu sehen, was, wie es alle ein Boot,
es ist eine Rechnung, die futuristisch ist, so dass mehr Zusammenarbeit auf den Betrieb nahtloser in einem Kleiderraum sind sie auf der
ganzen Welt auf. Sie würden in der Regel nur den Grund wählen, der Ihnen am nächsten ist. Also bin ich eigentlich in dem Auto wäre in Grund sein. Also ist meine engste Region östlich uns, unser Osten uns, aber das ist nicht für dieses Video. Dieses Video, das wir gerade ihre Kegel erstellen, wurden
noch nichts über Regionen einrichten . Eso, um loszulegen. Wir können einfach gut, wenn Sie bereits ein Live-Konto haben, dann können Sie einfach voran und stehen mit diesem Live-Konto. Nun, Sie können einfach klicken Sie auf Start kostenlos hier. Sie sagen dir, dass du heute einen Freak erschaffen kannst und du mit 12 Monaten
kostenlose Dienste loslegen kannst, also ist das ein gutes Geschäft für mich. Und wenn Sie nach unten scrollen, sehen
Sie 12 Monate kostenlose, beliebte kostenlose Dienste plus $200 Guthaben, die in 30 Tagen ablaufen. So geben sie es $200 Sake und erstellen Sie die virtuellen Maschinen, die Ressource erstellen können, ist
im Code und Experiment, bis das Geld ist auf, das ist wirklich nur für einen Monat. Aber dann gibt es bestimmte Dienste, die Sie nur vier kostenlos für den Rest aus dem Jahr sind nicht und dann werden Sie ein paar andere Dienste haben, die immer kostenlos dafür sind. Also, was wir tun werden, ist einfach voran und klicken, starten Sie kostenlos auf. Dann werden sie uns bitten, sich mit unseren Live-Konten anzumelden. Wenn Sie noch einmal ein Live-Konto haben, können
Sie das nutzen. Wenn Sie nicht genug Kegel haben, dann können Sie voran gehen und einen erstellen. Dies ist eine sehr aktuelle Option, um sich mit get Hub anzumelden. Also habe ich einen Live-Anruf, den ich benutzt habe, aber ich werde dich erst durch das Erstellen führen. Nein, das Leben eines Mais muss nicht unbedingt live oder überhaupt sein. Hören Sie, Tachometer ist, ich muss,
ah, ah, traditionelles warmes Essen Konto sein. Es kann ein G.
Millikan sein , also kann ich tatsächlich die gleiche E-Mail-Adresse verwenden, die ich benutzt habe, oder Ghettobrett von den militarisierten, die ich benutze, wenn ich mich für Dinge anmelde. Das kann ich damit gebrauchen. Ja, Huji-Essen, warmes Essen, was auch immer es ist. Ich bin wie der Nächste, und hier ist es schon. Es sagt mir, dass ich bereits ein Microsoft-Konto habe. Also das ist nur mein Punkt, wenn Sie ein Konto auf E-Mail-Adresse haben, muss
es nicht sein, ah, ah, warmes Essen oder traditionell leben ein ruhiges Boot dort. Dis Erstellen Sie ein Microsoft-Konto für Sie mit diesem E-Mail Briefe, so dass Sie gehen können voran. Andi, melden Sie sich an. Es ist jetzt ein ziemlich unkomplizierter Prozess. Ihr Verhalten dies es bereits bestanden hat. Das ist auf Rechnung, dass ich benutzt habe, um sich für die kostenlose a cone anzumelden, also ging ich eigentlich einfach voran
und liebe es, an zu sein , und weil
ich wirklich nicht viel mehr eingerichtet habe, denke ich, dass Ihr Registrierungsprozess tatsächlich sehr ähnlich aussehen wird unabhängig davon. Wenn du also die Hürde überwunden hast, deine E-Mail-Adresse beim Fortfahren
einzugeben, wirst du wahrscheinlich auf einem Bildschirm wie diesem landen, wo du nach deinen demografischen Informationen gefragt
wirst , nur für die Aufzeichnung, Ähm, mein Land und meine Region ist Jamaika auf. Ich gebe meine Telefonnummer ein, als ich als Nächstes behandle. Da sagten sie: Willst du einen Gutachter? Hinzugefügt bestand durch Telefon. Oder wollen Sie per Kartenkunst? Jemand zum Auswählen nimmt mich telefonisch und ich habe gerade die SMS bekommen. Es hat überhaupt nicht lange gedauert,
also gehe ich einfach auf die Zehe. Setzen Sie den Akkord ein, dann überprüfen Sie es. Hier ist ein Teil, der Sie abschrecken könnte, wenn Sie nicht darauf vorbereitet sind. Sie möchten Ihre Identität per Karte überprüfen, damit Sie nicht belastet werden, wenn Sie ein Upgrade durchführen,
was bedeutet, dass sie eine andere Art und Weise haben. Anruf-Abonnement-Pläne so richtig? Nein, Sie melden sich für den kostenlosen Abonnement-Plan ab. Sobald das kostenlose Abonnement abgeschlossen ist, dann werden Sie nicht mehr in der Lage sein, viel auf der Plattform zu tun, bis Sie für einen neuen
Abonnement-Plan zentrieren . Welche Cones hat dieses Upgrade? Also, wie ich schon sagte, vorhin. Es gibt P, wie Sie gehen und dann gibt es Lohn, wie Sie gehen, haben Schrägstrich Test,
das ist die, die ich bin auf, das ist wie die Hälfte des Preises von der regulären P, wie Sie gehen. Also habe ich tatsächlich meine Karteninformationen zur Verfügung gestellt, als ich mich von angemeldet habe. Nachdem Sie das getan haben, können
Sie auf Weiter klicken und Vereinbarung treffen, wenn Sie keine Karte haben oder Sie nicht mit der Bereitstellung Ihres Autos Details, als Sie meinen, dass Sie hier stoppen können. Das ist in Ordnung. Später, wenn wir tatsächlich einsetzen Zehe als Jury kann immer noch sehen, wie es aussehen wird und sehen, wie nützlich es für Sie ist. Ähm, aber wenn du willst, dann kannst du weitermachen und deine Informationen zur Verfügung stellen. Dann halten Sie sich an der Vereinbarung und akzeptieren Sie die Vertragsbedingungen auf. Dann würdest du auf der Plattform sein. Also werde ich nur in meinem echten Konto anmelden, mein Zitat unquote echte Icon,
die, die ich auf zeigen Ihnen, was wie Ihr aussieht. Nun, eigentlich bin ich gerade in Portal-Punkt als Dot-Com getreten, in der
Hoffnung, dass er ihn bitten würde, sich anzumelden. Aber das habe ich getan. Andi gerade umgeleitet, musing das gleiche Konto, das ich gerade in Richtung Williams auf Google Mail dot com toe
dieses Dashboard eingerichtet . Dies ist also das als Ihr Dashboard. Auf der sehr einfachen Ebene. Sie haben ein Panel an der Seite hier Auflistungsreihenfolge. Eine ganze Reihe von Dienstleistungen, die Sie bekommen können. Aber dann, weil wir keine Einrichtung abgeschlossen haben oder weil ich die Einrichtung nicht abgeschlossen habe, zumindest dann, wenn ich zu Abonnements gehe, werde
ich sehen, dass ich kein Abonnement habe, richtig? Also, wie ich sah, das Abonnement ist halten die Wieder als Kunde mit den Europäern, Sie gehen Unternehmen sind was auch immer. Also, wenn ich später beschließe, dass ich meine Informationen zur Verfügung stellen möchte, kann
ich einfach zurückkommen und klicken. Add on, dann bringt mir das Ende des Abmeldevorgangs, wo ich tatsächlich das
Abonnement hatte . Also das ist eine kostenlose Testversion auf, die sitzen auf. Ich weiß nur, dass du Lohn hast, wie du gehst. Sie haben Entwickler-Support. Ja, da du ziemlich viele von ihnen hast. In Ordnung. Also würde ich wahrscheinlich mit Lohn gehen, wie Sie gehen, aber das ist das alles in den Schritten aus, Anmeldung für, wie Sie sind auf. Das heißt, wenn Sie damit fortfahren möchten. Aber dann für diesen Umweg, wirklich und wirklich, wollte
ich nur, dass du bis zum Armaturenbrett kommst, damit du sehen kannst, dass so eine Null aussieht. Dies ist so Ihr Crowd-Management-Portal. Sie können Ihre virtuellen Maschinen einrichten, aber für diesen Kurs wird nach oben Dienste suchen.
68. Veröffentlichen: Hey, Leute, Willkommen zurück. Wir werden weiterhin über Microsoft Azure auf der Hosting-Webanwendung lernen . So hättest du dein Konto bereits auf eingerichtet. Haben Sie wahrscheinlich sehen. Sie sehen wahrscheinlich nicht, was ich gerade sehe, aber das ist mein Konto. Das ist also meine bezahlte Zapfen. Das meine Kreditkarteninformationen. Ich bin auf dem Abonnement für Bezahlung, wie Sie Slash Dev-Test gehen. In Ordnung, also im Grunde das. Andi,
ich habe es einfach schnell gefunden. Das hier, Al Ozio. Es schont. Du hättest es Tut mir leid machen können. Also dieser hier,
ähm, es ist sehr viel billiger als die reguläre Bezahlung, wie du weitermachst. Die Prämisse dahinter ist,
dass , du nur Dinge testen willst,die du entwickelst. Sie wollen nicht das volle Geld für diese Dienste bezahlen. So lassen sie bestimmte Preise für Sie kürzen. Andi, es ist ein bisschen flexibler für eine Person, mit den Eltern auszukommen. Sie können immer einfach voran gehen und klicken. Aktivieren Sie, und dann gehen Sie durch einige, Sie wissen schon, Mantel Onkel Papierkram. Dann aktivieren sie dich als die Entwickler-Slash-Testumgebungen, richtig? Nein, zurück zu hier haben wir alle Dienste. Sie können virtuelle Maschinen, Up-Dienste, SQL-Datenbanken und das Tool, das
sehr interessiert war , wäre die Up-Dienste und die SQL-Datenbanken. Virtuelle Maschinen. Sie können über virtuelle Maschinen verfügen. Ähm, aber dann, wissen
Sie, wenn Sie Zehe als abhängig von dem Modell bereitstellen, das Sie haben oder
Sie möchten, möchten Sie es möglicherweise eine virtuelle Maschine bereitstellen, die sie bereits in Ihrem VP und Ihr gesamtes Unternehmensnetzwerk. Und das ist wahrscheinlich für Versicherungszwecke oder für Ihre Bereitstellung einer virtuellen Maschine, die öffentlich zugänglich
sein wird . So haben Sie Ihr eigenes Hosting. Er hat eine virtuelle Maschine eingerichtet, die er hier ankam. Es bedeutet nicht, und stellen Sie es der Öffentlichkeit. Ich pinkle auf die virtuelle Maschine. Andi, das ist eine Übertragung ins Internet, und du hast die Verantwortung dafür,
oder du willst nicht, dass du Augen einrichten und eine virtuelle Maschine einrichten musst. Sie wollen nur aufbauen, auf eine Null
setzen und über das Internet darauf zugreifen können. Dann ist der Up-Service vielleicht am besten für Sie. Onda SQL-Datenbankdienst Also das ist, was wir Andi erkunden werden, also werde ich diesen Winkel einfach zu minimieren zurück zu Visual Studio auf. Dann habe ich mein veröffentlichtes Profil, Also dieses veröffentlichte Profil ist mein Vater Profil. Das habe ich benutzt, als ich es lokal machte. Aber jetzt wollen wir ein Profil haben, das uns zu den Up-Services in der Cloud bringt. Also gehe ich einfach voran und klicke auf Neu auf. Sie wollten auswählen, erstellen Sie neue up-Service so up Dienste ausgewählt und erstellen Sie Nachrichten bereits ausgewählt auf. Ich werde nur zum Erweiterten gehen, weil ich sicher bin, dass es hier Dinge gibt, die ich konfigurieren muss, also muss ich nicht die Version einrichten, die wir veröffentlicht haben Optionen für Sie können Addition
aus dem Ziel entfernen , das Dateidatenbanken im Datenkontext entdeckt wird. Aber wir müssen hier nichts ändern, so können Sie einfach voran gehen und klicken, Profil
erstellen auf. Dann wird es es zu einem Punkt führen, wo es Sie gefragt wird, Zehe melden Sie sich in Ihre als Ihre so Einheit , die eine erstellen oder sich anmelden. Also habe ich wirklich ein Zeichen in einigen entfernten ein Select-Anmelden auf dann ist dies eine einfache Unterzeichnung. Also gehen Sie einfach voran und setzen Sie Ihre als Ihre Kegel auf. Sobald Sie das getan haben, öffnen sich
einige neue Optionen für Sie. Es kann also eine Weile dauern,
weil es sich um eine Verbindung handelt. Es geht in die Wolke. Ich meine, weißt
du, aber, weißt
du, ich muss uns nicht selbst aussuchen. Wir können nur warten, um zu sagen, dass Sie in der falschen Angst eine Fehlermeldung ausgeben. Aber sobald du so etwas siehst, weißt
du, dass du an der richtigen Stelle bist, also bitten sie dich, ihm einen Namen zu geben. Sie können das ändern, wenn Sie wollen. Welches Abonnement möchten Sie veröffentlichen unter,
Um , was ist die Ressourcengruppe? Basierend auf meinem Standort würde
ich wählen, dass ich eine Ressourcengruppe habe. Was? So können Sie immer ein neues erstellen? Ich denke, dass sie Ihnen eine oder andere Weise geben würden, damit wir eine neue erstellen können, um sie zu Ressourcengruppe irgendwo zu nennen, um sie zu verlassen Management auf Ressourcengruppen sind wie Container in der CLO zu sagen, wie alle diese Ressource in Diese Ressourcengruppe arbeitet zusammen, oder? Das ist im Grunde das, was eine Ressourcengruppe ist. So wie ein Gruppenname. Also nenne ich es Leave Management den Hosting-Plan? Nein, sie haben einen kostenlosen Hosting-Plan. Wenn Sie also die Größe betrachten, sehen
Sie, dass dies die verschiedenen Größen sind, aber sie haben frei. Aus pädagogischen Gründen wählen
wir kostenlos aus, wenn Sie es sind. Eigentlich wollen wir mit etwas an die Öffentlichkeit gehen. Sie wollen wahrscheinlich eins von diesen auswählen, ähm und dann basierend auf Ihrem Traffic, können
Sie unseren Don't off Kurs in einem Unternehmen erhöhen, wissen
Sie, Sie würden, nachdem das mit Ihrem I t Manager ist, Genau welche. Aber ich werde mit dem freien Ort gehen,
immer versuchen, einen Ort zu wählen, der nahe Zeh ist. Also basierend auf meiner Lage östlich uns, unsere Ostjahre zu seinem Besten für mich, richtig? Da die Karibik, das ist derjenige, der in der Regel empfohlen wird, ist ein sehr stabiler Standort auf
dem Weg auf dem Hosting-Plan, Ich muss nichts dort ändern. Also diese Namen hier, wie Hosting-Plan im Namen von oben ändern Sie diese nach Ihrem Stil, Ihre Konvention. Sie müssen den Standardwert nicht verwenden, aber Sie müssen nicht das Standardrecht ändern, dann klicke ich auf OK dann auf zusätzliche Dienste. Also brauche ich zusätzliche Dienste in Form von SQL-Datenbank, weil die Up-Dienste auf der einen Seite buchstäblich alles, was es tut, ist das Hosten der Webanwendung. Es gibt keine Datenbank, die auf dem Up-Service sein wird. Ich brauche einen Tag. Es wird ein Dienst sein. Das Pferd, meine Datenbank. Das kostet also, obwohl ich nicht denke, dass es eine kostenlose Version für die Datenbank gibt, sondern dann den Datenbanknamen. Du kannst ihm den Namen geben, den ich glaube. Nun, das ist wirklich die Kunst. Lassen Sie auf die Partitur Management. Also geben wir dir den gleichen Namen. Lassen Sie auf die Partitur Management. Wir brauchen einen Server. Der Datenbankdienst ist also so, als ob Sie einen virtuellen Server erstellen, und dann können Sie Datenbanken auf dem Dis-Serverport bereitgestellt haben. Die Realität ist, dass Sie nicht in die gleiche Art und Weise verwalten müssen, wie Sie es tun, wenn Sie es auf Ihrem Computer installieren, richtig? Einige gingen aus, um einen neuen Server zu erstellen, weil ich keine unter meinem aktuellen Abonnement habe ,
jemand, um einen neuen Server zu erstellen, und dann fragen sie, was ist der Servername? In Ordnung, also meinen Servernamen werde ich es nur nennen, um SQL Server. Dash meinen Namen. Richtig. Das ist also ein Server. Der Ort. Ich lege es uns wieder in die Richtung Osten. Onda nach dem Einsetzen menschliches Passwort Onda Benutzername kann nicht generisch sein wie, geben Sie unsere Administratoren. Ich benutze nur meinen Vornamen direkt an. Dann verwende ich nur das Standardpasswort, das p bei San ssw ist. Bereits gewann die gleiche Haltung, die wir während der gesamten Anwendung verwendet haben. Aber Sie wissen, Sie wollen Ihr richtiges Passwort verwenden. So bietet diesen Schritt ist, wenn es keinen Server vorhanden ist, sicherer mit einem Unternehmen zu tun, das bereits ein als Ihr Konto hat. Wahrscheinlich müssen Sie diesen Schritt nicht als Individuum durchlaufen. tun Sie wahrscheinlich. Das ist also der Server, richtig? Also werde ich nur den Server bereitstellen, sobald der Server bereitgestellt wird, und
weiß, wann ich sicherstellen muss, dass mein Datenbankname in der Partiturverwaltung verlassen wird. Im Einklang mit dem Datenbanknamen, den wir die ganze Zeit verwendet haben, wird
es die Details eingeben, die sie im Kennwort für die Verbindung verwenden String Name ist Standardverbindung. Es ist also so, als würde ich sagen, dass ich die bestehende Verbindung überschreiben sollte,
die vor der
Verbindung aufgerufen wurde, die gerade jetzt auf ein lokales BB schaut, wie an diesem Punkt den neuen Server mit dem -Anmeldeinformationen erforderlich. Rechts, Also klicken Sie auf OK, aan den. Also nach unten, rechts. Es zeigt Ihnen, dass es den Schreibtisch einrichtet. UAL die als Ihre SQL-Datenbank. Lassen Sie die Verwaltung auf dem Server, der nur mit diesem Hostingplan bereitgestellt wurde
, mit diesem Up-Service. In Ordnung, auf. Wir brauchen wirklich nichts anderes. kannst du. Ich meine, die Analytics-Anwendung befindet sich darin, was Ihnen Echtzeit-Log-Schwung geben wird. Was ist los? Sie können hinzufügen, dass ich denke, dass Sie irgendwo Geld kosten könnten. Also versuche ich, die Kosten so weit wie möglich zu reduzieren. Aber dann können Sie fortfahren und auf Erstellen klicken. Also, sobald Sie klicken, wird
erstellt mit der Bereitstellung beginnen. Die gesamte Ressource wird benötigt, damit sie ihr ein wenig Zeit geben können. In Ordnung. Und dann einmal das Übungen nicht tun, werden wir eine Seite bekommen. Wo sonst? Oh, das ist die Verformung, die wir für die UPF verlassen haben. Siehst du, das war der Name. Ich habe mich nicht von der Standardeinstellung geändert, also hoffe ich, du bist nicht auf meinen Hintern gefallen. Beispiel auf, dass Sie Jahre ändern. So oder so, wenn wir auf den Link in einen Führer zu dieser Zielseite klicken, so dass es uns mitteilt, dass der Beobachter offen läuft auf. Dann ist der nächste Schritt, über Gericht einzusetzen. Richtig, Also müssen wir fortfahren und auf Veröffentlichen klicken. Also, indem Sie auf Veröffentlichen klicken, wird
es Paket aus der Abhängigkeit ist und schieben sie ihre Kinder Service für uns. Nach der Veröffentlichung erhalten
wir unsere 500 Fehler. Also, das sagt mir nur, dass es bestimmte Dinge falsch, Keine bestimmten Dinge zu beachten wäre, dass wir keinen Zugang zu irgendeinem Feuersystem haben, um die Protokolle zu
sehen, wie wir das letzte Mal getan haben, wenn wir drin sind,
ich s, wenn ich über die Zehe gehen, wie du bist auf die Suche nach Diensten, die ich hier sehen werde und es läuft. Ich kann es nehmen. Wenn wir es auswählen, betrachten
wir unseren Up-Service und alle Diagnosen, die darauf ausgeführt werden. Wir können einen Blick auf die Konfiguration, die zeigt, dass der Kontinent fiqh String war. Also vermute ich, dass die Show fortgeschritten es auf verstehen. Ich vermute nur, dass der Pfeil irgendwo hier ist. So ist das, was unsere Standard-Verbindung Nein sieht aus, richtig, Onda, Wir können Details wie die ganze Woche erhalten und Store-Server verbinden. Es sucht also nach dem ersten Katalog. Lassen Sie Management Trans melden Sie sich mit diesem Benutzer Andi mit diesem Passwort. Aber ich vermute, dass diese Datenbank einfach nicht auf dem Server existiert, der zu mehr als
500 Erde führt . Also werde ich versuchen, zu dieser Datenbank zu gelangen. Justo,
schau mal, ob mein Verdacht ist, dass der Wagen verrückt ist. Also, was ich tun werde, ist versuchen, in den Server zu kommen und ich werde einen Schulserver
Dash verwenden . Wahr, dass was? Diese ganze Adresse als Servername. Richtig. Sei die Quelle auf. Dann werde ich diesen Benutzer verwenden. Ich bin in dieser Haltung. Bald sprießen Sie gerade mein Managementstudio aus. Also, zum Zeitpunkt der Veröffentlichung, werden
Sie wahrscheinlich zu Fuß gehen. Weißt du, wenn du es alleine machst, musst
du dich daran gewöhnen, all diese beweglichen Teile zu kennen und zu schätzen, wie sie zusammenarbeiten. Also werde ich das kopieren. Und das ist mein Servername Andi. Ich kann Ihnen sagen, die aber, wie Sie die I p Adressen beschränkt hätte, dass Chan Spaß es auf die Datenbank. Also denke ich, dass, wenn ich versucht habe, eine Verbindung herzustellen, entweder ging, um mich zu verweigern oder lassen Sie mich wissen, dass ich die Erlaubnis
haben kann . Also klicke ich auf Verbinden. Da gehen wir. Ihr Client i p Adresse hat keinen Zugriff auf den Server. Anmelden erstellen Sie eine neue Firewall-Regeln, damit ich mich hier anmelden kann, erstellen Sie eine Firewall-Regel für diese öffentliche Idee Kleid, die ich habe. Aber die Realität ist, dass auf der Grundlage der I S P, dass ich p meine Änderung adressieren. Also, was ich stattdessen tun werde, ist, zurück zu Fuß zu gehen, wie Sie auf meinem
Datenbankserver gehen. Also könnte ich einfach zu allen Diensten zurückkehren. Ich ging, um meine SQL-Datenbanken aufzurufen auf Wenn Sie die Dinge nicht so sehen, wie ich sie
sehe, können
Sie immer die Pillen verwenden. Also die linke und Sie werden alle dort aufgeführten Dienste sehen. C c SQL-Datenbanken bis Dienste auf die gleiche Weise. In Ordnung, also gehe ich voran und
klicke auf den Server. Also, das sind eigentlich die Datenbienen. In Ordnung, also existiert die Datenbank. Andi,
ich gehe von der Übersicht Goto Ah, Server. Dies ist also die Datenbank selbst. Aber ich möchte zum Server gehen, weil ich einige von den Firewall-Regeln freigeben möchte, also werde ich sehr locker auf sie sein. Wir gehen nur auf die Zehe. Hallo? Alles, was ich habe, stimmt. So kann ich auf Firewalls und virtuelle Netzwerke hinuntergehen. Dann, was ich tun werde, ist die Regel zu konfigurieren. Sie sehen also, es verweigert den öffentlichen Netzwerkzugriff. Nein, auf. Dann können Sie eine niedrige Dienste auf den Server zugreifen sehen. Ja oder nein. Aber dann die i p. Ich werde alles für den Regelnamen sagen, und dann werde ich nur in eine vollständige Lektüre setzen. Also, dass 0.0 so 0.0 Punkt 0.0 Bedeutung von jeder i p Adresse. Immer noch die größte von der kleinsten, es ist eine 255.55, die 255 Also dies ist jemals erreichen jede I P Adresse, die denkbar ist, zumindest jetzt fällt zwischen Nullen auf fünf Fünf. Also können wir einfach weitermachen und das speichern. Und sobald diese Regel in ist, sollte
ich in der Lage sein, zu versuchen, wieder eine Verbindung herzustellen, um tatsächlich Zugriff zu erhalten. Da gehen wir. So sehen wir hier, dass wir in die Datenbank eingliedern können und ich sehe das verlassen Management glauben, dass das Management keine Tabellen hat, also wird die Datenbank erstellt, aber es stabilisiert. In Ordnung, also gehen wir einen kleinen Schritt zurück. Wir haben gute Fortschritte gemacht. Wir sehen, dass wir bereitgestellt haben, oder als Europa-Dienst, den wir haben, oder als Ihre Datenbank. Aber wir haben ein wenig einfach mit dem Datum der Bienen und dem Inhalt aus der Datenbank. Also werde ich einen Schritt zurück gehen und wir werden einige Konfigurationen hier in unserer Haube oder lokalen Projekten ändern,
so dass wir beim nächsten Mal keine gewissen Nachteile mehr haben werden. Alles klar, das erste, was ich tun werde, ist, meine Unruhe zu ändern. Ist das GS in der Datei und ich werde tatsächlich eine weitere Verbindungszeichenfolge erstellen. Dies ist also die Standardverbindung. Ich werde das hier als deine Verbindung nennen. In Ordnung, also für hier werden
wir die Verbindungszeichenfolge auf der Verbindungszeichenfolge verwenden, die in unserem Port
sein wird . Gehen Sie auch zurück zur Datenbank. Also lassen Sie das Management auf. Wir werden dort Verbindungszeichenfolgen sehen. Das Nehmen von Verbindungszeichenfolgen bringt also den idealen .net-Treiber auf. Alles klar, damit wir diesen Text einfach bleiben können, verstehen Sie? Zum Kopieren. Das ist eine Zwischenablage. Dann gehe ich zurück zu meinem Unruhen. Ist, dass Jason auf meiner A-Null-Verbindungszeichenfolge diese Zeichenfolge sein wird. In Ordnung, also bin ich nur ersetzen es auf dem Passwort war nicht ihre Mitarbeiter im Text. Also musst du das hineinlegen. Alles klar, auf der Yeah. Ich muss nur sicherstellen, dass alles in Ordnung ist. In Ordnung. Gut. In Ordnung. Das ist also unsere Verbindung String toe azurblau. Wann man den Beginn der Nazis ändern, um es ein bisschen selektiver zu machen. Im Moment heißt
es, dass, wenn die Anwendung gestartet wird, Verbindungszeichenfolge D für die Verbindung verwenden sollte, und das ist in Ordnung. Deshalb sind wir einheimisch. Aber dann gehe ich zu beidem ein bisschen weiter. Ich werde sehen, dass ein Sohn das schneiden würde und ich möchte sehen, ob und wir eine Variable haben hier Environment heißt. Und um Umgebung zu verwenden, müssen
Sie systemsichere Umgebungen dot Umgebungsvariable auf einschließen,
dann innen aus, dass wir nur die Anführungszeichen und die Arbeit an der ISS sein Nettokern auf der Partiturumgebung. Also werde ich auch erklären, was all das bedeutet. Also bekomme ich in die Variable und wir sehen, Hat es den Wert auf Wir suchen nach dem Wert pro Milch Sohn. Ordnung, wenn wir
also in der Produktionsumgebung sind, die wir noch eine Sache verwenden wollen, wollen
wir etwas anderes benutzen und ich werde das Gericht zurückstellen, das wir gerade im Abschnitt L erwischt haben. Also, wenn wir nicht in der Produktion sind und wir über vor Loca-Einstellungen verwenden, Aber dann, wenn wir in der Produktion sind, dass ich keine Standard-Klick-Verbindung verwenden möchte, möchte
ich meine A-Null-Verbindung verwenden. Also sehen Sie, ähm, als Ihre Verbindung für unsere Produktion. Alles klar,
danach ,
danach werde
ich noch eine Zeile setzen, um Dienste zu sagen. Sorry, Dienste dot Build Service Provider auf. Dann möchte ich sagen, dass Service auf, dann bekommen Service. Botschaft in der Anwendung db Kontext. In Ordnung, nimm alte traditionelle Leerzeichen ein
, öffne und schließe Anführungszeichen, Punkte. Und ich denke, ich habe auf Sendung OFI denke, dass. Und dann sehen wir Theaterbasis Punkte meine Noten. Diese Zeile sollte also die Migration gegen die Kontexte ausführen, die Datenbanken verwendet werden können. Sie uns nun LassenSie uns nunauf diese Umgebungsvariable konzentrieren. In Ordnung,
Also, wenn wir über Umgebungsvariablen sprechen und Sie sehen, habe ich hier über gefüllten Explorer, so dass Sie die Code-Experten von verbinden,
um,
zu bestimmten Objekten verwenden können um, , aber dann sind sie alle aus führt zurück zum Hafen seiner Verstehen, um dies zu schließen. Dann gehe ich mit der
rechten Maustaste auf das Projekt. Gehen Sie zu Eigenschaften auf dann. Das erste Zeitalter hat Umgebungsvariablen in ihrer UCSB-Net-Kernumgebung. Das war also der Name, den wir eingegeben haben, oder? SB Nettokern auf der Partiturumgebung auf den Wert, den wir für seine Produktion suchen. Allerdings ist
der Wert hier Entwicklungen verstehen? Zehenpaste genau da. Also gehe ich in die Produktion um, Ordnung. Und von hier aus können Sie andere Umgebungsvariablen haben, wie Sie mich brauchen. Aber dann werde ich hier nur einen Test durchführen, also werde ich nur vor Ort laufen, okay? Andi Kunst. Also, was dieser Test wird beweisen, ist, dass unsere Migration gerade gegen die als Ihre
SQL-Datenbank passiert ist . Also haben wir uns nur als ihre SQL-Datenbank angesehen, die Sie gesehen haben, dass sie leer war. Alles klar, was wir getan haben, war die Umwelt zu strukturieren. Variable zur Produktion wird auch eine neue Verbindung einführen, über die sie als Ihre
Verbindung auf beim Start verwenden . Wir haben gesagt, dass Nun, sobald Sie starten, dann führen Sie bitte die Migrationen gegen unseren von der Anwendung db-Kontext aus, offensichtlich gegen
die ausgewählte Verbindungszeichenfolge wäre. Also, da meine Umgebungsvariable nicht auf Produktion eingestellt ist, ist
die Prämisse, dass, sobald ich auf Start klicke, die Anwendung lokal bootet, aber es wird mit der Kleidung SQL Server auf der Tatsache verbinden, dass Kunst So passieren wir eine Hürde mit ihm tatsächlich am Tag erscheinen. Das werde ich auch. Also hier ist unsere bis spannende vor Ort. Das ist also gut. Bisher gehe
ich zurück in mein Managementstudio und erfrischen mich dort. Siehst du? Alle von den Tischen, die vorher nicht da waren. Das ist also unser als Ihr SQL-Server. Ich weiß, dass alle Tische nicht da sind. So dass die Konfiguration im Grunde stellt sicher, dass, sobald wir eine Veröffentlichung auf der Anwendung ausführen, es wird sicherstellen, dass die Migration zu den Zieldaten Bienen wie durchgeführt wird. Nun, es hat es anfangs nicht gemacht, oder? Also wissen Sie, dass ich so wenig ihr viel vom Weg habe. Und nein, ich weiß, dass meine Datenbank existiert. Ja, wir können uns mit der Anwendung verbinden. Ja. Ich werde einfach eine weitere Veröffentlichung machen, nur um sicherzustellen, dass alles in Ordnung ist. Jetzt, sobald wir wieder veröffentlichen, werden
wir unseren Anmeldebildschirm sehen und basierend auf früheren Erfahrungen,
es ist immer eine gute Sache, über den Anmeldebildschirm zu sehen, so dass ich einfach versuchen kann, und melden Sie sich in Andi,
stellen Sie sicher, dass es an die Gerichte Datenbank und alles auf dann melde ich mich an. Dann sehen wir, dass unser Admin-Benutzer funktioniert. In Ordnung, also bin ich nur Internet-Tests, um sicherzustellen, dass wir mit der richtigen Datenbank reden,
nur, nur, du weißt schon, Overall-Basis. Ich ging, um Typen zu lassen. Ich werde eine neue Platte auf dieser erstellen, wird krank sein. Verlassen Sie Onda 10 Tage. Gehen Sie vor, um Alright zu erstellen, es ist erstellt. Also gehe ich einfach zurück in mein Managementstudio. Ich werde Stern vom Urlaubstyp auswählen. Dies ist also der SQL-Server in der Kleidung. Ich wollte nur Top 1000 Onda wählen Uh, da gehen wir. Krankheitsurlaub ist da erstellt Alles in Ordnung, so dass wir gerade unsere SP Donna Core Anwendung Toe als Ihr Dies ist nicht wie Ihr Training eingesetzt . Das ist nur, um dich durchzubringen. Um es könnte seine gehabt haben, Sie wissen, Sen Wendungen, aber es ist nur eine Frage der Konfigurationen und ein Verständnis halten die kleinen Dinge arbeiten zusammen, um Ihnen das Endergebnis aus gehosteter Anwendung sprechen Toe zu geben. Ah gehostete Datenbank. Alles ist einfach, Nazir. Wir haben uns angesehen, wie wir eine Verbindung mit der als Ihre Instanz außerhalb der Datenbank herstellen können, unabhängig von unserem Management Studio auf. Wir sehen auch, dass wir es von unserem Visual Studio mit oder Flowed Explorer tun können. Wenn ich zur Ansicht gehe, sollten
Sie Code Explorer sehen. Dort gehen wir und Sie können sehen, Ihre Ressource ist, die im Code sind genau die gleiche Weise. Ähm, wir haben uns auch Toto Auto angesehen, treffen die Seeding von der Datenbank sehen nicht die Migration von der Datenbank mit dieser Zeile in unserem Anfang über CS, was nur, wissen
Sie, nur vorwärts Ingenieure das Datum dieser basierend auf all den Migrationen, das ist, wo es auf Wir schauten auch auf den Spaß. Wir können mehrere Verbindungszeichenfolgen haben und eine Umgebungsvariable verwenden , können
wir, Sie wissen, zur Laufzeit bestimmen, welche wir verwenden möchten. Wenn ich also die Entwicklung wieder verwenden möchte, kann
ich einfach zurück in den Rechtsklick der Eigenschaft gehen, zu Eigenschaften
gehen und dann von dort aus kann
ich die Umgebungsvariable von der Produktion zurück in die Entwicklung ändern oder was auch immer es ist , dass ich zu diesem Zeitpunkt sein wollte
69. Einrichtung von Automatisierten Setup mit GitHub und Build/Release: Hey Jungs, Willkommen an diesem Punkt waren hart gekämpft Entwickler, und wir haben unsere Zehen in den Pool von ein wenig Server-Administration und
IT-Datenbankverwaltung getaucht . Aber ich bin sicher, dass wir genug getan haben, um sich auf unserer lokalen Maschine und unserer
Datenbank niederzulassen oder Server . Oder wir haben auf den Code bereitgestellt und wir haben oder Null es Up-Service läuft neben SQL-Dienst läuft. Nein, ich habe vielleicht schon einige Gelegenheiten angedeutet,
vor allem, wenn wir über diese IIS-Bereitstellung sprachen,
dass es tatsächlich einen viel nahtloseren Weg gibt, dies zu tun. Dann wissen Sie, veröffentlichen und dann nehmen Sie es und kopieren Sie in Toto den Server und so weiter. Die Realität ist, dass wir einfach keinen solchen Zugang zu all diesen Maschinen haben. Wenn Sie ein Senior Developer sind, wollen
Sie uns wahrscheinlich nicht entwickeln, um das jedes Mal durchgehen zu müssen. Aber Sie möchten eine nahtlosere Möglichkeit, sicherzustellen, dass die Qualität, die jedes Mal
veröffentlicht wird, genannt wird. Also hatten wir nach Hause kommen als unser Quellcodeverwaltungsanbieter auf Get Hope bietet, was sie Aktionen nennen, die Sie kennen, in einigen Build-Aktionen und Automatisierung, gewisse Menge davon in dot net core ab sport. Meiner Meinung nach und Erfahrung ist das
Ghetto eher auf Herrn ausgerichtet und durch lustige Dinge nicht unbedingt dokumentieren Dinge, aber Microsoft hat, wie Sie entwickelt, was uns Zugang zu einer Reihe von Tools gibt, die erstaunlich sind. Um, für die Automatisierung des Aufbaus auf der Veröffentlichung von Punktnetz-Anwendungen, damit Sie hierher kommen können, indem Sie Fuß gehen . Zero dot Microsoft dot com Gehen Sie zu Produkten, Dienstleistungen und wie Ihre Entwickler ups und Sie können sehen, können Sie kostenlos starten, beginnen Sie für Sie mit get top, so dass Sie in mit Ihrem Ghetto-Konto senden können. Aber wenn Sie sich an dieser Stelle bereits bei Microsoft Azure angemeldet haben, dann können Sie voran gehen und das Life-Konto auf dieser Website verwenden oder gut, dann können Sie voran gehen und das Life-Konto auf dieser Website verwenden oder gut,
Sie hätten technisch schon auf unseren Telefonen eingeschaltet. Wieder einmal kannst
du als Individuum frei anfangen. Es ist großartig. Es ist wie einen Job zu bekommen, aber mit ein wenig mehr, weil sie die TFS-Engine haben. Wenn Sie jemals Team Foundation Server verwendet haben. Wenn nicht, ist
das in Ordnung. Es ist nur ein wirklich mächtiges Werkzeug, das sie jahrelang hatten. Sie haben es dem Web auf gemeldet. Sie geben Ihnen all diese einen Job Planungs-Tools. Sehen Sie, ich sehe, dass die Seo hier ist, CIA und sehen Sie, das ist kontinuierliche Integration oder kontinuierliche Entwicklung bei traurigen Bereitstellungen, richtig. Alle diese Werkzeuge sind eingebaut. Sie können so viele Ruhe frei haben, wie Sie wollen. Was sie privat sein werden, steht auf, gibt Ihnen so viele freie öffentliche. Ich denke, nein, die privaten sind frei. Außerdem kann
er Testpläne bereitstellen. Wenn Sie Unit-Test-Artefakte durchführen, auf denen Sie bereitgestellt werden können, können
sie das ganze, was wir als Release-Pipeline bezeichnen, automatisieren. Das werden wir also tun. Wir werden erkunden, indem wir eine Release-Pipeline oben, neben der Anwendung oder der Website, die wir bereits erstellt haben. In Ordnung? Nein, ich bin auf den Webserver gewechselt. Und nur als eine kurze Erinnerung, wir haben unsere Website auf unsere mit unserer Anwendung bereitgestellt toe over I i s Website genannt verlassen Management auf. Wir bekommen durch die Adresse, verlassen Management, dass Internet dot com auf justo uns auf die als Konfiguration aktualisieren, wir haben den Anwendungspool für die Web-Anwendung auf gewidmet. Wir haben auch die Website verlassen Management. Also Nein, Was wir tun müssen, ist die Einrichtung einer Release-Pipeline. Solche, die nicht Dies ist ein Server. Dies könnte ein Server auf Ihrem lokalen Computer sein. Sind wieder einmal könnte es die Kleidung sein, aber es ist ein dedizierter Server auf ihm hostet unsere Anwendung. Nein, wir werden tun, ist eine Veröffentlichung von einem Plan von einer Null entwickelt, die in der Cloud ist so dass, wenn wir, wissen
Sie, etwas
bauen. Vielleicht haben Sie beide repariert und wir checken es ein. Es führt einen automatischen Build durch. Stellen Sie sicher, dass wir nichts kaputt gemacht haben. Dann werden die Bereitstellungen automatisch durchgeführt. Also werde ich es manuell machen, dann schauen wir uns an, wie wir es automatisieren können basierend auf, wie ein nächtlicher Build-Zeitplan oder ein nächtlicher Release-Zeitplan, so dass, wissen
Sie, Sie tun die beiden Fix heute Sie es untersuchen auf. Dann bis morgen früh ist es im System, ohne dass Sie
noch viel mehr tun müssen,
um loszulegen, um loszulegen, können
Sie sich mit Ihrem als Ihr entgegengesetztes lebendiges Konto anmelden oder Sie können einfach mit
ihrem Ghettokonto fortfahren . Also, seit wir „Steh up“ benutzen, werde
ich das Ghetto wieder an. Ich werde meine als Ihre Kegel verwenden, aber meine ist bereits eingerichtet und es ist in Gebrauch. Ich werde das nur aus den Grundlagen machen, damit wir in diesem speziellen Kampf zusammen sind. Also benutze ich nur mein Ghettokonto. Ich gehe weiter und melde mich an. Dann wird es mich wissen lassen, dass ich bereits ein Konto habe. Ich gehe einfach weiter unten. Es wird nur bestätigen, dass ich meine Anmeldeinformationen verknüpfen möchte, wenn Dennis mich bearbeitet. Wissen Sie, dass meine Anmeldeinformationen auf dem Markt hinzugefügt wurden. Die Abwesen-Anmeldeinformationen wurden meinem Microsoft-Konto hinzugefügt, wenn ich das nächste Mal unterschrieben habe, und ich kann wählen, um die vorhandenen Microsoft Co gesponsert zu verwenden oder einfach nur signieren, wie ich schicke um Hoffnung zu erhalten. Also sage ich nicht, ich habe es und bewegen Sie sich alles in Ordnung, und ich musste nur ein paar mehr Details und klicken Sie auf die nächste, und da bin ich. Ich bin in meinem, wie Sie sich entwickeln. Also hatte ich einen Student bereits, der eines Sommers habe ich mich zu seiner Organisation für ein Projekt gemacht, dass er wirklich gutes Projekt auch. Aber deshalb sehe ich das dort. Du siehst es vielleicht nicht. Was Sie tun möchten, ist gehen und klicken Sie auf Neue Organisation auf dann Organisation ist wie Erstellen
eines T Rechts. Also willst du das einfach machen? Wir können uns anmelden. Ah hat abgeschrieben,
Werbeartikel von ihnen zu bekommen . Sie wählen Ihre Sie sie verwenden. Einige widersprachen meinen Bestien. Verwenden Sie den Namen und ich werde Zehe setzen meine Projekte in gehostet werden. Naja, zentral ist der einzige Brunnen, das ist der beste für mich. Also verlasse ich das zentrale uns, aber sie lassen mich wissen, dass es schon genommen ist, also fügen Sie wahrscheinlich einfach etwas hinzu und fahren Sie fort. In Ordnung. Und dann sind wir hier in unserer Organisation. Also heißt die Organisation Trevor Williams eins? Nein. Von hier aus muss
ich einen Projektnamen erstellen. Also der Projektname ist verlassen Management, und ich werde es nennen. Dasselbe wird genannt. Verlassen Sie Dash Management. Ich kann wählen, was ich öffentlich oder privat sein wollte, also möchte ich diese Einheit verlassen, Privat und an, ich werde weitermachen und ein Projekt erstellen. Dann haben wir ein neues Projekt, so dass Sie einfach eine Weile nehmen und schauen können. Sie sehen, Sie haben ein paar mehr Dinge, als UB zeigt Ihnen zumindest zum Nennwert. Wenn Sie Boards schweben, sehen Sie Arbeit. Ich versuche, Sie können Sprints tun, Rückstände alles hier Berichte zeigen Ihre Dateien Ihre Kommentare. Am Ende des Tages sind
die Wörter so ziemlich die gleichen, weil dies auch mit Ich bekomme Motor also von seinem
basierend auf bekommen als Ihre primäre Engine entwickelt ist auch bekommen, so dass Sie eine Menge Wörtern auf Phrasen in gemeinsam zwischen den beiden. Wissen, was ich tun möchte, ist dieses Partikelprojekt mit meinem Get Top-Projekt zu verknüpfen. Richtig, das ist
also ein leeres Projekt. Ich will nicht, Oh, muss gehen,
Andi, fangen Sie an, es wieder zu fühlen. Siehst du, es ist leer
hier, oder? Also will ich nicht, dass du die einzelnen Projekte hast. Ich möchte, dass dieses Projekt mit dem Get up-Projekt auf verknüpft wird. Das Tolle daran, dass Microsoft beides
besitzt, ist, dass sie diese sehr möglichen zweiten Goto-Projekteinstellungen vorgenommen haben, dann Ghetto-Verbindungen aus dem Menü lcz Boards auswählen, die Geheimnis der Verbindungen auf. Dann sagen sie Connector, werde top okkult,
jemand, der voran gehen und meine Collins verbinden kann, weil ich bereits angemeldet bin, als aufstehen, es geht um Fuß. Lassen Sie mich wissen, dass ich das nur auf Cent genehmigen muss. Ich gehe nur auf die Zehe, bis das Also Okay, ich schätze, ich werde das für ein anderes Mal verlassen. Also mach ich einfach voran und autorisiere als deine Bretter auf. Dann wird es seine Magie auf. Dann holen Sie das ganze Zeug Alle meine Repositories. Also einige von diesen unseren Köpfen weg von ihnen. Ich wurde eingeladen, Zeh. Aber der Punkt ist, dass ich Zugriff auf alle meine Repositories habe. Also werde ich mit Urlaub Management gehen und dann auf Speichern klicken. Dann muss ich voran gehen und genehmigen und installieren und wieder autorisieren. Also alle diese Prüfungen sind Nur stellen Sie sicher, dass Sie genau wissen, welche Risiken und was Sie tun , so können Sie sich Zeit nehmen, um zu lesen, wenn Sie möchten. Aber ich drücke nur weiter. In Ordnung, also wissen Sie, dass wir diese Verbindung aufgebaut haben. Was dies uns erlaubt, ist freundlich aus, verwalten Sie unsere Aufgaben und Probleme aus entwickelt, wie Ihre Verwandten in Richtung zu bekommen über
positiv entwickelt . Also ist es eine starke Verbindung zu dem, was unser Ziel ist es wieder einmal, ah einzurichten, bauen Pipeline und Freigabe Feuerplan, so dass, wenn wir einchecken, um Hoffnung zu bekommen, wird
es nicht, wie Ihr Dumm auch automatisch nehmen. Bauen Sie es, Andi, Sie wissen schon,
geprüft, bevor es vorwärts geht. Also von hier aus, was ich tun werde, ist zu Pipelines zu gehen, dass es eine Rakete ist, zu
verstehen, um es zu klicken, dann ist es Prompting sind immer noch erstellen oder erste Pipelines verstehen, Pipeline zu erstellen. Dann kann ich auswählen, welche Art von Pipeline ich möchte? Also, wenn das Gericht war Bewohner, als ich auf einer Null Ruhe bekommen würde. Aber wenn man sich wie wieder von innen sieht, gibt es nichts. Aber die Akten sind vorbei in Hoffnung. Erstellen Sie also noch einmal Pipeline auf. Ich werde Gitarre auswählen, also wähle ich. Steh auf, dann wird mich auffordern, das Repository auszuwählen. Also werde ich nur mein verlassen Management-Repository auswählen, eine interessante vorausgesetzt A, die die Berechtigungen haben, dann habe ich mich geliehen, um
wieder zu genehmigen . In Ordnung, ich weiß, es warnt mich, dass ich ein öffentliches Repository benutze, aber das ist kein öffentliches Projekt. Also runter von der Öffentlichkeit. Aber das ist privat. Also schätze ich, dass mich dazu auffordert, zu
sagen ,
Hey, ,
Hey,stellen Sie sicher, dass beide von ihnen das gleiche Maß an Sichtbarkeit von Kurs in einer
Organisation haben . Aus dem Sitzen Ihres Codes Wahrscheinlich war es nicht wahrscheinlich, dass Ihr Kabel nicht
öffentlich sein würde und sollte nicht sein . In Ordnung, was? Ich werde das nur von privat zu öffentlich wechseln, damit ich ein Versprechen
bekommen kann . Ich habe gerade auf Projekteinstellungen geklickt, die die Projektdetails aufbrachten, und ich habe alles
von privat zu öffentlich eingeschaltet , damit ich fortfahren kann, damit ich das einfach ausziehen kann. Ich habe gerade das Wechselgeld gemacht. Ich kann die Warnung auf DSO abnehmen Ich werde voran gehen und SB Net dot Net Core auswählen und das wird zu schaffen, was wir y Mellor gmo Datei nennen. Wenn Sie sich die Akte ansehen, bemerken Sie, dass Sie
einen BCE haben, und dann haben Sie, wie, Strich um einige. Es ist im Grunde eine schöne saubere Konfigurationsdatei. Es ist sehr beliebt. Sie benutzen sie im Arzt. Es ist schwer für mich, das Layout nicht beschreiben zu können, aber es ist ein wirklich sauberes Layout auf. Wenn Sie nur darauf achten, können
Sie sehen, dass es bestimmte Dinge in bestimmten Schritten tut. Also möchte ich noch einen Schritt dazu hinzufügen. Wir sind am Ende all diese Aufgaben, und Sie können weitere Aufgaben hinzufügen. Sie können weitere Schritte hinzufügen, wenn Sie möchten, denn wenn Sie wie Komponententests zuvor tun, können
Sie den Build genehmigen, als Sie in einem Schritt hinzufügen möchten, um sicherzustellen, dass dies geschieht
usw. Aber ich möchte eine Aufgabe hinzufügen, bei der ich ihr sage, dass sie auf Artefakten veröffentlicht werden soll. Ich habe gerade gesagt, Dash Aufgabe Doppelpunkt veröffentlichen Artefakte bei Zeichen eins erstellen. Alles klar, das
heißt im Grunde, dass
ich, nachdem Sie einen erfolgreichen Build gemacht haben, möchte, dass Sie dies veröffentlichen, unser Paket mit diesem neuen Builder und allen veröffentlichten Dateien zusammenstellen, damit das erspart mir die Mühe. Gehen Sie zurück zu Visual Studio auf, Sie dann mit der rechten Maustaste und klicken, veröffentlichen und platzieren Sie es irgendwo. Und das und das und das Zentrum. Richtig? Also gehe ich einfach auf die Zehe. Los, Andi, retten und rennen. Dies sagte eine glatte speichern und laufen auf. Dann wird es mir nur eine Commit-Nachricht geben. Und ich kann einfach sagen, sehen, Anbieter auf, noch
einmal, eine vergebliche erstellen Sie die Pipeline. Und wenn das erst einmal läuft,
siehst du, dass du weitermachen und den Job beenden kannst. Dann sehen Sie die Eingabeaufforderung der Schule, damit wir uns hinsetzen und die Zeit beobachten können, und Sie sehen das
ganze Gericht kommen. Aber in der Zwischenzeit , werde
ich den Dampf austauschen,weil ich nicht mag, dass der weiße jemanden das auf
das dunkle Feld umstellt . Alles klar, das ist einfach. So gehen Sie einfach zu dem kleinen ihn hier mit der Ausrüstung auf Sie Thema auswählen, und dann können Sie das dunkle Thema wechseln. In Ordnung. Also können wir das ein paar geben, sehen
Sie, also gibt es Ihnen alle Schritte, die durchlaufen werden. Es wird den neuen Befehl get ausführen, alles los. Die Binärdateien sind die Pakete, die in Ihrem Projekt auf dem Weg zu einem Build enthalten waren Führen Sie die Komponententests aus und veröffentlichen Sie dann die Artefakte, so dass wir es nur ein paar geben, um zu beenden. Wir werden einen schönen Indikator bekommen, sobald wir einen erfolgreichen Build haben. Wenn also etwas im Gericht kaputt wäre, wäre dieser Schritt nicht passiert, Ordnung, also wären wir immer noch nicht abgeschlossen. Also das nächste, also das ist das gebaute, wissen
Sie, was ich tun möchte, ist, einen Release-Spire Platz einzurichten. Ich gehe rüber zu Veröffentlichungen. Und dann ging ich zu sehen, dass ich eine neue Pipeline will. Dann werden
sie mir von hier aus ein paar Vorlagen geben, damit sie sehen, welche Art von Vorlage Sie wollen. Möchten Sie die Up-Service-Bereitstellungen? Das bedeutet, dass Sie Ihren Akkord einchecken, sie machen den Build, und dann werden sie nur so bereitgestellt, wie Sie automatisch sind. Oder möchten Sie die I s Website und SQL-Datenbank Bereitstellungen in dieser Situation? Das ist der, an dem wir interessiert sind. Denn denken Sie daran, wir wollen, dass die Veröffentlichung von unserem Projektarchiv auf unsere tatsächliche VM mit unserer
Datenbank auf die erfüllen sollte , ich bin jemand, der auf diese klicken und dann klicken, anwenden, und dann haben wir einige Konfigurationen, die wir tun müssen. Sie zeigen dir nur,
dass das Artefakt ist. Denken Sie daran, dass wir nur einen Schritt in die Zehe legen, Artefakte
veröffentlichen, oder? Und dann ist das unsere Dies sind die Etappen. Ordnung, also werde ich zuerst auf Artefakt klicken, dann kann ich wählen, ein Artefakt basierend auf einem Build hinzuzufügen, oder ich kann die Anzeige basierend auf dem Projektarchiv auswählen
oder das eine Beeson-Ghetto auswählen. Wählen Sie also einfach im Repository, erhalten Sie Mittel oder alles, was eingecheckt ist. Nennen Sie es einfach ein Artefakt. Aber ich möchte nicht wirklich, dass ich will, dass der Build Toe mit irgendwelchen speziellen Konfigurationen passiert . Vielleicht, dass wir uns dann anziehen, wird das das Artefakt sein. Nur wenn es erfolgreich ist, sollte veröffentlicht werden. Ordnung, also gehe ich auf die Anzeige, damit
du mit diesem Drop Down den Namen aus der Bill-Pipeline sehen solltest. Basierend auf dem, den wir gerade erstellt haben. Wir haben gerade eine Pipeline mit dem Build erstellt, und das ist dieser Name dort. Dann können wir weiter auf Klampe gehen, so dass Sie hier die von jeder Person veröffentlichten Artefakte für
die Bereitstellung in Release-Pipelines sehen können . Der letzte erfolgreiche Build wurde
veröffentlicht und die folgenden Artefakte veröffentlicht. Alles klar, damit ich einfach weitermachen kann. Also haben wir wenigstens ein Artefakt. Sie können auch Stadio sagen,
Siehe, Siehe, Sie können einen Release-Trigger planen, um zu sagen, dass ich nur gehen, um es zu ermöglichen dass jedes Mal in diesen Zeiten, Zehe Release einen neuen Build oder Release ein neues Artefakt für Potential. Lassen Sie sie frei. Also gehe ich nicht zu irgendeinem schrägen? Nein, wir machen es manuell. Nein, aber ich zeige nur, wie du es als nächstes automatisieren kannst. Die Bühne wäre, ähm weißt du, du kannst dir 80. Sie können Produktion
zäh haben , usw. Das ist also, was Bühne wirklich bedeutet. Sie können viele Stufen hinzufügen, um das zu sagen. Okay, wenn das Artefakt freigelassen wird, dann ist es durchgegangen. Wir können uns von dieser Umgebung bewegen. Diese Umgebung etcetera. Im Moment mache ich nur einen. Also bewegen wir uns nur vom Build-Tool, der Bereitstellung auf dem Server, und dann müssen wir etwas darauf achten. Also werde ich nur diese eine VM-Bereitstellung nennen. In Ordnung, das ist
also ein Bühnenname auf der Bühne. Ich werde Sie einfach durch jedes dieser Felder führen und erklären, warum wir sie
brauchen oder nicht . Nein, diese Pipeline ermöglicht es Ihnen, die I s Website von Grund auf neu zu bauen. Also gingen wir einfach durch. All diese Schritte gingen ein, wir bauen die Website, wir bauen unseren Anwendungspool. Wir haben unsere Datenbank und alles eingerichtet. sind sie diese Schritte eher viel uns Zehe automatisieren alle ab, dass jetzt das meiste davon getan wird Jemand tatsächlich nicht die meisten dieser Schritte brauchen. Richtig? Also die Konfigurationszeit, die ich gesehen habe, können Sie, dass sie gehen, um zu sehen, erstellen Sie unser Opiat, Also habe ich es bereits erstellt. Also werde ich nur auf Start klicken, weil ich keine Änderungen vornehmen möchte. Erstellen sind geöffnet. Es bedeutet, dass, wenn es nicht existiert, es
offensichtlich
erstellen , oder ich werde neue Einstellungen dort einfügen, also ändern Sie sie. Aber ich wollte nur anfangen. Ich will nichts ändern. Das ist da. Der Website-Name war verlassen Management. In Ordnung. Das war der Name, den wir für Unruhe geben. Ich bin dran, dann können wir angeben, wo wir wollen. Unsere Datenbanken sind Rucksack. Also haben sie dieses Ding namens Park richtig, was ist, wie eine schnelle Bereitstellung. Geben Sie an, wie Sie die DB bereitstellen möchten. Wir können das Pop unser SQL-Skript verwenden. Also werde ich einfach weitermachen und es als den Park weiterlassen. Setzen Sie in den Datenbanknamen, die Unterstrich Management verlassen. In Ordnung. So verzweifelt. Vor denen, wenn Sie benennen war eine Schule, sagt mein und einer ohne Unterstrich mit nur vorsichtig sein, dass Sie die
richtigen Namen setzen , die richtigen Orte. Also für jeden Abschnitt, werden
wir sehen, ob wir brauchen, wissen
Sie, mehr Details zu
setzen. Wenn ich also nur die Bereitstellung mag, um mehr Details zu sehen, ist
mehr Aufmerksamkeit erforderlich, um über eine Bereitstellungsgruppe zu sprechen. Also habe ich keine Bereitstellungsgruppen. Ich denke, ich werde eine erstellen müssen, damit ich zu dem Jahr gehen kann, dann wird dieser Bereitstellungsgruppenabschnitt in diesem Abschnitt zeigen, dass wir keine
Gruppen haben,
also ist Gruppen haben, die Bereitstellungsgruppe im Grunde und hier ist es
ist. Es definiert eine logische Gruppe von Zielcomputern für Bereitstellungen. In Ordnung, so dass Sie mit einem Release auf mehreren Computern bereitstellen können. Es ist nur eine Angelegenheit, die Bereitstellungsgruppe zu deaktivieren, so dass wir keinen einzigen Computer haben. Es versteht eine Bereitstellungsgruppe. Ich werde diesen einen Betrug auf dem Golfplatz locker nennen. Also bin ich nicht hier, um Ihnen über Ihre Release-Pipeline beizubringen und die Besonderheiten dort in Ich zeige Ihnen
nur, wie Sie eine grundlegende Pipeline regeln, und dann werden Ihre Geschäftsregeln regeln regeln welche Umgebung es zuerst bekommt, richtig? Also, das nächste, was ich weiß, ist, dass sie gut sehen werden, um die
Kommunikation zwischen dieser fließenden Anwendung und der Maschine zu erleichtern , auf der die Bereitstellung
stattfinden wird , die unser Server wäre. Wir müssen dieses Skript ausführen. Es ist also ein Powershell-Skript. Falls Sie noch nie von Porsche gehört haben, ist es
das, was es schon ist. Vielleicht haben Sie schon von erreichbaren Ort gehört. So sieht es aus. Du musst das nicht wirklich verstehen. Ich hoffe, es Ihnen wirklich zu erklären, aber ich werde nur ein persönliches Zugriffstoken im Skript für die Authentifizierung verwenden. Und dann ging ich, um dieses Skript zu kopieren. Und dann ist es von einem Administrator laufen sehen. Portia-Kommando trompete. Also noch einmal, diese Kopie Descript. Dann springen wir zu unserem Server auf dann auf dem Server. Ich muss meine Power Shell-Fenster hochbringen. Auf jedem Server, unserem Windows sieben Aufwärtscomputer sollte Portia darauf haben. Der Schlüssel ist, dass Sie mit der rechten Maustaste auf Haben Sie als Administrator ausführen sehen. Sobald Sie in sind, gehen
Sie Fuß Fuß basierend auf dem Skript und drücken Sie die Eingabetaste auf. Dann wird es eine Null-Agenten bereitstellen, die das Verzeichnis c ausstellen und dann Izzy sehen. Agent Andi, geben Sie ihm etwas Zeit. Nach einer Weile werden
Sie diese Aufforderung aktivieren. Ich denke, ich habe ein paar Mal zu viele eingeben gedrückt, aber dann ist es nur, ähm ja, also wird es Ihnen diese paar Zeilen geben, und dann registriert es einen Agenten, der sich mit dem Server verbindet und dann Bereitstellungsgruppen-Gespräche für Agenten. Ich werde nur sehen, warum für ja, oh, na ja, na ja, du singst in sie, also muss ich wirklich nicht,
aber verstehe,um aber verstehe, eine Waffen-Datenbank
zu sehen, die in Ordnung ist. Komma trennen sie auf. Ich suche in dem Direktor, in dem der Agent erstellt wird oder alle unterstützenden Fakten bereitgestellt
werden. Dann heißt es, Geben Sie Benutzerkegel für den Service percenter für Anti-Autoritäts-Systeme. Denken Sie daran. Das ist ein sehr leistungsfähiger Benutzer. Ich werde nur diesen Benutzer verwenden, damit alles, was passieren muss, auf
Berechtigungen passieren kann , unter Nein gewährt wird, unser Agent ist sitzen. Oh, wenn
ich den Zeh Null zurückgehe, kann
ich rüber zur Zielwanne gehen. Ich würde wissen, dass die Maschine aufgelistet ist und das sind die Schlepper, nach denen sie gefragt haben. Also waren sie wirklich optional, aber hey, Ordnung, also wenn ich die Maschine sehe, kann
ich mich sicher fühlen, dass dieser Schritt erledigt ist. Also werde ich nach Plan zu meiner Veröffentlichung zurückkehren, und dann kann ich diese Bereitstellungsgruppe einfach aktualisieren, und sehen Sie, ich arbeite mit mehreren Registerkarten, weil ich nicht gerne anhalten und zurückgehen und so weiter. Als ich runterging, sehe
ich Prod, das ist gut. Also, nein, ich habe meine Bereitstellungsgruppe und diese Ära verschwindet. Ich werde nach innen schauen, dieses hier ist eigenartig, weil es wirklich
nichts gibt , um Ihre alles zu ändern, was es genommen wurde. Antic alle Augen. Also bedeutet jede Verzerrung, wenn Sie dies überprüfen, wenn Sie es in Stil auf den Maschinen wollen. Wenn es ein allererster Einsatz war, war
er nicht auf der Maschine. Ich schätze, du überprüfst es. Wir brauchen es nicht, weil ich Eis schon da ist. Alles ist bereits eingerichtet. Dann gehen wir zur SQL-Bereitstellung auf. Dann wählen wir wieder Prag aus, denn das ist unsere Zielmaschine. Hier ist also eine Situation, in der sich die Datenbank auf einem anderen Computer befindet
, eine andere Zielmaschine oder eine Bereitstellungsgruppe einrichten müsste. Dies wäre wahrscheinlich wie stolze Web gegen Produkt BB Rechte. Aber dann sind sie beide auf der gleichen Maschine. Also verwende ich nur die gleiche Bereitstellungsgruppe auf. Alles wird auf die gleiche Weise aussehen Wenn ich mich in die db Deploy durchbohrt habe, werden
wir Teoh haben,
umeinige
Details auf dem Server zu liefern ,
um . Also denken Sie daran, dass unser Server oder mein Server dieser lokale Host ist, aber seine SQL Express-Box Schrägstrich sorry SQL zurück Slash sq Express. Richtig, Also die gleiche Art von Diener und da Sie in der Verbindungszeichenfolge setzen. Sie müssen sicherstellen, dass Sie auf dieselben Daten abzielen. Bienen, Authentifizierung. Wir können als Windows-Authentifizierung basierend auf Halt verlassen. Wir haben es vorher auf DSO bereitgestellt. Was ich also zeige, ist eine Richtlinie. Ich kenne deine Situation nicht wirklich, aber wenigstens gebe ich eine Vorstellung davon, was es möglich ist. Also, wenn wir das getan haben und wir alle roten Linien entfernt haben, zumindest in diesem Abschnitt, dann können wir klicken, speichern auf sterben, Genau wie Okay, müssen Sie das
nicht ändern. Alles klar, was ich tun werde, ist eine manuelle Freigabe auszulösen, richtig? Nein. Richtig. Also kann ich das einfach tun und ich kann einfach klicken, Release
erstellen. Also werde ich nur Zeh, nehmen Sie eine mentale Notiz von all den Dateien, die derzeit in der verlassen Management Fuller auf die Zeitstempel, um zu sehen, ob vielleicht irgendwelche von ihnen. Ich habe mich nach der Veröffentlichung geändert, aber ich werde weitergehen und es kommt einfach aus der virtuellen Maschine heraus, erstellen Veröffentlichung auf, dann können wir das zur Seite sehen. Sie bestätigen nur, dass
es ein Veum-Einsatz ist. Wir können das Artefakt auswählen und wir können nicht einmal eine Release-Beschreibung einfügen. Weißt du, nur um zu sagen, dass das wirklich dieses Moor
usw. spricht . Wir gehen weiter und klicken, erstellen, und dann sehen Sie, dass der Job begonnen hat, so dass ich auf Release klicken kann. Dann bringt es mir den Schirm. Das wird mir zeigen, dass sie so nett waren. Sie versuchen Ihnen zu zeigen, dass sie einige Verbesserungen vorgenommen haben, aber das muss ich nicht sehen. Dann werden sie mir zeigen, dass ich diesen Build manuell ausgelöst habe. Dies ist das Artefakt auf dann kann ich Deploy behandeln. Dann, wenn ich das mache, denke
ich, bereitstellen. Also sage ich, dass ich möchte, dass Sie die VM bereitstellen, damit ich auf diese Bereitstellung klicken kann, dann auf das spielbare,
noch auf diesen Halbkreis klicken kann. Dann wird es mich zu einem Bildschirm bringen, der mir den Fortschritt bei der Bereitstellung zeigt. Dann ist das richtig gemacht? Also dauerte es 38 Sekunden noch in dieser Veröffentlichung. Jetzt lassen Sie mich zurück zu meiner virtuellen Maschine auf Schauen Sie zurück in der Falte über die Dateien auf, während alles scheint da zu sein, ziemlich in Ordnung ist. Nein, ich werde einen greifbaren CI machen. Und so gehe ich zu Fuß, vielleicht ändern Sie den Anmeldebildschirm, um ein Login hier zu sehen. So etwas wie das. Ähm, auf. Dann werden wir sehen, wie wir es in der Build-Version überprüfen und dann nach dem Opiat suchen. Alles klar, so sehr kleine Veränderung. Und ich tue das nur, um Sake zu
zeigen. Sie müssen wahrscheinlich nicht all das tun, aber ich werde nur Fuß gehen, gehen Sie weiter und begehen Sie diesen Änderungstest für die Veröffentlichung. Das ist alles, was ich als Notiz mache. Dann werde ich alle Onda Sink auf dso begehen, wenn ich über das Ghetto gehe, wie Ihr entwickelt, ich sehe, dass es in dem Prozess ist, einen Build zu machen. Ordnung, InOrdnung,
also habe ich gerade etwas eingecheckt
und es macht bereits eine Rechnung, weil es festgestellt hat, dass etwas, was du passiert, nicht aufstand. Es ist also kein Gebäude, um sicherzustellen, dass alle vorgenommenen Änderungen in Ordnung waren. Ich kann die beiden Änderungen anzeigen, nur um sicherzustellen, dass es richtig gebaut wird, so dass es
für die Veröffentlichung testen wird . Also hat es das Wechselgeld Andi bekommen. Es macht nur seine Arbeit automatisch, oder? So können wir immer auf Job klicken, um den Fortschritt auf zu sehen. Wir geben das irgendwann an. Sobald dieser Build abgeschlossen ist, sehen
wir, dass wir ein neues Artefakt haben. Wenn ich also mit den Releases gehe, kann
ich eine manuelle Freigabe auslösen. Wenn ich Andi will, sehe ich hier. Das ist etwas gescheitert. Ich frage mich, ob das meine vorherige Veröffentlichung war. Das Feld. Okay, also wenn ich hineingehe, sehe
ich, dass sich der SQL-Bereitstellungsteil so anfühlt, dass wir wahrscheinlich ein bisschen mehr
Arbeit tun müssten , als nur die Bereitstellung des Quadrats so. Oder vielleicht müssen wir keinen Rucksack,
sondern auf SQL-Skript verwenden . So oder so, lassen Sie uns auf das Webpart konzentrieren, um zu wissen, dass wir herausfinden können, die sq auseinander. Also möchte ich zurück zu den Veröffentlichungen gehen. Ordnung, das ist
also die Sache mit der Einstellung der Pipeline. Sie können zunächst technisch fließen, aber wenn Sie es automatisiert haben, ist
es nicht etwas, das Sie jeden Tag tun müssen. In Ordnung, also werde ich eine neue Version erstellen. Nein, Noch
einmal, wenn ich die Pipeline editiere, wenn ich die Release-Pipeline auf Guy los und steady lit beendet. Dann kann ich einen Release-Trigger in die Bereitstellung einplanen. Richtig. Das bedeutet, dass ich eine nächtliche Veröffentlichung machen kann oder keine frühe Veröffentlichung, was auch immer es ist. Aber im Moment mache ich es manuell, weil ich nicht in einer Produktionssitzung bin. Ich muss keinen Zeitplan setzen. In Ordnung, also mache ich, dass ich die Veröffentlichung erstelle und dann gehe ich voran und drücke Erstellen an“, dann wird es mit der Veröffentlichung beginnen. Also denke ich, es wird sich wieder auf dem Datenbankbein fühlen. Aber lassen Sie uns zumindest validiert, dass das Web Leg erfolgreich durchgeführt wurde. Also, indem ich gehe und ich sehe, dass es getan hat, ist
der I Spire Prozess der erste Teil von Augen Veränderungen. Es macht die eigentliche Bereitstellung. Nein, in Ordnung. Und ich bin auf sie hier, zu
sehen, dass es sich anfühlt, zu implementieren, weil es die Datei Automobil nicht ändern kann. Dll Es ist von einem Prozess gesperrt. Also etwas unterbrach diese Version auf dem Server auf. Ich werde wahrscheinlich nur gehen müssen, um sicherzustellen, dass es die ganze Veröffentlichung, die ganze Ressource ist unsere kostenlose für die Freigabe Toe passieren. Alles klar, in Ordnung. Also ging ich auf den Server und ich habe gerade das Web oder Websites neu gestartet. Ich habe gerade darauf geklickt und in einem Neustart auch ein Recycling an einem Pool angepasst. Dann werde ich es noch mal versuchen, okay? So manchmal Releases fühlen sich, weil aus diesen Dingen. Also, ja, Sie alle zu treffen seine. Aber dann können Sie immer wissen,, dieser Fehler ist fast, ich garantiere, an einigen Punkten, jemand einfach voran zu gehen und eine andere Version zu erstellen. Also muss ich bisher Field Releases. Ich werde nur weitermachen, eine weitere
erstellen, dann siehst du, es ist im Gange. Wir klicken. Es ist nur noch, schau es dir an. Gehen Sie weiter, dann lassen Sie uns sehen, ob die Ressource freigegeben wurde. Alles klar, und da gehen wir. Wir haben eine erfolgreiche Freigabe auf Anleihe. Nun, dieses Mal ist es einfach gelungen. Es gibt keinen Fehler. Also, wenn ich zurück zu den Veröffentlichungen gehe, dann geht
es immer noch durch eine andere Phase. So gibt es Feld auf den SQL-Bereitstellungen, dass ich, da das Klettern auf dem SQL-Bereitstellungsfeld gut war, waren Sie wissen, dass man Feld haben könnte, aber gehen wir zurück zu unserem Server auf, um zu sehen, ob wir irgendwelche großen Unterschiede erkennen können. Alles klar, und da gehen wir. Also alles, was es war, halten, erinnerst du dich? Sagte, würde die Anmeldung hier ändern. Also habe ich diese Veränderung gemacht. Ich habe es in Ghetto Esel überprüft. Ihre Entwickler haben automatisch einen Build durchgeführt, der validiert werden muss. Wieder einmal sind
diese Schritte sehr einfach,
aber Sie können weitere Validierungen hinzufügen, Build
lehren, vor allem, wenn Sie ein Senior Entwickler sind und Sie mehr Qualitätskontrolle über das, was geht in die Umwelt. Aber auf der grundlegenden Ebene hat es nicht darauf gebaut, hielt das Artefakt auf. Dann haben wir die Veröffentlichung aufgestellt. Also noch einmal, wenn Sie das automatisieren wollten, weil das ein sehr manueller Prozess war, der zur
Freigabe gehen musste, dann Release erstellen und dann gestartet wurde, können
wir es die Pipeline. Also, das geht zu Veröffentlichungen und sie sagen, bearbeiten auf. Dann können wir einen Zeitplan machen, wo wir sagen jeden Tag um vielleicht 3 Uhr morgens. Sie tun eso Sie sehen nur steady Releases, wenn die Quelle oder Pipeline geändert hat. Das bedeutet also eins. Jemand checkt in der Schnur und es hat den Build auf es passiert ist erfolgreich und so weiter. Artefakt, sobald es anders ist als das, was erhält, dann automatisch Tür lösen. Mein Ziel war es heute, Ihnen zu zeigen, wie Sie zwischen der Prüfung vor Gericht und der Freigabe
in Ihre Umgebung starten und automatisieren können.
70. Überprüfung veröffentlichen: Ihr Jungs. Dies ist nur ein Übersichtsvideo für diesen Abschnitt. Also in diesem Abschnitt haben wir uns die ganze Zehe Veröffentlichung unserer abwesenden haben wir uns angesehen Nun, zwei, vielleicht drei Szenarien. Basierend darauf, wie Sie das erste Szenario wahrnehmen, in dem wir Toe veröffentlichen, ich s Andi fragte ich wäre auf Ihrem lokalen Computer. Er könnte sich auf einer Maschine auf dem Server befinden, oder es könnte sich um eine virtuelle Maschine in der Garderobe handeln. Ein Punkt ist, dass es ah, Windows-Maschine läuft die Informationen, Internet-Informationsdienste-Anwendung oder Augen für kurz auf Loch. Wir können über die Einstellung der Umgebung für die Punktnetzkernanwendung gehen, die
dort gehostet werden soll . Andi, weiter zugänglich. Wir haben uns mit Berechtigungsproblemen befasst, die sowohl für die Dateiausführung oder
Anwendungsausführung als auch für die Datenbankkonnektivität auftreten können. Onda, wir haben uns alle angesehen, um nur einen Server kleine Dinge zu konfigurieren, um nach Andi zu suchen, wissen
Sie, Tipps
zur Fehlerbehebung. Wir haben auch untersucht, wie wir Boote ausbringen können, wie Sie sind, so sahen wir die Gefahr, nur zu implementieren, weil es die Datenbank erstellt. Die Verbindungszeichenfolge war in Ordnung. Alles war in Ordnung, aber keine Tabellen wurden erstellt, also hatten wir zwei Möglichkeiten, die wir entweder versuchen konnten, eine SQL ein Skript zu bekommen, das
die Migrationen und dann Trend darstellt . Tun Sie sie manuell auf dem Cloud-Server oder, ähm, wir greifen darauf
zurück, einen benutzerdefinierten Code für die Suche der gesamten Umgebungsvariablen bei der Auswahl der Verbindungszeichenfolge, die zu diesem Zeitpunkt verwendet werden soll, sowie einschließlich dieser Zeile, die alle Migrationen automatisch weiterleiten würde. Alles klar, das Endergebnis dieses Abschnitts ist, dass Sie wissen,
dass sie
von einer Quelle über Praktikant haben das Endergebnis dieses Abschnitts ist, dass Sie wissen,
dass sie
von einer Quelle über Praktikant haben. Hat Version Ihrer Anwendung auf Sie haben auch eine Cloud-gehostete Version der Anwendung . Ich überwintere beide Szenarien, weil man für Ihren Kontext praktisch sein muss. Gleich dran, Def. Es gibt einen anderen Kontext, den Sie haben. Dann wissen Sie, Sie können sich frei fühlen, mich zu erreichen und lassen Sie mich wissen, am Tag, an dem ich mein Bestes versuchen werde, Ihnen
durch daszu helfen durch das