Пример #1
0
        private async void B_Customers_Click(object sender, RoutedEventArgs e)
        {
            // Getting CrudAPI
            var crudAPI = UnicontaAPIManager.GetCrudAPI();

            crudAPI.RunInTransaction = false;

            // Parsing CSV
            var customers = CSVUtils.ParseCustomers(@"C:\src\Uniconta\Technical-Training-Cases-master\TrainingData\CompanyData\Finace-Customers.csv");

            // Creating Insert List
            var newDebtorClients = new List <DebtorClient>();

            foreach (var customer in customers)
            {
                // Parsing Account Number
                var accountNumber = (int.Parse(customer.AccountNumber) + 20000).ToString();

                // TODO: Add the customer to the newDebtorClients List
            }
            ;

            // Calling insert API
            // TODO: Call the insert API to insert newDebtorClients
        }
        private async void LoadDebtors()
        {
            var crudAPI = UnicontaAPIManager.GetCrudAPI();
            var debtors = await crudAPI.Query <Debtor>();

            this.CB_Customers.ItemsSource  = debtors;
            this.CB_Customers.SelectedItem = debtors.FirstOrDefault();
        }
        private async void LoadCustomers()
        {
            var crudAPI = UnicontaAPIManager.GetCrudAPI();

            // TODO: Query for debtors in the current Company

            this.CB_Customer.ItemsSource  = debtors;
            this.CB_Customer.SelectedItem = debtors.FirstOrDefault();
        }
        private async Task RefreshCustomers()
        {
            var crudAPI   = UnicontaAPIManager.GetCrudAPI();
            var customers = await crudAPI.Query <Debtor>();

            this.selectedCustomer       = customers.FirstOrDefault();
            CustomerPicker.ItemsSource  = customers;
            CustomerPicker.SelectedItem = this.selectedCustomer;
        }
Пример #5
0
        // MenuPosition
        // 0 = General Ledger
        // 1 = Customer
        // 2 = Vendor
        // 3 = Inventory
        // 4 = Project
        // 5 = Company
        // 6 = Tools
        // 7 = None
        // 8 = CRM

        private async void Button_TrackGenres(object sender, RoutedEventArgs e)
        {
            //TODO: Change to test Company
            var company = UnicontaAPIManager.GetCompanyByName("TT-WEEK3");
            var crudAPI = UnicontaAPIManager.GetCrudAPI(company);

            // TrackGenres
            // TODO: Create a TableHeader with the TrackGenre

            // TODO: Call Insert API to insert the TrackGenere Table
        }
Пример #6
0
        private async void B_Customers_Click(object sender, RoutedEventArgs e)
        {
            // Getting CrudAPI
            var crudAPI = UnicontaAPIManager.GetCrudAPI();

            crudAPI.RunInTransaction = false;

            // Parsing CSV
            var customers = CSVUtils.ParseCustomers(@"C:\src\Uniconta\Technical-Training-Cases-master\TrainingData\CompanyData\Finace-Customers.csv");

            // Creating Insert List
            var newDebtorClients = new List <DebtorClient>();

            foreach (var customer in customers)
            {
                // Parsing Account Number
                var accountNumber = (int.Parse(customer.AccountNumber) + 20000).ToString();

                newDebtorClients.Add(new DebtorClient
                {
                    _Account  = accountNumber.ToString(),
                    _Name     = customer.AccountName,
                    _Address1 = customer.Address1,
                    _Address2 = customer.Address2,
                    _ZipCode  = customer.ZIP,
                    _Phone    = customer.Telephone
                });
            }
            ;

            // Calling insert API
            var errorCode = await crudAPI.Insert(newDebtorClients);

            if (errorCode != ErrorCodes.Succes)
            {
                MessageBox.Show($"ERROR: Failed to import customers {errorCode.ToString()}");
            }
            else
            {
                MessageBox.Show("Import Completed");
            }
        }
