public ActionResult AddCheckout(AddCheckoutViewModel viewModel) { PilotCheckout checkout = new PilotCheckout(); checkout.AircraftId = viewModel.AircraftId; checkout.PilotId = viewModel.PilotId; checkout.InstructorId = viewModel.InstructorId; checkout.CheckoutDate = viewModel.CheckoutDate; _dataService.AddCheckout(checkout); return(PilotReview(viewModel.PilotId)); }
public ActionResult RemoveCheckout(int checkoutId) { PilotCheckout checkout = _dataService.GetCheckout(checkoutId); AircraftCheckoutViewModel viewModel = new AircraftCheckoutViewModel(); viewModel.Id = checkout.Id; viewModel.CheckoutDate = checkout.CheckoutDate; viewModel.AircraftId = checkout.AircraftId; viewModel.RegistrationNumber = checkout.Aircraft.RegistrationNumber; viewModel.PilotId = checkout.PilotId; viewModel.PilotName = checkout.Pilot.FullName; return(View(ViewNames.RemoveCheckout, viewModel)); }
public void AddCheckout(PilotCheckout checkout) { _repository.Add <PilotCheckout>(checkout); _repository.UnitOfWork.SaveChanges(); }
public void ImportCheckouts() { IDictionary <string, List <int> > acMap = new Dictionary <string, List <int> >(); List <int> ids = _dbContext.Aircraft.Where(a => a.RegistrationNumber == "N49649" || a.RegistrationNumber == "N4952B") .Select(a => a.Id).ToList(); acMap.Add("C150", ids); acMap.Add("C152", ids); ids = _dbContext.Aircraft.Where(a => a.RegistrationNumber == "N73192") .Select(a => a.Id).ToList(); acMap.Add("C172", ids); ids = _dbContext.Aircraft.Where(a => a.RegistrationNumber == "N2099V") .Select(a => a.Id).ToList(); acMap.Add("C120", ids); ids = _dbContext.Aircraft.Where(a => a.RegistrationNumber == "N8142H") .Select(a => a.Id).ToList(); acMap.Add("PA28-161", ids); acMap.Add("PA28-181", ids); ids = _dbContext.Aircraft.Where(a => a.RegistrationNumber == "N8185E") .Select(a => a.Id).ToList(); acMap.Add("PA28-R201", ids); List <Member> members = _dbContext.Members.Where(m => m.Status == "Active") .Include(m => m.Login) .ToList(); foreach (var member in members) { List <PilotCheckout> checkouts = new List <PilotCheckout>(); List <NtfcDataSet.CheckoutRow> srcRows = _dataSet.Checkout .Where(c => c.Member_ID == member.Login.MemberPIN) .OrderByDescending(c => c.Checkout_Date) .ToList(); if (member.Login.MemberPIN == "735") { System.Diagnostics.Debug.Write("735"); } foreach (var row in srcRows) { if (!acMap.ContainsKey(row.AC_Type)) { continue; } List <int> acIds = acMap[row.AC_Type]; foreach (int id in acIds) { // skip duplicates if (checkouts.Any(c => c.AircraftId == id)) { continue; } PilotCheckout pilotCheckout = new PilotCheckout(); pilotCheckout.AircraftId = id; pilotCheckout.CheckoutDate = row.Checkout_Date; pilotCheckout.PilotId = member.Id; Login instructorLogin = _dbContext.Logins.Where(l => l.MemberPIN == row.Instructor_MID).FirstOrDefault(); if (instructorLogin == null) { continue; } int instructorId = _dbContext.Members.First(m => m.LoginId == instructorLogin.Id).Id; pilotCheckout.InstructorId = instructorId; checkouts.Add(pilotCheckout); _dbContext.PilotCheckouts.Add(pilotCheckout); } } } //IEnumerator<NtfcDataSet.CheckoutRow> rows = _dataSet.Checkout.GetEnumerator(); //while (rows.MoveNext()) //{ // NtfcDataSet.CheckoutRow row = rows.Current; // if (!acMap.ContainsKey(row.AC_Type)) // continue; // List<int> acIds = acMap[row.AC_Type]; // foreach (int id in acIds) // { // PilotCheckout pilotCheckout = new PilotCheckout(); // pilotCheckout.AircraftId = id; // pilotCheckout.CheckoutDate = row.Checkout_Date; // Login pilotLogin = _dbContext.Logins.Where(l => l.MemberPIN == row.Member_ID).FirstOrDefault(); // if (pilotLogin == null) // continue; // int pilotId = _dbContext.Members.First(m => m.LoginId == pilotLogin.Id).Id; // pilotCheckout.PilotId = pilotId; // Login instructorLogin = _dbContext.Logins.Where(l => l.MemberPIN == row.Instructor_MID).FirstOrDefault(); // if (instructorLogin == null) // continue; // int instructorId = _dbContext.Members.First(m => m.LoginId == instructorLogin.Id).Id; // pilotCheckout.InstructorId = instructorId; // _dbContext.PilotCheckouts.Add(pilotCheckout); // } //} _dbContext.SaveChanges(); }