Pliki cookie pomagają nam udostępniać nasze usługi. Korzystając z tych usług, zgadzasz się na użycie plików cookie. Więcej informacji
Sz@rk API - Import zamówień wg własnego projektu C#

2013-10-05

Sz@rk Biznes posiada zintegrowany import zamówień internetowych ze sklepu Shoper oraz Click Shop. Cały proces przebiega automatycznie bez potrzeby wykonywania dodatkowych czynności oraz zgłębiania wiedzy informatycznej. Aby ułatwić proces importu zamówień z innych sklepów i źródeł (np. pliki wymiany), udostępniliśmy nową klasę w Sz@rk API. Za pomocą zintegrowanego z programem kreatora projektów oraz kodu C#, programista może wykonać dowolny projekt w celu automatyzacji procesu rejestrowania zamówień w swojej firmie. Zadanie jest stosunkowo proste, zwłaszcza że program wyposażony jest w dwa gotowe i działające przykłady. Wystarczy załadować przykładowy projekt i zmodyfikować własne źródło danych.


Obsługę projektów C# dodano w opcji Magazyn/Zamówienia Sklep:



W opcji Załaduj przykładowy projekt udostępniono prosty przykład posługiwania się klasą SiOrder, gdzie wszystkie dane podane są w wersji statycznej. Po załadowaniu wybieramy opcję Edycja bieżącego projektu i otwieramy wbudowany Sz@rk Designer.




Okno edytora z kodem projektu.


Wykonanie projektu.



Poniżej prezentujemy pełny kod C# do wykonania importu zamówienia.

namespace Szark
{
    using System;
    using System.Data;
    using System.Drawing;
    using System.Windows.Forms;
    using TGSoft.UI;
    using TGSoft.Data;
    using TGSoft.Utils;

    public partial class Form1 : DevExpress.XtraEditors.XtraForm
    {
        GridController gc1;
        
        public Form1(GridController sender)
        {
            this.InitializeComponent();
            gc1 = sender;
            simpleButton1.Click += simpleButton1_click;
        }

        public void Main()
        {
            this.ShowDialog();
        }

        private void simpleButton1_click(object sender, EventArgs e)
        {
            ISiOrderList list = gc1.Host as ISiOrderList; // Dostęp do bieżącej listy w celu 
				// odczytu aktualnego id sklepu
            SiOrder order = new SiOrder(list.Sklep.ToInt());
            
            order.Order_id = order.GetLastOrder_id() + 1; // Id zamówienia w sklepie internetowym,
				// w przykładzie odczytujemy ostatni nr z naszej bazy
            order.Status_id = 1; // Status zamówinia
            order.Payment_id = 1; // Sposób zapłaty
            order.Shipping_id = 2; // Sposób dostawy
            order.Brutto = 1662;
            order.VAT = 262;
            order.Total = 1672; // Łączna kwota do zapłaty z kosztami dostawy 
            order.Shipping_cost = 10; // Koszt dostawy
            order.Date = DateTime.Now; // Data zamówienia
            order.Email = "info@tgsoft.pl";
            
            // Adres płatnika
            order.Ba_company = "TGSoft";
            order.Ba_firstname = "Tadeusz";
            order.Ba_lastname = "Gołębiowski";
            order.Ba_city = "Kraków";
            order.Ba_postcode = "30-389";
            order.Ba_street1 = "Pod Dębami 3";
            order.Ba_tax_id = "735-101-06-48";
            order.Ba_phone = "12 2645215";
            order.Notes = "Test zamówienia Sz@rk API";
            
            //Adres dostawy
            order.Da_firstname = "Jan";
            order.Da_lastname = "Kowalski";
            order.Da_city = "Nowy Targ";
            order.Da_postcode = "34-400";
            order.Da_street1 = "Szaflarska 1";
            order.Da_tax_id = "000-000-00-00";
            order.Da_phone = "18 1234567";
            
            
            // 1-szy Produkt
            SiProduct product = order.NewProduct();
            product.Name = "Komputer-23"; // Nazwa 
            product.Code = "SK-001"; // Symbol
            product.Price = 1230; // Cena towaru
            product.Quantity = 1; // Ilość
            product.Tax_value = 23; // Stawka podatku VAT
            product.Unit = "SZT"; // Jednostka miary
            order.Add(product);

            // 2-gi produkt 
            product = order.NewProduct();
            product.Name = "Monitor-8";
            product.Code = "SK-002";
            product.Price = 216;
            product.Tax_value = 8;
            product.Tax = "8%";
            product.Quantity = 2;
            product.Unit = "SZT";
            product.Option = "LCD Samsung";
            product.Option2 = "21\"";
            order.Add(product);
            
            if (order.Save() != null)
            {
                gc1.LoadData();
                DialogResult = DialogResult.OK;
            }
        }
    }
}