예제 #1
0
        public async void syncSales(string docno, ObservableCollection <SalesLineTable> SalesLineTableInsert)
        {
            var salesToBeTransferred = await salesDb.GetNotTransferredSales();

            var serverDb = new ServerDatabaseService();
            var result   = await serverDb.insertSales(salesToBeTransferred);

            if (result == 1)
            {
                //continue by inserting sales lines
                var sltresult = await serverDb.insertSalesLines(SalesLineTableInsert);

                if (sltresult == 1)
                {
                    var updateresult = await salesDb.UpdateTransferred(docno);
                }
                else if (sltresult == 0)
                {
                    await dialog.Show("Insert Sales Lines to server database failed", "Insert to Server Failed");
                }
            }
            else
            {
                await dialog.Show("Insert Sales to server database failed", "Insert to Server Failed");
            }
        }
예제 #2
0
        public async Task syncSales()
        {
            var serverDb             = new ServerDatabaseService();
            var salesToBeTransferred = await salesDb.GetNotTransferredSales();

            if (salesToBeTransferred.Count() > 0)
            {
                var result = await serverDb.insertSales(salesToBeTransferred);

                if (result == 1)
                {
                    //continue by inserting sales lines
                    foreach (SalesTable x in salesToBeTransferred)
                    {
                        var saleslines = await salesLineDb.GetAllSalesLinesWhere(x.DocumentNo);

                        var sltresult = await serverDb.insertSalesLines(saleslines);

                        if (sltresult == 1)
                        {
                            var updateresult = await salesDb.UpdateTransferred(x.DocumentNo);

                            x.Transferred();
                        }

                        else if (sltresult == 0)
                        {
                            await dialog.Show("Insert Sales Lines to server database failed", "Insert to Server Failed");
                        }
                    }
                }
                else
                {
                    await dialog.Show("There is something wrong with uploading sales to the server", "Upload Failed");
                }
            }
            //get deleted data from server
            var fetchedData = await serverDb.getMySales(GlobalVars.myDetail.SalesmanId);

            if (fetchedData != null)
            {
                var mysales = await salesDb.GetAllSalesWhere(GlobalVars.myDetail.SalesmanId);

                List <SalesTable> mySalesList = new List <SalesTable>(mysales);
                var filteredData = mySalesList.Where(x => x.isTransferred == true).ToList();
                var deletedData  = filteredData.Except(fetchedData.ToList()).ToList();
                if (deletedData != null)
                {
                    if (deletedData.Count() > 0)
                    {
                        try
                        {
                            foreach (SalesTable deletedSales in deletedData)
                            {
                                await salesLineDb.DeleteSalesLineWhere(deletedSales.DocumentNo);

                                await salesDb.DeleteSales(deletedSales);
                            }
                        }
                        catch (System.Exception e)
                        {
                            await dialog.Show(e.Message, "Delete Failed");
                        }
                    }
                }
            }
            await loadSales();
        }