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"); } }
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(); }