דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. שינוי מחלקה חיצונית c#

שינוי מחלקה חיצונית c#

מתוזמן נעוץ נעול הועבר תכנות
16 פוסטים 5 כותבים 499 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • chagoldC מנותק
    chagoldC מנותק
    chagold
    כתב ב נערך לאחרונה על ידי chagold
    #1

    (כהמשך לאשכול הזה)
    אני מנסה לגשת לווקומרס באמצעות api מתוך קליינט c#.

    אני צריך ליצור הזמנה חדשה.
    הקוד שיש בדוגמא שם - לצורך יצירת מוצר חדש, עובד מצויין.

     //Add new product
     Product p = new Product()
                 {
                     name = "test product 8",
                      description = "test product 8",
                      price = 8.0M
                  };
     await wc.Product.Add(p);
    

    כששיניתי אותו לצורך יצירת הזמנה חדשה (לפי התיעוד כאן) באמצעות הקוד דלהלן

    Order p = new Order()
            {
                payment_method = "bacs",
                payment_method_title = "Direct Bank Transfer",
                set_paid = true,
            };
    await wc.Order.Add(p);
    

    הוא ג"כ יוצר את ההזמנה. רק, שבשונה מיצירת מוצר שיש רק רמה אחת בשליחת הפרמטרים, ביצירת הזמנה יש 2 רמות. ולא הצלחתי להזין את הפרמטרים.

    אז ניסיתי את הקוד דלהלן אבל הוא נותן לי שגיאה

         Order p = new Order()
         {
               payment_method = "bacs",
               payment_method_title = "Direct Bank Transfer",
               set_paid = true,
               billing = { first_name = "John" }
         };
    await wc.Order.Add(p);
    

    1ea50ccb-c75e-4450-966e-b84b82950e14-image.png
    אם טעיתי במערך, אז יותר פשוט.
    ואם לא, והבעיה היא במחלקה, אז האם יש אפשרות / כדאי לשנות אותה ע"מ שתקבל את הערכים הללו?

    תודה.

    תגובה 1 תגובה אחרונה
    0
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #2

      השורה הזו

      billing = { first_name = "John" }
      

      היא לא תקפה בC#, לאובייקט חדש חייבים לציין new ולאחמ"כ את סוגו (אם לא שזה אנונימי וזה לא המקרה) ורק אחרי זה הסוגריים של האתחול מאפיינים.
      תוכל לשאול מנין לך איזה סוג מצפה המאפיין biliing לקבל? הו זה מאוד קל. ראשית תוך כדי ההשלמה אוטומטית יש בחלונית צפה על חבר את הפרטים עליו, שנית אחרי הקשת שווה אחרי המאפיין וכתיבת new ההשלמה אוטומטית תשלים לך את הטיפוס הנדרש.
      במקרה שלך בדקתי עבורך ומדובר ב OrderBilling, ככה:

      billing = new OrderBilling { first_name = "John" }
      

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      chagoldC תגובה 1 תגובה אחרונה
      2
      • chagoldC מנותק
        chagoldC מנותק
        chagold
        השיב לdovid ב נערך לאחרונה על ידי
        #3

        איך אני מזין אובייקטים במערך בתוך האובייקט,
        ז"א בשורת האייטמס

        שאמור להיפתח לי אובייקט של OrderLineitems ולמעשה נפתח לי רק אובייקט של הOrderLineItem
        ואני לא מצליח לשרשר בפנים את כל המוצרים.
        ad8c5b75-bed6-49a8-af57-83b07b21058f-image.png

        תגובה 1 תגובה אחרונה
        0
        • Y מנותק
          Y מנותק
          yits
          כתב ב נערך לאחרונה על ידי yits
          #4

          תנסה ככה

          line_items = [
          new OrderLineItem() {product_id = 93, quantity = 2},
          new OrderLineItem() {product_id = 94, quantity = 1}
          ]
          

          לקניה והנחות ב KSP כנסו מכאן.
          למוצרים עם הנחה מכאן.

          chagoldC תגובה 1 תגובה אחרונה
          0
          • chagoldC מנותק
            chagoldC מנותק
            chagold
            השיב לyits ב נערך לאחרונה על ידי
            #5

            @yits הוא לא מקבל סוגריים מרובעות
            d83d8e06-d6ed-47f9-a4a6-957fd6e30da9-image.png

            yossizY תגובה 1 תגובה אחרונה
            0
            • yossizY מנותק
              yossizY מנותק
              yossiz
              השיב לchagold ב נערך לאחרונה על ידי
              #6

              @chagold ככה:

              OrderLineItem[] line_items = new OrderLineItem[]
                          {
                              new OrderLineItem {id=23 },
                              new OrderLineItem {id=45, name="name" } 
                          };
              

              📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

              תגובה 1 תגובה אחרונה
              1
              • chagoldC מנותק
                chagoldC מנותק
                chagold
                כתב ב נערך לאחרונה על ידי chagold
                #7

                eb6ffcc5-ece6-42ee-b1a4-633ae361d27f-image.png

                yossizY תגובה 1 תגובה אחרונה
                0
                • yossizY מנותק
                  yossizY מנותק
                  yossiz
                  השיב לchagold ב נערך לאחרונה על ידי
                  #8

                  @chagold שמת אותו סתם ככה באמצע. ב-C# הכל מחולך ל-statements. כל statement חייב להסתיים ב-';'. מכיון שלא סיימת את הקודם, א"א להתחיל חדש.

                  📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                  תגובה 1 תגובה אחרונה
                  1
                  • chagoldC מנותק
                    chagoldC מנותק
                    chagold
                    כתב ב נערך לאחרונה על ידי chagold
                    #9

                    כרגע שמתי אותו בנפרד (בשורה 33), כמו שפירשתי את מה ש@yossiz כתב לי , כדי שזה יוכל לעמוד.

                    אבל הוא צריך להיכנס כאחד האיברים באיזשהו צורה, אז איך אני מוסיף אותו אח"כ לתוך הרשימה (אחרי שורה 70), צריך להיכנס לאיבר ששמו line_items?
                    f40557e4-a42f-40b4-8394-cdd4d1331e34-image.png

                    yossizY תגובה 1 תגובה אחרונה
                    0
                    • yossizY מנותק
                      yossizY מנותק
                      yossiz
                      השיב לchagold ב נערך לאחרונה על ידי yossiz
                      #10

                      @chagold אה, עכשיו אני מבין מה אתה עושה...
                      אז תכניס אותו היכן שהכנסת מקודם אבל בלי המילה הראשונה.
                      ככה:

                      line_items = new OrderLineItem[]
                                  {
                                      new OrderLineItem {id=23 },
                                      new OrderLineItem {id=45, name="name" } 
                                  },
                      
                      

                      עריכה: גם בלי ה-; בסוף.

                      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                      תגובה 1 תגובה אחרונה
                      2
                      • chagoldC מנותק
                        chagoldC מנותק
                        chagold
                        כתב ב נערך לאחרונה על ידי
                        #11

                        43ddb50d-3206-4cc7-9770-797dfe8e4921-image.png

                        תגובה 1 תגובה אחרונה
                        0
                        • chagoldC מנותק
                          chagoldC מנותק
                          chagold
                          כתב ב נערך לאחרונה על ידי
                          #12

                          מצאתי.

                           line_items = {
                           
                                              new OrderLineItem {product_id=23 ,quantity=v},
                           
                                              new OrderLineItem {product_id = 22, name="name" ,quantity = 1}
                           
                                           }
                          
                          תגובה 1 תגובה אחרונה
                          0
                          • dovidD מנותק
                            dovidD מנותק
                            dovid ניהול
                            כתב ב נערך לאחרונה על ידי
                            #13

                            @chagold הקוד שלך בודאי לא טוב. אין כזה דבר להתחיל {} שלא אחרי יצירת אובייקט חדש.

                            @yossiz צדק, אלא שהטעת אותו בסוג הטיפוס. אם אתה כותב שווה אחרי הline_items , ואחרי new ההשלמה אוטומטית אמורה להציע לך טיפוס שונה לגמרי:

                            List<OrderLineItem>
                            

                            בקיצור כותבים ככה:

                            line_items = new List<OrderLineItem>
                            {
                            	new OrderLineItem {product_id=23 ,quantity=1},
                            	new OrderLineItem {product_id = 22, name="name" ,quantity = 1}
                            }
                            

                            זה מאוד נועז מה שאתה עושה - אתה לומד תחביר של שפה "תוך כדי נסיעה". מעניין איך תתחבר לזה בסוף.

                            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                            בכל נושא אפשר ליצור קשר dovid@tchumim.com

                            י תגובה 1 תגובה אחרונה
                            5
                            • י מנותק
                              י מנותק
                              יוסף בן שמעון
                              השיב לdovid ב נערך לאחרונה על ידי
                              #14

                              @dovid אמר בשינוי מחלקה חיצונית c#:

                              זה מאוד נועז מה שאתה עושה - אתה לומד תחביר של שפה "תוך כדי נסיעה". מעניין איך תתחבר לזה בסוף.

                              זה הכי טוב לא?

                              chagoldC תגובה 1 תגובה אחרונה
                              0
                              • chagoldC מנותק
                                chagoldC מנותק
                                chagold
                                השיב ליוסף בן שמעון ב נערך לאחרונה על ידי
                                #15

                                @יוסף-בן-שמעון אמר בשינוי מחלקה חיצונית c#:

                                @dovid אמר בשינוי מחלקה חיצונית c#:

                                זה מאוד נועז מה שאתה עושה - אתה לומד תחביר של שפה "תוך כדי נסיעה". מעניין איך תתחבר לזה בסוף.

                                זה הכי טוב לא?

                                לא יודע מה הכי טוב. יודע שתמיד עבדתי ככה.(חוץ מספר על html שקראתי לפני).

                                dovidD תגובה 1 תגובה אחרונה
                                0
                                • dovidD מנותק
                                  dovidD מנותק
                                  dovid ניהול
                                  השיב לchagold ב נערך לאחרונה על ידי
                                  #16

                                  @chagold זהו שC# זה כמו הרבה יותר מורכב מJS למשל, והדוגמאות למשל מגיטאב הם למתקדמים בלבד - קשה להסיק מזה את הסינטקס של C#.

                                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                  תגובה 1 תגובה אחרונה
                                  1

                                  בא תתחבר לדף היומי!
                                  • התחברות

                                  • אין לך חשבון עדיין? הרשמה

                                  • התחברו או הירשמו כדי לחפש.
                                  • פוסט ראשון
                                    פוסט אחרון
                                  0
                                  • דף הבית
                                  • קטגוריות
                                  • פוסטים אחרונים
                                  • משתמשים
                                  • חיפוש
                                  • חוקי הפורום