private async Task SaveDepth() { SQLExecute sqlexec = new SQLExecute(); await sqlexec.SqlInsertDepth(Properties.Settings.Default.DBName, depths); depths.Clear(); }
private async Task SaveKilometer() { SQLExecute sqlexec = new SQLExecute(); await sqlexec.SqlInsertKilometer(Properties.Settings.Default.DBName, kilometers); kilometers.Clear(); }
private async Task SaveShift() { SQLExecute sqlexec = new SQLExecute(); await sqlexec.SqlInsertShift(Properties.Settings.Default.DBName, shifts); shifts.Clear(); }
private async Task FillCombosRun() { DateTime todayyo = DateTime.Today; string none = "none"; SQLExecute sqlexec = new SQLExecute(); taxi = await sqlexec.SQLGetTaxi(Properties.Settings.Default.DBName, 0, none, 0, none, none, none, 0, none, none, 0, todayyo, none, true); owner.Clear(); owner.Clear(); driver.Clear(); depthsAll.Clear(); depthsAllPaid.Clear(); person.Clear(); owner = await sqlexec.SQLGetPerson(Properties.Settings.Default.DBName, 0, none, none, none, 0, 0, none, 0, todayyo, none, 2, false); driver = await sqlexec.SQLGetPerson(Properties.Settings.Default.DBName, 0, none, none, none, 0, 0, none, 0, todayyo, none, 1, false); depthsAll = await sqlexec.SQLGetDepth(Properties.Settings.Default.DBName, 0, 0, none, todayyo, null, none, 0, none, 0, none, false); depthsAllPaid = await sqlexec.SQLGetDepth(Properties.Settings.Default.DBName, 0, 0, none, todayyo, "", none, 0, none, 0, none, false); person.AddRange(driver); person.AddRange(owner); }
private async void Loadstart() { SQLExecute sqlexec = new SQLExecute(); allTaxi.AddRange(await sqlexec.SQLGetTaxi(Properties.Settings.Default.DBName, 0, "none", 0, "none", "none", "none", 0, "none", "none", 0, DateTime.Today, "none", true)); allDrivers.AddRange(await sqlexec.SQLGetPerson(Properties.Settings.Default.DBName, 0, "none", "none", "none", 0, 0, "none", 0, DateTime.Today, "none", 1, false)); allPrimaryDriver.AddRange(await sqlexec.SQLGetPrimaryDriver(Properties.Settings.Default.DBName, 0, 0, 0, true)); }
private async Task <int> TakeLastKlm(int taxiID) { SQLExecute sqlexe = new SQLExecute(); int max = -1; List <Kilometer> kilos = await sqlexe.SQLGetKilometer(Properties.Settings.Default.DBName, 0, taxiID, 0, "none", DateTime.Today, "none", 0, "none", 0, "none", 0, false); foreach (Kilometer k in kilos) { if (k.KlmFinish > max) { max = k.KlmFinish; } } return(max); }
private async Task SaveIfPrimaryDriver(List <PrimaryDriver> primedriver) { SQLExecute sqlexec = new SQLExecute(); foreach (PrimaryDriver pr in primedriver) { List <PrimaryDriver> primedr = new List <PrimaryDriver>(); primedr = await sqlexec.SQLGetPrimaryDriver(Properties.Settings.Default.DBName, 0, pr.TaxiID, pr.PersonID, false); if (primedr.Count == 0) { List <PrimaryDriver> temp = new List <PrimaryDriver>(); temp.Add(pr); await sqlexec.SqlInsertPrimaryDriver(Properties.Settings.Default.DBName, temp); } } }
private async Task <List <Person> > GetDriverComboBox(int id) { if (id == 0) { return(allDrivers); } List <PrimaryDriver> templist = new List <PrimaryDriver>(); List <Person> tempPerson = new List <Person>(); SQLExecute sqlexec = new SQLExecute(); return(await Task.Run(() => sqlexec.SqlGetDriversForTaxi(Properties.Settings.Default.DBName, id))); //templist.AddRange( allPrimaryDriver.Where(p => p.TaxiID == id).ToList()); //foreach (PrimaryDriver pd in templist) //{ // tempPerson.AddRange(allDrivers.Where(Person => Person.PersonID == pd.PersonID).ToList()); //} //return tempPerson; }
private async void Button_Click_Save(object sender, RoutedEventArgs e) { //depthsUpdate string query = ""; if (depthsUpdate.Count == 0) { return; } foreach (Depth d in depthsUpdate) { //query += $"UPDATE Depth SET Paid = '{d.Paid}' WHERE DepthID = '{d.DepthID}'; "; query += $"UPDATE Depth SET RepaidAmount = '{d.RepaidAmount}' WHERE DepthID = '{d.DepthID}';"; if (d.Amount == d.RepaidAmount) { query += $"UPDATE Depth SET Paid = '' WHERE DepthID = '{d.DepthID}'; "; //Create Income's if (true) { } } else { query += $"UPDATE Depth SET Paid = NULL WHERE DepthID = '{d.DepthID}'; "; } } SQLExecute sqlexec = new SQLExecute(); await Task.Run(() => sqlexec.SQLCommand(Properties.Settings.Default.DBName, query)); string none = "none"; DateTime todayyo = DateTime.Today; //Create Income's depthsAll = await sqlexec.SQLGetDepth(Properties.Settings.Default.DBName, 0, 0, none, todayyo, null, none, 0, none, 0, none, false); depthsAllPaid = await sqlexec.SQLGetDepth(Properties.Settings.Default.DBName, 0, 0, none, todayyo, "", none, 0, none, 0, none, false); await refreshAll(); }
private async void ButtonSave_Click(object sender, RoutedEventArgs e) { //Create Shift Object Shift newshift = new Shift(); try { newshift.PersonID = Int32.Parse(cmbDriver.SelectedValue.ToString()); } catch { MessageBox.Show("You Must select a Driver"); return; } try { newshift.TaxiID = Int32.Parse(cmbTaxi.SelectedValue.ToString()); } catch { MessageBox.Show("You Must select a Taxi"); return; } if (!DatePicker1.Value.HasValue) { newshift.ShiftDate = DateTime.Today; } else { newshift.ShiftDate = DatePicker1.Value.Value; } if (TxtXZ.Text != "") { newshift.XZ = Convert.ToDecimal(TxtXZ.Text); } if (TxtOil.Text != "") { newshift.Oil = Convert.ToDecimal(TxtOil.Text); } if (TxtXZFpa.Text != "") { newshift.XZFPA = Convert.ToDecimal(TxtXZFpa.Text); } if (TxtOilFpa.Text != "") { newshift.OilFPA = Convert.ToDecimal(TxtOilFpa.Text); } if (TxtShift.Text != "") { newshift.ShiftPayment = Convert.ToDecimal(TxtShift.Text); } if (TxtIka.Text != "") { newshift.Insurance = Convert.ToDecimal(TxtIka.Text); } if (TxtFpa.Text != "") { newshift.FPA = Convert.ToDecimal(TxtFpa.Text); } if (TxtComment.Text != "") { newshift.Comment = TxtComment.Text; } shifts.Add(newshift); //Create kilometer object Kilometer newkilometer = new Kilometer(); if (TxtKmlFrom.Text != "") { newkilometer.KlmStart = Int32.Parse(TxtKmlFrom.Text); } if (TxtKmlTo.Text != "") { newkilometer.KlmFinish = Int32.Parse(TxtKmlTo.Text); } if (TxtKmlDifference.Text != "") { newkilometer.KlmShift = Int32.Parse(TxtKmlDifference.Text); } if (!DatePicker1.Value.HasValue) { newkilometer.ShiftDate = DateTime.Today; } else { newkilometer.ShiftDate = DatePicker1.Value.Value; } try { newkilometer.PersonID = Int32.Parse(cmbDriver.SelectedValue.ToString()); } catch { MessageBox.Show("You Must select a Driver"); return; } try { newkilometer.TaxiID = Int32.Parse(cmbTaxi.SelectedValue.ToString()); } catch { MessageBox.Show("You Must select a Taxi"); return; } kilometers.Add(newkilometer); //Create Depth object Depth newdepth = new Depth(); try { newdepth.Amount = Convert.ToDecimal(TxtAmount.Text); } catch { MessageBox.Show("The Total must be a decimal xxxx.xx "); return; } if (TxtComment.Text != "") { newdepth.Comment = TxtComment.Text; } newdepth.RepaidAmount = 0; newdepth.Paid = null; if (!DatePicker1.Value.HasValue) { newdepth.DepthDate = DateTime.Today; } else { newdepth.DepthDate = DatePicker1.Value.Value; } try { newdepth.PersonID = Int32.Parse(cmbDriver.SelectedValue.ToString()); } catch { MessageBox.Show("You Must select a Driver"); return; } try { newdepth.TaxiID = Int32.Parse(cmbTaxi.SelectedValue.ToString()); } catch { MessageBox.Show("You Must select a Taxi"); return; } List <PrimaryDriver> primedr = new List <PrimaryDriver>(); primedr.Add(new PrimaryDriver { TaxiID = Int32.Parse(cmbTaxi.SelectedValue.ToString()), PersonID = Int32.Parse(cmbDriver.SelectedValue.ToString()) }); depths.Add(newdepth); CreateDatatableStrings strings = new CreateDatatableStrings(); SQLExecute sqlexec = new SQLExecute(); await sqlexec.SQLCommand(Properties.Settings.Default.DBName, strings.FOREIGN_KEY(0)); await Task.Run(() => SaveKilometer()); await Task.Run(() => SaveShift()); await Task.Run(() => SaveDepth()); await Task.Run(() => SaveIfPrimaryDriver(primedr)); await sqlexec.SQLCommand(Properties.Settings.Default.DBName, strings.FOREIGN_KEY(1)); ClearAll(); }
private async Task CreateCompoments(int taxiID, int personID) { DynamicGrid.Children.Clear(); SQLExecute sqlexe = new SQLExecute(); string all = "all"; string none = "none"; DateTime todayyo = DateTime.Today; //CheckBoxPaid bool taxiflag = taxiID != 0; bool personflag = personID != 0; depths.Clear(); if (CheckBoxPaid.IsChecked.Value) { if (CheckBoxAll.IsChecked.Value) { depths.AddRange(depthsAllPaid); } else { if (taxiflag && personflag) { depths.AddRange(depthsAllPaid.Where(Depth => Depth.TaxiID == taxiID && Depth.PersonID == personID).ToList()); } else if (taxiflag) { depths.AddRange(depthsAllPaid.Where(Depth => Depth.TaxiID == taxiID).ToList()); } else if (personflag) { depths.AddRange(depthsAllPaid.Where(Depth => Depth.PersonID == personID).ToList()); } } } else { if (CheckBoxAll.IsChecked.Value) { depths.AddRange(depthsAll); } else { if (taxiflag && personflag) { depths.AddRange(depthsAll.Where(Depth => Depth.TaxiID == taxiID && Depth.PersonID == personID).ToList()); } else if (taxiflag) { depths.AddRange(depthsAll.Where(Depth => Depth.TaxiID == taxiID).ToList()); } else if (personflag) { depths.AddRange(depthsAll.Where(Depth => Depth.PersonID == personID).ToList()); } } } // if (!taxiflag || !driverflag || !ownerflag) depths = await Task.Run(() => sqlexe.SQLGetDepth(Properties.Settings.Default.DBName, taxiID, ownerID, driverID, none,todayyo,null,none,0,none,0,none,false)); // else if (taxiflag && driverflag && ownerflag) depths = await Task.Run(() => sqlexe.SQLGetDepth(Properties.Settings.Default.DBName, taxiID, ownerID, driverID, none, todayyo, null, none, 0, none, 0, none, true)); if (depths.Count == 0) { Viewbox viewNone = new Viewbox(); //viewNone.Stretch = Stretch.Uniform; viewNone.HorizontalAlignment = HorizontalAlignment.Center; viewNone.VerticalAlignment = VerticalAlignment.Center; viewNone.Stretch = Stretch.Uniform; DynamicGrid.Children.Add(viewNone); Grid.SetRow(viewNone, 0); Grid.SetColumn(viewNone, 0); Grid.SetColumnSpan(viewNone, 3); TextBlock newtextboxNoResults = new TextBlock(); newtextboxNoResults.Text = "No Results were found!"; newtextboxNoResults.Foreground = new SolidColorBrush(Colors.Black); newtextboxNoResults.MinWidth = 30; newtextboxNoResults.VerticalAlignment = VerticalAlignment.Center; newtextboxNoResults.HorizontalAlignment = HorizontalAlignment.Center; newtextboxNoResults.Padding = new Thickness(20); //newtextboxNoResults.Background = new SolidColorBrush(Color.FromRgb(41, 53, 65)); //viewNone.Children.Add(newtextboxNoResults); viewNone.Child = newtextboxNoResults; return; } DynamicScroll.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; DynamicScroll.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto; Border borderHeader = new Border(); DynamicGrid.Children.Add(borderHeader); Grid.SetRow(borderHeader, 0); Grid.SetColumn(borderHeader, 0); Grid.SetColumnSpan(borderHeader, 9); borderHeader.Background = new SolidColorBrush(Color.FromRgb(41, 53, 65)); //TextBlock newtextboxDepthidHeader = new TextBlock(); //newtextboxDepthidHeader.Text = "DepthID"; //newtextboxDepthidHeader.Foreground = new SolidColorBrush(Colors.WhiteSmoke); //newtextboxDepthidHeader.MinWidth = 30; //newtextboxDepthidHeader.Padding = new Thickness(0, 0, 10, 0); //DynamicGrid.Children.Add(newtextboxDepthidHeader); //Grid.SetColumn(newtextboxDepthidHeader, 0); //Grid.SetRow(newtextboxDepthidHeader, 0); TextBlock newtextboxOwnerIDHeader = new TextBlock(); newtextboxOwnerIDHeader.Text = "Borrower"; newtextboxOwnerIDHeader.Foreground = new SolidColorBrush(Colors.WhiteSmoke); newtextboxOwnerIDHeader.MinWidth = 30; newtextboxOwnerIDHeader.Padding = new Thickness(10, 0, 10, 0); newtextboxOwnerIDHeader.Background = new SolidColorBrush(Color.FromRgb(41, 53, 65)); DynamicGrid.Children.Add(newtextboxOwnerIDHeader); Grid.SetColumn(newtextboxOwnerIDHeader, 1); Grid.SetRow(newtextboxOwnerIDHeader, 0); // Taxi TextBlock newtextboxTaxiIDHeader = new TextBlock(); newtextboxTaxiIDHeader.Text = "Taxi"; newtextboxTaxiIDHeader.Foreground = new SolidColorBrush(Colors.WhiteSmoke); newtextboxTaxiIDHeader.MinWidth = 30; newtextboxTaxiIDHeader.Padding = new Thickness(10, 0, 10, 0); newtextboxTaxiIDHeader.Background = new SolidColorBrush(Color.FromRgb(41, 53, 65)); DynamicGrid.Children.Add(newtextboxTaxiIDHeader); Grid.SetColumn(newtextboxTaxiIDHeader, 2); Grid.SetRow(newtextboxTaxiIDHeader, 0); TextBlock newtextboxDepthDateHeader = new TextBlock(); newtextboxDepthDateHeader.Text = "Date"; newtextboxDepthDateHeader.Foreground = new SolidColorBrush(Colors.WhiteSmoke); newtextboxDepthDateHeader.MinWidth = 30; newtextboxDepthDateHeader.Padding = new Thickness(10, 0, 10, 0); newtextboxDepthDateHeader.Background = new SolidColorBrush(Color.FromRgb(41, 53, 65)); DynamicGrid.Children.Add(newtextboxDepthDateHeader); Grid.SetColumn(newtextboxDepthDateHeader, 3); Grid.SetRow(newtextboxDepthDateHeader, 0); TextBlock newTextAmountHeader = new TextBlock(); newTextAmountHeader.Text = "Amount"; newTextAmountHeader.Foreground = new SolidColorBrush(Colors.WhiteSmoke); newTextAmountHeader.MinWidth = 30; newTextAmountHeader.Padding = new Thickness(10, 0, 10, 0); newTextAmountHeader.Background = new SolidColorBrush(Color.FromRgb(41, 53, 65)); DynamicGrid.Children.Add(newTextAmountHeader); Grid.SetColumn(newTextAmountHeader, 4); Grid.SetRow(newTextAmountHeader, 0); TextBlock newTextRepaidAmountHeader = new TextBlock(); newTextRepaidAmountHeader.Text = "Repaid"; newTextRepaidAmountHeader.Foreground = new SolidColorBrush(Colors.WhiteSmoke); newTextRepaidAmountHeader.MinWidth = 30; newTextRepaidAmountHeader.Padding = new Thickness(10, 0, 10, 0); newTextRepaidAmountHeader.Background = new SolidColorBrush(Color.FromRgb(41, 53, 65)); DynamicGrid.Children.Add(newTextRepaidAmountHeader); Grid.SetColumn(newTextRepaidAmountHeader, 5); Grid.SetRow(newTextRepaidAmountHeader, 0); TextBlock newTextLeftHeader = new TextBlock(); newTextLeftHeader.Text = "Left"; newTextLeftHeader.Foreground = new SolidColorBrush(Colors.WhiteSmoke); newTextLeftHeader.MinWidth = 30; newTextLeftHeader.Padding = new Thickness(10, 0, 10, 0); newTextLeftHeader.Background = new SolidColorBrush(Color.FromRgb(41, 53, 65)); DynamicGrid.Children.Add(newTextLeftHeader); Grid.SetColumn(newTextLeftHeader, 6); Grid.SetRow(newTextLeftHeader, 0); CheckBox newCheckboxHeader = new CheckBox(); newCheckboxHeader.Click += new RoutedEventHandler(CheckBoxHeader_Checked); newCheckboxHeader.Padding = new Thickness(2, 1, 2, 1); newCheckboxHeader.VerticalAlignment = VerticalAlignment.Center; DynamicGrid.Children.Add(newCheckboxHeader); Grid.SetColumn(newCheckboxHeader, 7); Grid.SetRow(newCheckboxHeader, 0); TextBlock newTextPaymentHeader = new TextBlock(); newTextPaymentHeader.Text = "Payment"; newTextPaymentHeader.Foreground = new SolidColorBrush(Colors.WhiteSmoke); newTextPaymentHeader.MinWidth = 30; newTextPaymentHeader.Padding = new Thickness(10, 0, 10, 0); newTextPaymentHeader.Background = new SolidColorBrush(Color.FromRgb(41, 53, 65)); DynamicGrid.Children.Add(newTextPaymentHeader); Grid.SetColumn(newTextPaymentHeader, 8); Grid.SetRow(newTextPaymentHeader, 0); DynamicGrid.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto }); //flag = row number Border borderHeader2 = new Border(); DynamicGrid.Children.Add(borderHeader2); Grid.SetRow(borderHeader2, 1); Grid.SetColumn(borderHeader2, 0); Grid.SetColumnSpan(borderHeader2, 9); borderHeader2.Background = new SolidColorBrush(Color.FromRgb(134, 136, 137)); // <Header/> int flag = 2; foreach (Depth newDepth in depths) { DynamicGrid.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto }); //flag = row number Border border = new Border(); DynamicGrid.Children.Add(border); Grid.SetRow(border, flag); Grid.SetColumn(border, 0); Grid.SetColumnSpan(border, 9); border.Padding = new Thickness(4); if (flag % 2 == 1) { border.Background = new SolidColorBrush(Color.FromRgb(200, 202, 206)); } if (flag % 2 == 0) { border.Background = new SolidColorBrush(Color.FromRgb(233, 244, 210)); } string nameID = newDepth.DepthID.ToString(); //TextBlock newtextboxDepthid = new TextBlock(); //newtextboxDepthid.Text = newDepth.DepthID.ToString(); //newtextboxDepthid.MinWidth = 30; //newtextboxDepthid.Margin = new Thickness(10, 0, 10, 0); //DynamicGrid.Children.Add(newtextboxDepthid); //Grid.SetColumn(newtextboxDepthid, 0); //Grid.SetRow(newtextboxDepthid, flag); //Owner // List<Owner> newOwner = await Task.Run(() => sqlexe.SQLGetOwner(Properties.Settings.Default.DBName, tempOwnerID,"none", "none", "none",0,0, "none",0,DateTime.Today, "none",false)); List <Person> newPerson = new List <Person>(); newPerson.AddRange(owner.Where(Person => Person.PersonID == newDepth.PersonID)); newPerson.AddRange(driver.Where(Person => Person.PersonID == newDepth.PersonID)); TextBlock newtextboxPersonID = new TextBlock(); foreach (Person oq in newPerson) { newtextboxPersonID.Text = oq.FullName; } newtextboxPersonID.MinWidth = 30; newtextboxPersonID.Margin = new Thickness(10, 0, 10, 0); DynamicGrid.Children.Add(newtextboxPersonID); Grid.SetColumn(newtextboxPersonID, 1); Grid.SetRow(newtextboxPersonID, flag); // Taxi if (newDepth.TaxiID != 0) { //List<Taxi> newTaxi = await Task.Run(() => sqlexe.SQLGetTaxi(Properties.Settings.Default.DBName, tempTaxiID,"none",0m, "none", "none", "none",0, "none", "none",0,DateTime.Today, "none",false)); var newTaxi = taxi.Where(Taxi => Taxi.TaxiID == newDepth.TaxiID); TextBlock newtextboxTaxiID = new TextBlock(); foreach (Taxi tx in newTaxi) { newtextboxTaxiID.Text = tx.LicensePlate; } newtextboxTaxiID.MinWidth = 30; newtextboxTaxiID.Margin = new Thickness(10, 0, 10, 0); DynamicGrid.Children.Add(newtextboxTaxiID); Grid.SetColumn(newtextboxTaxiID, 2); Grid.SetRow(newtextboxTaxiID, flag); } string tempdate = newDepth.DepthDate.ToString(); TextBlock newtextboxDepthDate = new TextBlock(); newtextboxDepthDate.Text = tempdate.Substring(0, tempdate.Length - 9); newtextboxDepthDate.MinWidth = 30; newtextboxDepthDate.Margin = new Thickness(10, 0, 10, 0); DynamicGrid.Children.Add(newtextboxDepthDate); Grid.SetColumn(newtextboxDepthDate, 3); Grid.SetRow(newtextboxDepthDate, flag); TextBlock newTextAmount = new TextBlock(); newTextAmount.Text = newDepth.Amount.ToString(); newTextAmount.MinWidth = 30; newTextAmount.Margin = new Thickness(10, 0, 10, 0); DynamicGrid.Children.Add(newTextAmount); Grid.SetColumn(newTextAmount, 4); Grid.SetRow(newTextAmount, flag); TextBlock newTextRepaidAmount = new TextBlock(); newTextRepaidAmount.Text = newDepth.RepaidAmount.ToString(); newTextRepaidAmount.MinWidth = 30; newTextRepaidAmount.Margin = new Thickness(10, 0, 10, 0); DynamicGrid.Children.Add(newTextRepaidAmount); Grid.SetColumn(newTextRepaidAmount, 5); Grid.SetRow(newTextRepaidAmount, flag); TextBlock newTextLeftt = new TextBlock(); newTextLeftt.Text = (double.Parse(newTextAmount.Text) - double.Parse(newTextRepaidAmount.Text)).ToString(); newTextLeftt.MinWidth = 30; newTextLeftt.Margin = new Thickness(10, 0, 10, 0); DynamicGrid.Children.Add(newTextLeftt); Grid.SetColumn(newTextLeftt, 6); Grid.SetRow(newTextLeftt, flag); CheckBox newCheckbox = new CheckBox(); newCheckbox.Name = "Check" + nameID; if (newDepth.Paid == "") { newCheckbox.IsChecked = true; } newCheckbox.Checked += CheckBox_Checked; newCheckbox.Unchecked += CheckBox_Unchecked; DynamicGrid.Children.Add(newCheckbox); newCheckbox.Padding = new Thickness(2, 1, 2, 1); newCheckbox.VerticalAlignment = VerticalAlignment.Center; Grid.SetColumn(newCheckbox, 7); Grid.SetRow(newCheckbox, flag); TextBox newTextPayment = new TextBox(); newTextPayment.Name = "TextB" + nameID; newTextPayment.LostFocus += TextBox_Changed; newTextPayment.MinWidth = 30; newTextPayment.TextAlignment = TextAlignment.Center; newTextPayment.Margin = new Thickness(10, 1, 10, 1); DynamicGrid.Children.Add(newTextPayment); Grid.SetColumn(newTextPayment, 8); Grid.SetRow(newTextPayment, flag); flag++; } }
private async void Button_Click_Save(object sender, RoutedEventArgs e) { _busyIndicator.IsBusy = true; // check if it is time to save decimal sum = GetSum(); // sum = all in decimalUpDown decimal totaldepth = GetTotalDepth(); // TotalDepth = all depth remain bool askedOnce = false; //This never happens //vazi arnitika if (sum < TotalPaid && sum != totaldepth) { MessageBoxResult result = Xceed.Wpf.Toolkit.MessageBox.Show($"Περισσεύουν {TotalPaid - sum } ευρώ που δεν έχουν τοποθετηθεί σε κάποιο χρέος. Θέλετε να τα τοποθετήσετε στο αποθεματικό παρόλο που υπάρχουν ανοιχτοί λογαριασμοί;", "ΠΡΟΣΟΧΗ", MessageBoxButton.YesNo); // if (result == MessageBoxResult.Yes) reserveNEW += TotalPaid - sum; if (result == MessageBoxResult.No) { _busyIndicator.IsBusy = false; return; } } if (comentbox.Text == "") { MessageBoxResult result = Xceed.Wpf.Toolkit.MessageBox.Show($"Δεν έχετε συμπληρώσει κάποιο σχόλιο, Θέλετε να δημιουργηθεί αυτόματα;", "ΠΡΟΣΟΧΗ", MessageBoxButton.YesNoCancel, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) { CreateComment(); askedOnce = true; //ask to add to comment } else if (result == MessageBoxResult.Cancel) { _busyIndicator.IsBusy = false; return; } else if (result == MessageBoxResult.No) { askedOnce = true; } } if (!askedOnce) { MessageBoxResult result = Xceed.Wpf.Toolkit.MessageBox.Show($"Είστε σίγουροι ότι θέλετε να κάνετε αποθήκευση των αλλαγών;", "ΠΡΟΣΟΧΗ", MessageBoxButton.YesNo, MessageBoxImage.Information); if (result == MessageBoxResult.No) { return; } } SQLExecute sqlexec = new SQLExecute(); //start string query = ""; foreach (Depth d in depths) { int tempID = d.DepthID; string stDif = "D" + tempID; string stPaid = "P" + tempID; string stCheck = "C" + tempID; string stRepaid = "R" + tempID; TextBlock repaid = (TextBlock)DynamicGrid.FindName(stRepaid); DecimalUpDown paid = (DecimalUpDown)DynamicGrid.FindName(stPaid); TextBlock dif = (TextBlock)DynamicGrid.FindName(stDif); CheckBox check = (CheckBox)DynamicGrid.FindName(stCheck); if (paid.Value != 0.0m) { query += $"UPDATE Depth SET RepaidAmount = '{paid.Value + decimal.Parse(repaid.Text)}' WHERE DepthID = '{tempID}';"; if (dif.Text == paid.Value.ToString()) { query += $"UPDATE Depth SET Paid = '' WHERE DepthID = '{tempID}'; "; } else { query += $"UPDATE Depth SET Paid = NULL WHERE DepthID = '{d.DepthID}'; "; } } } //if ( reserveNEW+ reserveOLD!= Currentperson.Reserve) decimal reserveNEW = reserveOLD + (TotalPaid - sum); query += $"UPDATE Person SET Reserve = {reserveNEW} WHERE PersonID = '{Currentperson.PersonID}'; "; /* * if (sum != TotalPaid) * { * decimal reserveNEW = 0.0m; * * * if (sum < TotalPaid) reserveNEW = reserveOLD + (TotalPaid - sum); * if (sum > TotalPaid) reserveNEW = reserveOLD - (sum - TotalPaid); * * decimal test = reserveOLD + (TotalPaid - sum); * * query += $"UPDATE Person SET Reserve = {reserveNEW} WHERE PersonID = '{Currentperson.PersonID}'; "; * * //string temp = comentbox.Text; * //decimal difRes = reserveNEW + reserveOLD - Currentperson.Reserve; * //if(difRes > 0) * //{ * // temp += $" / Πρόσθετο αποθεματικό : {difRes}. "; * // comentbox.Text = temp; * //} * } */ List <Income> IncomeList = new List <Income>(); IncomeList.Add(new Income { PersonID = (int)ComboBoxDepthPerson.SelectedValue, Amount = TotalPaid, Comment = comentbox.Text, Date = DatePicker1.Value ?? DateTime.Today, TypeIncomeID = 1 }); await Task.Run(() => sqlexec.SqlInsertIncome(Properties.Settings.Default.DBName, IncomeList)); await Task.Run(() => sqlexec.SQLCommand(Properties.Settings.Default.DBName, query)); int tempindex = ComboBoxDepthPerson.SelectedIndex; FillCombos(1); ResetData(); await refreshAll(); _busyIndicator.IsBusy = false; ComboBoxDepthPerson.SelectedIndex = tempindex; //DrawInfos(); }
private async Task CreateCompoments(int personID) { EventHandler = false; foreach (string s in RegisteredNames) { UnregisterName(s); } RegisteredNames.Clear(); DynamicGrid.Children.Clear(); if (personID == -1) { EventHandler = true; return; } SQLExecute sqlexe = new SQLExecute(); string all = "all"; string none = "none"; DateTime todayyo = DateTime.Today; depths.Clear(); if (personID == 0) { depths.AddRange(depthsAll.OrderBy(o => o.DepthDate).ToList());//reserveNEW = 0.0m; } depths.AddRange(depthsAll.Where(Depth => Depth.PersonID == personID).ToList().OrderBy(o => o.DepthDate).ToList()); if (depths.Count == 0) { Viewbox viewNone = new Viewbox(); //viewNone.Stretch = Stretch.Uniform; viewNone.HorizontalAlignment = HorizontalAlignment.Center; viewNone.VerticalAlignment = VerticalAlignment.Center; viewNone.Stretch = Stretch.Uniform; DynamicGrid.Children.Add(viewNone); Grid.SetRow(viewNone, 0); Grid.SetColumn(viewNone, 0); Grid.SetColumnSpan(viewNone, 3); TextBlock newtextboxNoResults = new TextBlock(); newtextboxNoResults.Text = "No Results were found!"; newtextboxNoResults.Foreground = new SolidColorBrush(Colors.Black); newtextboxNoResults.MinWidth = 30; newtextboxNoResults.VerticalAlignment = VerticalAlignment.Center; newtextboxNoResults.HorizontalAlignment = HorizontalAlignment.Center; newtextboxNoResults.Padding = new Thickness(20); //newtextboxNoResults.Background = new SolidColorBrush(Color.FromRgb(41, 53, 65)); //viewNone.Children.Add(newtextboxNoResults); viewNone.Child = newtextboxNoResults; EventHandler = true; return; } //DynamicScroll.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; //DynamicScroll.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto; Border borderHeader = new Border(); DynamicGrid.Children.Add(borderHeader); Grid.SetRow(borderHeader, 0); Grid.SetColumn(borderHeader, 0); Grid.SetColumnSpan(borderHeader, 9); borderHeader.Background = new SolidColorBrush(Color.FromRgb(41, 53, 65)); //TextBlock newtextboxDepthidHeader = new TextBlock(); //newtextboxDepthidHeader.Text = "DepthID"; //newtextboxDepthidHeader.Foreground = new SolidColorBrush(Colors.WhiteSmoke); //newtextboxDepthidHeader.MinWidth = 30; //newtextboxDepthidHeader.Padding = new Thickness(0, 0, 10, 0); //DynamicGrid.Children.Add(newtextboxDepthidHeader); //Grid.SetColumn(newtextboxDepthidHeader, 0); //Grid.SetRow(newtextboxDepthidHeader, 0); TextBlock newtextboxOwnerIDHeader = new TextBlock(); newtextboxOwnerIDHeader.Text = "Borrower"; newtextboxOwnerIDHeader.Foreground = new SolidColorBrush(Colors.WhiteSmoke); newtextboxOwnerIDHeader.MinWidth = 30; newtextboxOwnerIDHeader.Padding = new Thickness(10, 0, 10, 0); newtextboxOwnerIDHeader.Background = new SolidColorBrush(Color.FromRgb(41, 53, 65)); DynamicGrid.Children.Add(newtextboxOwnerIDHeader); Grid.SetColumn(newtextboxOwnerIDHeader, 1); Grid.SetRow(newtextboxOwnerIDHeader, 0); // Taxi TextBlock newtextboxTaxiIDHeader = new TextBlock(); newtextboxTaxiIDHeader.Text = "Taxi"; newtextboxTaxiIDHeader.Foreground = new SolidColorBrush(Colors.WhiteSmoke); newtextboxTaxiIDHeader.MinWidth = 30; newtextboxTaxiIDHeader.Padding = new Thickness(10, 0, 10, 0); newtextboxTaxiIDHeader.Background = new SolidColorBrush(Color.FromRgb(41, 53, 65)); DynamicGrid.Children.Add(newtextboxTaxiIDHeader); Grid.SetColumn(newtextboxTaxiIDHeader, 2); Grid.SetRow(newtextboxTaxiIDHeader, 0); TextBlock newtextboxDepthDateHeader = new TextBlock(); newtextboxDepthDateHeader.Text = "Date"; newtextboxDepthDateHeader.Foreground = new SolidColorBrush(Colors.WhiteSmoke); newtextboxDepthDateHeader.MinWidth = 30; newtextboxDepthDateHeader.Padding = new Thickness(10, 0, 10, 0); newtextboxDepthDateHeader.Background = new SolidColorBrush(Color.FromRgb(41, 53, 65)); DynamicGrid.Children.Add(newtextboxDepthDateHeader); Grid.SetColumn(newtextboxDepthDateHeader, 3); Grid.SetRow(newtextboxDepthDateHeader, 0); TextBlock newTextAmountHeader = new TextBlock(); newTextAmountHeader.Text = "Amount"; newTextAmountHeader.Foreground = new SolidColorBrush(Colors.WhiteSmoke); newTextAmountHeader.MinWidth = 30; newTextAmountHeader.Padding = new Thickness(10, 0, 10, 0); newTextAmountHeader.Background = new SolidColorBrush(Color.FromRgb(41, 53, 65)); DynamicGrid.Children.Add(newTextAmountHeader); Grid.SetColumn(newTextAmountHeader, 4); Grid.SetRow(newTextAmountHeader, 0); TextBlock newTextRepaidAmountHeader = new TextBlock(); newTextRepaidAmountHeader.Text = "Repaid"; newTextRepaidAmountHeader.Foreground = new SolidColorBrush(Colors.WhiteSmoke); newTextRepaidAmountHeader.MinWidth = 30; newTextRepaidAmountHeader.Padding = new Thickness(10, 0, 10, 0); newTextRepaidAmountHeader.Background = new SolidColorBrush(Color.FromRgb(41, 53, 65)); DynamicGrid.Children.Add(newTextRepaidAmountHeader); Grid.SetColumn(newTextRepaidAmountHeader, 5); Grid.SetRow(newTextRepaidAmountHeader, 0); TextBlock newTextLeftHeader = new TextBlock(); newTextLeftHeader.Text = "Left"; newTextLeftHeader.Foreground = new SolidColorBrush(Colors.WhiteSmoke); newTextLeftHeader.MinWidth = 30; newTextLeftHeader.Padding = new Thickness(10, 0, 10, 0); newTextLeftHeader.Background = new SolidColorBrush(Color.FromRgb(41, 53, 65)); DynamicGrid.Children.Add(newTextLeftHeader); Grid.SetColumn(newTextLeftHeader, 6); Grid.SetRow(newTextLeftHeader, 0); CheckBox newCheckboxHeader = new CheckBox(); newCheckboxHeader.Click += new RoutedEventHandler(CheckBoxHeader_Checked); newCheckboxHeader.Name = "AllChecks"; RegisterName(newCheckboxHeader.Name, newCheckboxHeader); RegisteredNames.Add(newCheckboxHeader.Name); newCheckboxHeader.Padding = new Thickness(2, 1, 2, 1); newCheckboxHeader.VerticalAlignment = VerticalAlignment.Center; DynamicGrid.Children.Add(newCheckboxHeader); Grid.SetColumn(newCheckboxHeader, 7); Grid.SetRow(newCheckboxHeader, 0); TextBlock newTextPaymentHeader = new TextBlock(); newTextPaymentHeader.Text = "Payment"; newTextPaymentHeader.Foreground = new SolidColorBrush(Colors.WhiteSmoke); newTextPaymentHeader.MinWidth = 30; newTextPaymentHeader.Padding = new Thickness(10, 0, 10, 0); newTextPaymentHeader.Background = new SolidColorBrush(Color.FromRgb(41, 53, 65)); DynamicGrid.Children.Add(newTextPaymentHeader); Grid.SetColumn(newTextPaymentHeader, 8); Grid.SetRow(newTextPaymentHeader, 0); DynamicGrid.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto }); //flag = row number Border borderHeader2 = new Border(); DynamicGrid.Children.Add(borderHeader2); Grid.SetRow(borderHeader2, 1); Grid.SetColumn(borderHeader2, 0); Grid.SetColumnSpan(borderHeader2, 9); borderHeader2.Background = new SolidColorBrush(Color.FromRgb(134, 136, 137)); // <Header/> int flag = 2; foreach (Depth newDepth in depths) { DynamicGrid.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto }); //flag = row number string nameID = newDepth.DepthID.ToString(); Border border = new Border(); DynamicGrid.Children.Add(border); Grid.SetRow(border, flag); Grid.SetColumn(border, 0); Grid.SetColumnSpan(border, 9); //border.Padding = new Thickness(4); //if (flag % 2 == 1) border.Background = new SolidColorBrush(Color.FromRgb(200, 202, 206)); //if (flag % 2 == 0) border.Background = new SolidColorBrush(Color.FromRgb(233, 244, 210)); if (flag % 2 == 1) { border.Background = new SolidColorBrush(Color.FromRgb(128, 0, 0)); border.Background.Opacity = 0.5; border.Name = "Bor128" + nameID; RegisterName(border.Name, border); RegisteredNames.Add(border.Name); } if (flag % 2 == 0) { border.Background = new SolidColorBrush(Color.FromRgb(204, 0, 0)); border.Background.Opacity = 0.5; border.Name = "Bor204" + nameID; RegisterName(border.Name, border); RegisteredNames.Add(border.Name); } //TextBlock newtextboxDepthid = new TextBlock(); //newtextboxDepthid.Text = newDepth.DepthID.ToString(); //newtextboxDepthid.MinWidth = 30; //newtextboxDepthid.Margin = new Thickness(10, 0, 10, 0); //DynamicGrid.Children.Add(newtextboxDepthid); //Grid.SetColumn(newtextboxDepthid, 0); //Grid.SetRow(newtextboxDepthid, flag); //Owner // List<Owner> newOwner = await Task.Run(() => sqlexe.SQLGetOwner(Properties.Settings.Default.DBName, tempOwnerID,"none", "none", "none",0,0, "none",0,DateTime.Today, "none",false)); List <Person> newPerson = new List <Person>(); newPerson.AddRange(owner.Where(Person => Person.PersonID == newDepth.PersonID)); newPerson.AddRange(driver.Where(Person => Person.PersonID == newDepth.PersonID)); TextBlock newtextboxPersonID = new TextBlock(); foreach (Person oq in newPerson) { newtextboxPersonID.Text = oq.FullName; } newtextboxPersonID.MinWidth = 30; newtextboxPersonID.Margin = new Thickness(10, 0, 10, 0); DynamicGrid.Children.Add(newtextboxPersonID); Grid.SetColumn(newtextboxPersonID, 1); Grid.SetRow(newtextboxPersonID, flag); // Taxi if (newDepth.TaxiID != 0) { //List<Taxi> newTaxi = await Task.Run(() => sqlexe.SQLGetTaxi(Properties.Settings.Default.DBName, tempTaxiID,"none",0m, "none", "none", "none",0, "none", "none",0,DateTime.Today, "none",false)); var newTaxi = taxi.Where(Taxi => Taxi.TaxiID == newDepth.TaxiID); TextBlock newtextboxTaxiID = new TextBlock(); foreach (Taxi tx in newTaxi) { newtextboxTaxiID.Text = tx.LicensePlate; } newtextboxTaxiID.MinWidth = 30; newtextboxTaxiID.Margin = new Thickness(10, 0, 10, 0); DynamicGrid.Children.Add(newtextboxTaxiID); Grid.SetColumn(newtextboxTaxiID, 2); Grid.SetRow(newtextboxTaxiID, flag); } string tempdate = newDepth.DepthDate.ToString(); TextBlock newtextboxDepthDate = new TextBlock(); newtextboxDepthDate.Text = tempdate.Substring(0, tempdate.Length - 9); newtextboxDepthDate.MinWidth = 30; newtextboxDepthDate.Margin = new Thickness(10, 0, 10, 0); DynamicGrid.Children.Add(newtextboxDepthDate); Grid.SetColumn(newtextboxDepthDate, 3); Grid.SetRow(newtextboxDepthDate, flag); TextBlock newTextAmount = new TextBlock(); newTextAmount.Text = newDepth.Amount.ToString(); newTextAmount.MinWidth = 30; newTextAmount.Margin = new Thickness(10, 0, 10, 0); DynamicGrid.Children.Add(newTextAmount); Grid.SetColumn(newTextAmount, 4); Grid.SetRow(newTextAmount, flag); TextBlock newTextRepaidAmount = new TextBlock(); newTextRepaidAmount.Text = newDepth.RepaidAmount.ToString(); newTextRepaidAmount.MinWidth = 30; newTextRepaidAmount.Name = "R" + nameID; RegisterName(newTextRepaidAmount.Name, newTextRepaidAmount); RegisteredNames.Add(newTextRepaidAmount.Name); newTextRepaidAmount.Margin = new Thickness(10, 0, 10, 0); DynamicGrid.Children.Add(newTextRepaidAmount); Grid.SetColumn(newTextRepaidAmount, 5); Grid.SetRow(newTextRepaidAmount, flag); TextBlock newTextLeftt = new TextBlock(); newTextLeftt.Text = (decimal.Parse(newTextAmount.Text) - decimal.Parse(newTextRepaidAmount.Text)).ToString(); newTextLeftt.MinWidth = 30; newTextLeftt.Name = "D" + nameID; RegisterName(newTextLeftt.Name, newTextLeftt); RegisteredNames.Add(newTextLeftt.Name); newTextLeftt.Margin = new Thickness(10, 0, 10, 0); DynamicGrid.Children.Add(newTextLeftt); Grid.SetColumn(newTextLeftt, 6); Grid.SetRow(newTextLeftt, flag); CheckBox newCheckbox = new CheckBox(); newCheckbox.Name = "C" + nameID; RegisterName(newCheckbox.Name, newCheckbox); RegisteredNames.Add(newCheckbox.Name); if (newDepth.Paid == "") { newCheckbox.IsChecked = true; } newCheckbox.Checked += CheckBox_Checked; newCheckbox.Unchecked += CheckBox_Unchecked; DynamicGrid.Children.Add(newCheckbox); newCheckbox.Padding = new Thickness(2, 1, 2, 1); newCheckbox.VerticalAlignment = VerticalAlignment.Center; Grid.SetColumn(newCheckbox, 7); Grid.SetRow(newCheckbox, flag); //TextBox newTextPayment = new TextBox(); //newTextPayment.Name = "TextB" + nameID; //newTextPayment.LostFocus += TextBox_Changed; //newTextPayment.MinWidth = 30; //newTextPayment.TextAlignment = TextAlignment.Center; //newTextPayment.Margin = new Thickness(10, 1, 10, 1); //DynamicGrid.Children.Add(newTextPayment); //Grid.SetColumn(newTextPayment, 8); //Grid.SetRow(newTextPayment, flag); DecimalUpDown newTextPayment = new DecimalUpDown(); newTextPayment.Name = "P" + nameID; RegisterName(newTextPayment.Name, newTextPayment); RegisteredNames.Add(newTextPayment.Name); newTextPayment.ClipValueToMinMax = true; newTextPayment.Minimum = 0 - newDepth.Amount - newDepth.RepaidAmount; newTextPayment.Maximum = newDepth.Amount - newDepth.RepaidAmount; newTextPayment.MinWidth = 30; newTextPayment.DefaultValue = 0.0m; newTextPayment.Increment = 0.1m; newTextPayment.ValueChanged += Decimal_Changed; //newTextPayment.TextAlignment = TextAlignment.Center; newTextPayment.Margin = new Thickness(10, 1, 10, 1); DynamicGrid.Children.Add(newTextPayment); Grid.SetColumn(newTextPayment, 8); Grid.SetRow(newTextPayment, flag); flag++; } DynamicGrid.ApplyTemplate(); EventHandler = true; }