private void dgPassenger_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e) { BeaCukai cukai = new BeaCukai(); PAUPassenger passenger = e.Row.Item as PAUPassenger; if (passenger != null) { try { var existing = (from p in cukai.PAUPassenger where /*p.Name == passenger.Name && p.CDst == passenger.CDst && p.FareClass == passenger.FareClass && p.FirstName == passenger.FirstName && p.FlightNo == passenger.FlightNo && p.Gender == passenger.Gender && p.LastName == passenger.LastName && p.Nationality == passenger.Nationality && p.Passport == passenger.Passport && p.PNR == passenger.PNR && p.SeatNo == passenger.SeatNo && p.SEQNo == passenger.SEQNo && p.Notes == passenger.Notes */ p.ID == passenger.ID select p).First(); existing.Name = passenger.Name; existing.BirthDate = passenger.BirthDate; existing.CDst = passenger.CDst; existing.Date = passenger.Date; existing.FareClass = passenger.FareClass; existing.FirstName = passenger.FirstName; existing.FlightDate = passenger.FlightDate; existing.FlightNo = passenger.FlightNo; existing.Gender = passenger.Gender; existing.LastName = passenger.LastName; existing.Nationality = passenger.Nationality; existing.Passport = passenger.Passport; existing.PNR = passenger.PNR; existing.SeatNo = passenger.SeatNo; existing.SEQNo = passenger.SEQNo; existing.Notes = passenger.Notes; existing.Picture = passenger.Picture; } catch (Exception) { return; } cukai.SubmitChanges(); } }
private void dgNationality_RowEditEnding(object sender, Microsoft.Windows.Controls.DataGridRowEditEndingEventArgs e) { BeaCukai cukai = new BeaCukai(); NationalityAttention nationality = e.Row.Item as NationalityAttention; if (nationality != null) { var existing = (from p in cukai.NationalityAttention where p.ID == nationality.ID select p).First(); existing.Nationality = nationality.Nationality; cukai.SubmitChanges(); } }
private void ButtonDropDown_Click(object sender, RoutedEventArgs e) { if (tbNationality.Text.Trim() == "") { MessageBox.Show("Isikan Nationality (WN)", "Invalid", MessageBoxButton.OK); return; } DialogResult = true; BeaCukai cukai = new BeaCukai(); NationalityAttention att = new NationalityAttention(); att.Nationality = tbNationality.Text; cukai.NationalityAttention.InsertOnSubmit(att); cukai.SubmitChanges(); }
private void dgDPO_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e) { BeaCukai cukai = new BeaCukai(); PAUDPO dpo = e.Row.Item as PAUDPO; if (dpo != null) { var existing = (from p in cukai.PAUDPO where p.ID == dpo.ID select p).First(); existing.Name = dpo.Name; existing.FirstName = dpo.FirstName; existing.LastName = dpo.LastName; existing.Passport = dpo.Passport; cukai.SubmitChanges(); } }
private void ButtonDropDown_Click(object sender, RoutedEventArgs e) { if (tbFirstName.Text.Trim() == "") { MessageBox.Show("Isikan First Name", "Invalid", MessageBoxButton.OK); return; } DialogResult = true; BeaCukai cukai = new BeaCukai(); PAUDPO dpo = new PAUDPO(); dpo.FirstName = FirstName; dpo.LastName = LastName; dpo.Passport = Passport; cukai.PAUDPO.InsertOnSubmit(dpo); cukai.SubmitChanges(); }
private void UpdatePassenger(PAUPassenger passenger) { BeaCukai cukai = new BeaCukai(); if (passenger != null) { try { var existing = (from p in cukai.PAUPassenger where p.ID == passenger.ID select p).First(); existing.Name = passenger.Name; existing.BirthDate = passenger.BirthDate; existing.CDst = passenger.CDst; existing.Date = passenger.Date; existing.FareClass = passenger.FareClass; existing.FirstName = passenger.FirstName; existing.FlightDate = passenger.FlightDate; existing.FlightNo = passenger.FlightNo; existing.Gender = passenger.Gender; existing.LastName = passenger.LastName; existing.Nationality = passenger.Nationality; existing.Passport = passenger.Passport; existing.PNR = passenger.PNR; existing.SeatNo = passenger.SeatNo; existing.SEQNo = passenger.SEQNo; existing.Notes = passenger.Notes; existing.Picture = passenger.Picture; } catch (Exception) { return; } cukai.SubmitChanges(); } }
private void AddWNAttention(object sender, ExecutedRoutedEventArgs e) { winAddWNAttention win = new winAddWNAttention(); if (win.ShowDialog().Value) { BeaCukai cukai = new BeaCukai(); ResetNationalityAttentions(from s in cukai.NationalityAttention select s); } }
private void AddDPOData(object sender, ExecutedRoutedEventArgs e) { winAddDPOData win = new winAddDPOData(); if (win.ShowDialog().Value) { BeaCukai cukai = new BeaCukai(); ResetDPOS(from s in cukai.PAUDPO select s); } }
private void Passengers_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { if (e.Action == NotifyCollectionChangedAction.Remove) { //if (MessageBox.Show("Are you sure you want to delete the record(s)?", "Warning", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { BeaCukai cukai = new BeaCukai(); foreach (PAUPassenger passenger in e.OldItems) { cukai.PAUPassenger.DeleteOnSubmit(passenger); } cukai.SubmitChanges(); } } }
private void Nationalities_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { if (e.Action == NotifyCollectionChangedAction.Remove) { BeaCukai cukai = new BeaCukai(); foreach (NationalityAttention att in e.OldItems) { cukai.NationalityAttention.DeleteOnSubmit(att); } cukai.SubmitChanges(); } }
public void FilterPassengers() { PagingAction = ePagingAction.Search; BeaCukai cukai = new BeaCukai(); System.Linq.Expressions.Expression<Func<PAUPassenger, bool>> expr = null; if (SearchSelectedIndex == 0) { expr = LogicAnd(); } else { expr = LogicOr(); } IQueryable<PAUPassenger> query = null; if (expr != null) { query = (from p in cukai.PAUPassenger select p).Where(expr); } if (null != query) { OffsetPassengers = 0; TotalPassengersCount = query.Distinct().Count(); CurrentPassengerPage = 1; NotifyPropertyChanged("TotalPassengerPage"); NotifyPropertyChanged("TotalPassengersCount"); ResetPassengers(query.Take(RowPerPage)); } }
public void FilterPassengersPaged(int page) { /* BeaCukai cukai = new BeaCukai(); var queryPassengers = (from p in cukai.PAUPassenger select p); OffsetPassengers = (page - 1) * RowPerPage; CurrentPassengerPage = page; ResetPassengers(queryPassengers.Skip(OffsetPassengers).Take(RowPerPage));*/ BeaCukai cukai = new BeaCukai(); System.Linq.Expressions.Expression<Func<PAUPassenger, bool>> expr = null; if (SearchSelectedIndex == 0) { expr = LogicAnd(); } else { expr = LogicOr(); } IQueryable<PAUPassenger> query = null; if (expr != null) { query = (from p in cukai.PAUPassenger select p).Where(expr); } if (null != query) { OffsetPassengers = (page - 1) * RowPerPage; CurrentPassengerPage = page; ResetPassengers(query.Skip(OffsetPassengers).Take(RowPerPage)); } }
public void LoadPassengers(int page) { BeaCukai cukai = new BeaCukai(); var queryPassengers = (from p in cukai.PAUPassenger select p); OffsetPassengers = (page - 1) * RowPerPage; CurrentPassengerPage = page; ResetPassengers(queryPassengers.Skip(OffsetPassengers).Take(RowPerPage)); }
private void ReadAirAsiaDetails(BackgroundWorker worker, string filename, out DateTime flightDate, out string flightNo, out List<PAUPassenger> passangers) { flightDate = DateTime.Now; flightNo = ""; passangers = new List<PAUPassenger>(); using (StreamReader reader = new StreamReader(filename)) { char[] separator = { ',', '/' }; string line; string fno = ""; DateTime flight_date = DateTime.MinValue; string num = "", pnr = "", last_name = "", first_name = ""; string gender = "", dob = "", nat = ""; bool start = false; bool parse = false; // bool found_first = false; BeaCukai cukai = new BeaCukai(); int lineNo = 1; while ((line = reader.ReadLine()) != null) { if (worker != null) { worker.ReportProgress(lineNo, line); } lineNo++; if (line.Contains("Pax Verification")) { start = true; continue; } if (line.Contains("------------------") && start) { parse = true; continue; } if (line.Trim() == "") { parse = false; } if (line.Contains("Flight") && line.Contains("Date:")) { int flightPos = line.IndexOf("Flight#:") + 8; int datePos = line.IndexOf("Date:") + 5; fno = line.Substring(flightPos, 6).Trim(); string fdate = line.Substring(datePos, 14).Trim(); string[] dates = fdate.Split(separator); if (dates.Count() > 0) { ConvertPAXStringToDate(dates[0], out flightDate); ConvertPAXStringToDate(dates[0], out flight_date); } flightNo = fno; continue; } if (parse) { int number = -1; try { number = Int32.Parse(line.Substring(0, 3).Trim()); } catch (Exception) { number = -1; } if (number > -1) { pnr = line.Substring(5, 6).Trim(); last_name = line.Substring(12, 25).Trim(); first_name = line.Substring(37, line.Length - 37).Trim(); num = number.ToString(); if ((line = reader.ReadLine()) != null) { //found_first = false; char[] sep = { ' ' }; //string[] datas = line.Split(sep); gender = line.Substring(11, 2).Trim(); dob = line.Substring(13, 6).Trim(); nat = line.Substring(22, 3).Trim(); //MessageBox.Show(line+#13); PAUPassenger pass = null; try { pass = (from p in cukai.PAUPassenger select p).Where(p => p.FirstName.ToLower() == first_name.ToLower()). Where(p => p.LastName.ToLower() == last_name.ToLower()). Where(p => p.FlightNo.ToLower() == fno.ToLower()). Where(p => p.FlightDate.Value.Date.Day == flight_date.Date.Day && p.FlightDate.Value.Date.Month == flight_date.Date.Month && p.FlightDate.Value.Date.Year == flight_date.Date.Year).First(); } catch (Exception ex) { System.Diagnostics.Trace.TraceError("MainController.ReadAirAsiaDetails: Rec No. " + num + "message=" + ex.Message); continue; } if (pass != null) { pass.PNR = pnr; pass.Gender = gender; pass.Nationality = nat; pass.BirthDate = ConvertMySqlToDate(dob); if (UpdateRecord(pass) == 0) { return; } passangers.Add(pass); /*MessageBox.Show(num + "," + pnr + ",'" + last_name + "','" + first_name + "'" + "," + gender + "," + dob + "," + nat); */ } } } } } } }
private void ProcessManifestApis(string filename) { BackgroundWorker worker = new BackgroundWorker(); worker.WorkerReportsProgress = true; worker.WorkerSupportsCancellation = true; _isReady = false; worker.DoWork += (s, e) => { string no; DateTime date; List<PAUPassenger> pass; ReadAirAsiaDetails(worker, filename, out date, out no, out pass); worker.ReportProgress(-1, new PAXObj(no, date, pass)); }; worker.ProgressChanged += (s, e) => { if (e.ProgressPercentage > 0) { string line = e.UserState as string; StatusText = "Processing Line " + e.ProgressPercentage + " => " + line; } else if (e.ProgressPercentage == -1) { PAXObj obj = e.UserState as PAXObj; BeaCukai cukai = new BeaCukai(); IEnumerable<PAUPassenger> pass = from p in cukai.PAUPassenger where (p.FlightNo.ToLower() == obj.flightNo.ToLower() && p.FlightDate.Value.Date.Day == obj.flightDate.Date.Day && p.FlightDate.Value.Date.Month == obj.flightDate.Date.Month && p.FlightDate.Value.Date.Year == obj.flightDate.Date.Year) select p; ImportedPassengers = new ObservableCollection<PAUPassenger>(pass); DataGrid importGrid; SpawnNewDockWindow("Recent Import", out importGrid); if (importGrid != null) { importGrid.ItemsSource = CollectionViewSource.GetDefaultView(ImportedPassengers); } ResetDatabases(); MessageBox.Show("Import Data Selesai", "Infomasi", MessageBoxButton.OK, MessageBoxImage.Exclamation); _isReady = true; StatusText = "Ready"; } }; worker.RunWorkerAsync(); }
private void ProcessManifestPAX(string filename) { BackgroundWorker worker = new BackgroundWorker(); worker.WorkerReportsProgress = true; worker.WorkerSupportsCancellation = true; worker.DoWork += (s, e) => { BackgroundWorker sender = s as BackgroundWorker; DateTime date; string no; List<PAUPassenger> pass; ReadAirAsia(sender, filename, out date, out no, out pass); sender.ReportProgress(-1, new PAXObj(no, date, pass)); }; worker.ProgressChanged += (s, e) => { if (e.ProgressPercentage >= 0) { StatusText = "Processing line: " + e.ProgressPercentage + " => " + (e.UserState as string); } else if (e.ProgressPercentage == -1) { PAXObj obj = e.UserState as PAXObj; DateTime flightDate = obj.flightDate; string flightNo = obj.flightNo; List<PAUPassenger> passengers = obj.passengers; DataGrid importGrid; SpawnNewDockWindow("Recent Import", out importGrid); filename = Path.GetFileName(filename); StatusText = "Please wait... import process might take a while..."; if (importGrid != null) { BeaCukai cukai = new BeaCukai(); if (passengers.Count > 0) { foreach (PAUPassenger passenger in passengers) { int count = (from p in cukai.PAUPassenger select p).Where(p => p.FirstName.ToLower() == passenger.FirstName.ToLower()). Where(p => p.LastName.ToLower() == passenger.LastName.ToLower()). Where(p => p.FlightNo.ToLower() == passenger.FlightNo.ToLower()). Where(p => p.FlightDate.Value.Date.Day == passenger.FlightDate.Value.Date.Day && p.FlightDate.Value.Date.Month == passenger.FlightDate.Value.Date.Month && p.FlightDate.Value.Date.Year == passenger.FlightDate.Value.Date.Year). Distinct().Count(); if (count == 0) { cukai.PAUPassenger.InsertOnSubmit(passenger); } } cukai.SubmitChanges(); } ImportedPassengers = new ObservableCollection<PAUPassenger>(passengers); ObservableCollection<PAUPassenger> attentions = new ObservableCollection<PAUPassenger>(); ObservableCollection<PAUPassenger> dpos = new ObservableCollection<PAUPassenger>(); ObservableCollection<PAUPassenger> wnAttentions = new ObservableCollection<PAUPassenger>(); int index = 1; foreach (PAUPassenger p in ImportedPassengers) { TimeSpan span = p.FlightDate.Value.Subtract(p.Date.Value); if (span <= TimeSpan.FromDays(BookingDateRange)) { attentions.Add(p); } p.No = index++; int count = (from dpo in cukai.PAUDPO where (p.FirstName.ToLower().Contains(dpo.FirstName.ToLower()) && p.LastName.ToLower().Contains(dpo.LastName.ToLower())) select dpo).Count(); if (count > 0) { dpos.Add(p); } count = (from nat in cukai.NationalityAttention where (nat.Nationality.ToLower() == p.Nationality.ToLower()) select nat).Distinct().Count(); if (count > 0) { if (wnAttentions.Contains(p) == false) { wnAttentions.Add(p); } } } importGrid.ItemsSource = CollectionViewSource.GetDefaultView(ImportedPassengers); if (attentions.Count > 0) { DataGrid attentionGrid; SpawnNewDockWindow(string.Format("Attentions ({0})", filename), out attentionGrid); if (attentionGrid != null) { attentionGrid.ItemsSource = CollectionViewSource.GetDefaultView(attentions); } } if (wnAttentions.Count > 0) { DataGrid wnAttGrid; SpawnNewDockWindow(string.Format("WN Att ({0})", filename), out wnAttGrid); if (wnAttGrid != null) { wnAttGrid.ItemsSource = CollectionViewSource.GetDefaultView(wnAttentions); } } if (dpos.Count > 0) { DataGrid dpoGrid; SpawnNewDockWindow(string.Format("Name(s) On DPO ({0})", filename), out dpoGrid); if (dpoGrid != null) { dpoGrid.ItemsSource = CollectionViewSource.GetDefaultView(dpos); } } ResetDatabases(); MessageBox.Show("Import Data Selesai", "Infomasi", MessageBoxButton.OK, MessageBoxImage.Exclamation); _isReady = true; StatusText = "Ready"; } } }; _isReady = false; worker.RunWorkerAsync(); }
public void ResetDatabases() { PagingAction = ePagingAction.Passengers; BeaCukai cukai = new BeaCukai(); var queryPassengers = (from p in cukai.PAUPassenger select p); var queryDPOS = (from d in cukai.PAUDPO select d); var nationality = (from d in cukai.NationalityAttention select d); OffsetPassengers = 0; TotalPassengersCount = queryPassengers.Distinct().Count(); CurrentPassengerPage = 1; NotifyPropertyChanged("TotalPassengerPage"); NotifyPropertyChanged("TotalPassengersCount"); ResetPassengers(queryPassengers.Take(RowPerPage)); ResetDPOS(queryDPOS); ResetNationalityAttentions(nationality); }
private void dgPassenger_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e) { if (cbxEdit.IsChecked == false) { PAUPassenger pass = DataGrid.CurrentItem as PAUPassenger; if (pass != null) { winPopupPassenger popup = new winPopupPassenger(); BeaCukai cukai = new BeaCukai(); var items = from p in cukai.PAUPassenger where (p.FirstName.ToUpper().Contains(pass.FirstName.ToUpper()) && p.LastName.ToUpper().Contains(pass.LastName.ToUpper())) select p; ObservableCollection<PAUPassenger> history = new ObservableCollection<PAUPassenger>(items.ToList()); popup.DataGrid.ItemsSource = history; popup.ShowDialog(); } } }