
partial class.InStock (Quantity גדול מ-0) ו-OutOfStock (Quantity שווה 0) עם [NotMapped]. אפשר להשתמש בהם להדפסה: ירוק לפריט במלאי ואדום לחסר, עם Console.ForegroundColor ו-Console.ResetColor.partial. הקומפיילר מאחד את כל המחלקות באותו שם לאחת, גם אם הן בקבצים נפרדים.partial באותו שם (InventoryItem), באותו namespace. הדובר מציין שאפשר להשתמש ב-partial בשני קבצים או יותר, ושלא נתקל במקרה שצריך יותר משניים.InStock ו-OutOfStock ל-Extensions, מריצים, ואז מריצים scaffolding מחדש. המודלים נדרסים, והפרויקט עדיין עובד.Brand אינו null מוסיפים את שם המותג. אותו הדבר עבור Type. בסוף מוסיפים את הכמות, או "out of stock" אם אין במלאי.Console.WriteLine(item), כי ההדפסה קוראת ל-ToString.הטקסט המלא של הדקות הראשונות בהרצאה «הרחבת מחלקת Model C# Entity Framework» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אז מה נשאר לנו לראות עדיין בנושא הקראד וסרוויסס זה פשוט אותו קוד שראינו בעבר שאנחנו יכולים לכתוב במודלים עצמם אבל יש פה משהו קצת שונה נניח שאנחנו רואים שיש לנו אינבנטורי אייטם ובהמון מקומות באפליקציה או לא חייב בהמון אבל בכל מיני מקומות באפליקציה אנחנו רוצים לדעת האם פריט מסוים או בייק מסוים שיש לנו מסוג inventory item האם יש ממנו במלאי או אין ממנו במלאי.
מה היינו עושים כאשר עבדנו בקוד פרסט טכניק היינו באים לכאן ואומרים תשמע בואו נבנה כאן עוד איזה public בוליאן in סטוק איזשהו פרופרטי נוסף שיחזיר get return האם ה-quantity גדול ב-0 זה אומר שהוא במלאי מעליו רשמנו not mapped בכדי שהמערכת בעצם לא תבנה לנו בדאטאבייס איזה משהו ממנו במידה והיינו זורקים את הכל בחזרה לדאטאבייס עם
מגריישנס ואפדי דטאבייס וכדומה זה טוב לשים פה נון מאפט נוט מאפט גם אם אני עובד בדטאבייס פרסט טכניק כי אולי בשלב מסוים אני ארצה לעבור לקוד פרסט טכניק לעשות איזה שינוי ולהגיד תשמע מעכשיו כבר יש לי דטאבייס אני עכשיו הופך להיות קוד פרסט אם אני צריך לעשות איזה משהו שינוי אז אני אעשה פה ואני אשפוך את המידע
בחזרה לדטאבייס עם כל הנושא של מגריישנס וכדומה. בואו נבנה עוד אחד אנחנו רוצים לבנות out of stock ו-out of stock זה אומר שה-quantity שווה 0. בואו אולי נשתמש עם זה רגע ואז נבין מה הבעיה מה שהייתי רוצה לעשות הייתי רוצה ללכת לכאן ואני רואה שיש לנו פה הדפסות של כל הפריטים מה שהייתי רוצה לעשות זה להגיד כזה דבר אם הפריט קיים לי במלאי אני רוצה
לצבוע אותו בירוק ואם הוא חסר במלאי, אני רוצה לצבוע אותו באדום. בואו נלך ל-console. foregroundColor, נשפיע על הצבע של הגופן, ונלך לאותו אייטם, ונשאל את השאלה האם אתה Out of Stock.
אם אתה Out of Stock, הרי זה בוליאני וכתבנו Out of Stock, אז תן לי צבע אדום, אחרת תן לי צבע ירוק. ומייד בסיום ההדפסה אנחנו רוצים לאפס את הצבע בחזרה, console.resetColor.
קודם כל בואו נריץ את הפונקציה הזאת, Display Inventory Items, נחזיר אותה, נריץ, ואנחנו אמורים לראות צבעים, ירוק, יש לנו במלאי, אנחנו רואים גם שהקוונטיטי גדול מאפס, אדום, הקוונטיטי שווה לאפס, וואלה, איזה
מגניב, הכל עובד כמו שצריך. למה אני אומר שיש פה בעיה? אז הסיבה שאני אומר שיש פה בעיה היא כי אנחנו נמצאים בפרויקט שהוא, דאטאבייס פרסט אפרואוץ', גישת דאטאבייס פרסט.
אם אנחנו לא מחליטים לגמרי שמעכשיו והלאה אנחנו עוברים לקוד פרסט ולפעמים גם אנחנו לא יודעים בדיוק אם זה הולך להיות פרויקט קוד פרסט, כי מראש התחלנו עם דאטאבייס פרסט אפרואוץ', אז אם אין את המדיניות הזאת שמעכשיו זה הופך להיות פרויקט קוד פרסט אפרואוץ', ואנחנו לא הולכים לבצע
יותר סקאפולדינג מהדאטאבייס, אז תהיה לנו בעיה. מה הבעיה? אם אנחנו חוזרים לכאן עושים איזשהו שינוי בדאטאבייס לא משנה ובאים ואומרים תשמע בוא תג'נרט לי מחדש את המודלים בואו ננקה ונעשה את זה תראו מה יקרה כל מה שעשיתי חץ למעלה החזרתי את פקודת הסקאפולדינג גו ומה הפקודה הזאת עושה הולכת לדאטאבייס ומביאה מחדש את התמונה של הדאטאבייס ומייצרת מה היא מייצרת
מודלים אז בואו ניגש עכשיו לאינבנטורי ותראו מה קרה כל הקוד שכתבנו נמחק זה לא בדיוק שהוא נמחק הוא נדרס כי פקודת הסקייה פולדינג אומרת שמע אני לא יודעת איזה קוד היה לך בגלל שאני יצרתי אותו ואיזה קוד אתה יצרת אחר כך היא לא מתעסקת עם ההבדלה הזאת אז היא דורסת לי את האינבנטורי אייטם ובונה יחד חדש דורסת את הקסטומר בונה יחד חדש
אם אנחנו הולכים עכשיו לכאן אנחנו בעצם אמורים לראות פה שגיאות. באמת, אין לי יותר out of stock, in stock, כל הדברים האלה לא קיימים. אז בואו רגע נשים את זה בהערה ונראה איך באמת נכון לטפל בזה.
אז מה שאנחנו רוצים לבצע זה כן אנחנו רוצים לכתוב את הקוד שמקודם כתבתי, ועכשיו שאני חושב על זה חבל שלא שמרתי אותו, אבל פיין, נכתוב אותו מחדש.
אבל אסור לנו לכתוב אותו בתוך המחלקות שנוצרות אוטומטית על ידי entity framework. ואם אנחנו נתבונן במחלקה הזאת אנחנו נגלה מילה מגניבה והיא נקראת פרשל.
רגע, לא הייתה לנו את המילה הזאת כשעבדנו בקוד פרסט וגם לא היינו צריכים שתהיה את המילה הזאת. פרשל זה בעצם דבר גאוני של C-Sharp ומה שהוא אומר לנו זה תשמעו אני קלאס הכל בסדר אבל מותר לכם להמשיך לכתוב את הקלאס בדיוק כזאת בקובץ CS נפרד.
העיקר שהוא גם יהיה פרשל קלאס עם אותו השם. איפה אני רוצה לבצע את התוספת הזאת? לא בתיקיית מודלס, כי לפעמים אנחנו פשוט מוחקים את כל תיקיית מודלס ויוצרים את הכל כסקאפולדינג מחדש.
אנחנו רוצים לכתוב את זה בתיקייה אחרת, אפשר