Пример #7
0
        private async void B_Items_Click(object sender, RoutedEventArgs e)
        {
            // Getting CrudAPI
            var crudAPI = UnicontaAPIManager.GetCrudAPI();

            crudAPI.RunInTransaction = false;

            // Parsing CSV
            var items = CSVUtils.ParseItems(@"C:\src\Uniconta\Technical-Training-Cases-master\TrainingData\CompanyData\Finace-Items.csv");

            // Creating Insert List
            var newInvItemClients = new List <InvItemClient>();

            foreach (var item in items)
            {
                // TODO: Add the item to the newInvItemClients List
            }
            ;

            // Calling insert API
            // TODO: Call the insert API to insert newInvItemClients
        }
Пример #8
0
        private async void B_Items_Click(object sender, RoutedEventArgs e)
        {
            // Getting CrudAPI
            var crudAPI = UnicontaAPIManager.GetCrudAPI();

            crudAPI.RunInTransaction = false;

            // Parsing CSV
            var items = CSVUtils.ParseItems(@"C:\src\Uniconta\Technical-Training-Cases-master\TrainingData\CompanyData\Finace-Items.csv");

            // Creating Insert List
            var newInvItemClients = new List <InvItemClient>();

            foreach (var item in items)
            {
                newInvItemClients.Add(new InvItemClient
                {
                    _Item        = item.Item,
                    _Name        = item.ItemName,
                    _SalesPrice1 = item.SalesPrice,
                    _Group       = "Grp1"
                });
            }
            ;

            // Calling insert API
            var errorCode = await crudAPI.Insert(newInvItemClients);

            if (errorCode != ErrorCodes.Succes)
            {
                MessageBox.Show($"ERROR: Failed to import items {errorCode.ToString()}");
            }
            else
            {
                MessageBox.Show("Import Completed");
            }
        }
        // MenuPosition
        // 0 = General Ledger
        // 1 = Customer
        // 2 = Vendor
        // 3 = Inventory
        // 4 = Project
        // 5 = Company
        // 6 = Tools
        // 7 = None
        // 8 = CRM

        private async void Button_TrackGenres(object sender, RoutedEventArgs e)
        {
            //TODO: Change to test Company
            var company = UnicontaAPIManager.GetCompanyByName("TT-WEEK3");
            var crudAPI = UnicontaAPIManager.GetCrudAPI(company);

            // TrackGenres
            var trackGenres = new TableHeader
            {
                // Key
                _HasPrimaryKey = true,
                _PKprompt      = "TrackGenreId",
                _AutoKey       = true,

                // Description
                _Name          = "TrackGenres",
                _Prompt        = "Track Genres",
                _MenuPosition  = 3,
                _UserDefinedId = 2050,

                // Settings
                _EditLines = true
            };

            var errorCode = await crudAPI.Insert(trackGenres);

            if (errorCode != ErrorCodes.Succes)
            {
                MessageBox.Show($"Failed to insert Track Genres {errorCode.ToString()}");
                return;
            }
            else
            {
                MessageBox.Show("Track Genres table has been created");
            }
        }
Пример #10
0
        private async void Button_Tracks(object sender, RoutedEventArgs e)
        {
            //TODO: Change to test Company
            var company = UnicontaAPIManager.GetCompanyByName("TT-WEEK3");
            var crudAPI = UnicontaAPIManager.GetCrudAPI(company);

            // Tracks
            // TODO: Create a TableHeader with the Track

            // Inserting Table
            // TODO: Call Insert API to insert the Track Table

            // Creating Fields
            var tracksFields = new List <TableField>();

            // Title
            // TODO: Create a TableField for the Title

            // Artist
            // TODO: Create a TableField for the Artist

            // Genre
            // TODO: Create a TableField for the Genre

            // Vibe
            // TODO: Create a TableField for the Vibe

            // Length
            // TODO: Create a TableField for the Length

            // LicensePaid
            // TODO: Create a TableField for the LicensePaid

            // Inserting Fields
            // TODO: Call Insert API to insert the Track Fields
        }
Пример #11
0
        private async void B_Orders_Click(object sender, RoutedEventArgs e)
        {
            // Getting CrudAPI
            var crudAPI = UnicontaAPIManager.GetCrudAPI();

            crudAPI.RunInTransaction = false;

            // Parsing CSV
            var orders = CSVUtils.ParseOrders(@"C:\src\Uniconta\Technical-Training-Cases-master\TrainingData\CompanyData\Finace-Orders.csv");

            // Creating SQLCache's
            // TODO: Create a customer (DebtorClient) SQLCache

            // TODO: Create a inventory (InvItemClient) SQLCache

            // Creating Insert List
            var newDebtorOrderClients = new List <DebtorOrderClient>();

            foreach (var order in orders)
            {
                // Parsing Account Number
                var accountNumber = (int.Parse(order.AccountNumber) + 20000).ToString();

                // Finding customer in cache
                // TODO: Use the customerCache to get the customer by accountNumber

                // TODO: Add the order to the newDebtorOrderClients List + SetMaster
            }
            ;

            // Calling insert API
            var errorCode = await crudAPI.Insert(newDebtorOrderClients);

            if (errorCode != ErrorCodes.Succes)
            {
                MessageBox.Show($"ERROR: Failed to import orders {errorCode.ToString()}");
            }

            // Creating order lines
            var newDebtorOrderLineClients = new List <DebtorOrderLineClient>();
            var inventoryList             = inventoryCache.GetRecords as InvItemClient[];

            var index = 0;

            foreach (var debtorOrder in newDebtorOrderClients)
            {
                var orderItems = orders[index].Items;
                foreach (var item in orderItems)
                {
                    var inventoryItem = inventoryList.FirstOrDefault(i => i.Name == item.ItemName);

                    // TODO: Add the item to the newDebtorOrderLineClients List + SetMaster
                }
                ;

                index++;
            }
            ;

            // Calling insert API
            // TODO: Call the insert API to insert newDebtorOrderLineClients
        }
Пример #12
0
        private async void B_Orders_Click(object sender, RoutedEventArgs e)
        {
            // Getting CrudAPI
            var crudAPI = UnicontaAPIManager.GetCrudAPI();

            crudAPI.RunInTransaction = false;

            // Parsing CSV
            var orders = CSVUtils.ParseOrders(@"C:\src\Uniconta\Technical-Training-Cases-master\TrainingData\CompanyData\Finace-Orders.csv");

            // Creating SQLCache's
            SQLCache customerCache = crudAPI.CompanyEntity.GetCache(typeof(DebtorClient));

            if (customerCache == null)
            {
                customerCache = await crudAPI.CompanyEntity.LoadCache(typeof(DebtorClient), crudAPI);
            }

            SQLCache inventoryCache = crudAPI.CompanyEntity.GetCache(typeof(InvItemClient));

            if (inventoryCache == null)
            {
                inventoryCache = await crudAPI.CompanyEntity.LoadCache(typeof(InvItemClient), crudAPI);
            }

            // Creating Insert List
            var newDebtorOrderClients = new List <DebtorOrderClient>();

            foreach (var order in orders)
            {
                // Parsing Account Number
                var accountNumber = (int.Parse(order.AccountNumber) + 20000).ToString();

                // Finding customer in cache
                var customer = customerCache.Get(accountNumber) as DebtorClient;

                var newDebtorOrderClient = new DebtorOrderClient
                {
                    _Created = order.CreatedDate
                };
                newDebtorOrderClient.SetMaster(customer);
                newDebtorOrderClients.Add(newDebtorOrderClient);
            }
            ;

            // Calling insert API
            var errorCode = await crudAPI.Insert(newDebtorOrderClients);

            if (errorCode != ErrorCodes.Succes)
            {
                MessageBox.Show($"ERROR: Failed to import orders {errorCode.ToString()}");
            }

            // Creating order lines
            var newDebtorOrderLineClients = new List <DebtorOrderLineClient>();
            var inventoryList             = inventoryCache.GetRecords as InvItemClient[];

            var index = 0;

            foreach (var debtorOrder in newDebtorOrderClients)
            {
                var orderItems = orders[index].Items;
                foreach (var item in orderItems)
                {
                    var inventoryItem = inventoryList.FirstOrDefault(i => i.Name == item.ItemName);

                    var orderLine = new DebtorOrderLineClient
                    {
                        _Item  = inventoryItem.Item,
                        _Qty   = 1,
                        _Price = inventoryItem.SalesPrice1
                    };
                    orderLine.SetMaster(debtorOrder);
                    newDebtorOrderLineClients.Add(orderLine);
                }
                ;

                index++;
            }
            ;

            // Calling insert API
            var errorCode2 = await crudAPI.Insert(newDebtorOrderLineClients);

            if (errorCode2 != ErrorCodes.Succes)
            {
                MessageBox.Show($"ERROR: Failed to import order lines {errorCode2.ToString()}");
            }
            else
            {
                MessageBox.Show("Import Completed");
            }
        }
        private async void Button_Tracks(object sender, RoutedEventArgs e)
        {
            //TODO: Change to test Company
            var company = UnicontaAPIManager.GetCompanyByName("TT-WEEK3");
            var crudAPI = UnicontaAPIManager.GetCrudAPI(company);


            // Tracks
            var tracks = new TableHeader
            {
                // Key
                _HasPrimaryKey = true,
                _PKprompt      = "TrackId",
                _AutoKey       = true,

                // Description
                _Name          = "Tracks",
                _Prompt        = "Tracks",
                _MenuPosition  = 3,
                _UserDefinedId = 2051,

                // Settings
                _EditLines = true
            };

            // Inserting Table
            var errorCode = await crudAPI.Insert(tracks);

            if (errorCode != ErrorCodes.Succes)
            {
                MessageBox.Show($"Failed to insert Tracks {errorCode.ToString()}");
                return;
            }
            else
            {
                MessageBox.Show("Tracks table has been created");
            }

            // Creating Fields
            var tracksFields = new List <TableField>();

            // Title
            var trackTitle = new TableField
            {
                _Name      = "Title",
                _Prompt    = "Title",
                _FieldType = CustomTypeCode.String
            };

            trackTitle.SetMaster(tracks);
            tracksFields.Add(trackTitle);

            // Artist
            var trackArtist = new TableField
            {
                _Name      = "Artist",
                _Prompt    = "Artist",
                _FieldType = CustomTypeCode.String
            };

            trackArtist.SetMaster(tracks);
            tracksFields.Add(trackArtist);

            // Genre
            var trackGenre = new TableField
            {
                _Name      = "Genre",
                _Prompt    = "Genre",
                _FieldType = CustomTypeCode.String,
                _RefTable  = "TrackGenres"
            };

            trackGenre.SetMaster(tracks);
            tracksFields.Add(trackGenre);

            // Vibe
            var trackVibe = new TableField
            {
                _Name      = "Vibe",
                _Prompt    = "Vibe",
                _FieldType = CustomTypeCode.Enum,
                _Format    = "Dance;Up-beat;Soft;Slow;"
            };

            trackVibe.SetMaster(tracks);
            tracksFields.Add(trackVibe);

            // Length
            var trackLength = new TableField
            {
                _Name      = "Length",
                _Prompt    = "Length",
                _FieldType = CustomTypeCode.Integer,
            };

            trackLength.SetMaster(tracks);
            tracksFields.Add(trackLength);

            // LicensePaid
            var trackLicensePaid = new TableField
            {
                _Name      = "LicensePaid",
                _Prompt    = "License Paid",
                _FieldType = CustomTypeCode.Boolean,
            };

            trackLicensePaid.SetMaster(tracks);
            tracksFields.Add(trackLicensePaid);

            // Inserting Fields
            var fieldsErrorCode = await crudAPI.Insert(tracksFields);

            if (fieldsErrorCode != ErrorCodes.Succes)
            {
                MessageBox.Show($"Failed to insert Tracks {errorCode.ToString()}");
                return;
            }
            else
            {
                MessageBox.Show("Tracks table has been created");
            }
        }