public static void DeleteDriverLicense(DSModel db, KeyBinder key, DriverLicenseModel model) { if (db == null) { throw new ArgumentNullException("db"); } if (key == null) { throw new ArgumentNullException("key"); } if (model == null) { throw new ArgumentNullException("model"); } db.DriversLicensesPermits .Where(p => p.DriverLicenseID == model.DriverLicenseID) .DeleteAll(); db.DriversLicensesReminders .Where(l => l.DriverLicenseID == model.DriverLicenseID) .DeleteAll(); db.DriversLicenses .Where(d => d.DriverLicenseID == model.DriverLicenseID) .DeleteAll(); }
public async Task <IActionResult> UpdateDriverLicense([FromBody] DriverLicenseModel driverLicenseModel) { if (driverLicenseModel == null) { throw new ArgumentNullException(nameof(driverLicenseModel)); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var userId = GetUserId(); // get the user var user = await userManager.FindUserWithDriverLicenseAsync(userId); if (user == null) { return(BadRequest()); } var driverLicense = mapper.Map <DriverLicense>(driverLicenseModel); var result = await userManager.UpdateDriverLicenseAsync(user, driverLicense); return((result.Succeeded) ? NoContent() : GetErrorResult(result)); }
private void HandleEdit(DriverLicenseModel mod, RowCellClickEventArgs e) { var manager = DriverLicenseManager.CreateEdit(mod.DriverLicenseID); if (XF_DriverLicenseNewEdit.ShowWindow(manager) == DialogResult.Yes) { RefreshLicenses(); } }
private static void InsertDriverLicense(DSModel db, KeyBinder key, DriverLicenseModel model) { var poco = new DriversLicense(); model.Map(poco); db.Add(poco); key.AddKey(poco, model, model.GetName(p => p.DriverLicenseID)); db.FlushChanges(); SaveDriverLicensePermits(db, key, poco, model); SaveDriverLicenseReminders(db, key, poco, model); }
public static CheckResult ValidateSave(DSModel db, DriverLicenseModel model) { CheckResult res = new CheckResult(model); if (model.DriverID == 0) { res.AddError("Driver cannot be empty!", model.GetName(p => p.DriverID)); } if (model.LicenseID == 0) { res.AddError("License type cannot be empty!", model.GetName(p => p.LicenseID)); } if (model.IssueDate == DateTime.MinValue) { res.AddError("Issue date cannot be empty!", model.GetName(p => p.IssueDate)); } if (model.ExpirationDate == DateTime.MinValue) { res.AddError("Expiration date cannot be empty!", model.GetName(p => p.ExpirationDate)); } if (model.MVRReviewDate.HasValue && model.MVRReviewDate.Value.Date < model.IssueDate.Date) { res.AddError("MVR review date cannot be earlier than Issue date!", model.GetName(p => p.MVRReviewDate)); } if (model.IssueDate.Date > model.ExpirationDate.Date) { res.AddError("Expiration date cannot be earlier than Issue date!", model.GetName(p => p.ExpirationDate)); } if (model.Permits.Count == 0) { res.AddError("At least one permit must be selected!", model.GetName(p => p.Permits)); } //overlap check var check = db.DriversLicenses .Where(d => d.DriverLicenseID != model.DriverLicenseID && d.DriverID == model.DriverID && d.IssueDate <model.ExpirationDate && d.ExpirationDate> model.IssueDate) .FirstOrDefault(); if (check != null) { res.AddError("There is an overlapping license already!"); } return(res); }
private static void UpdateDriverLicense(DSModel db, KeyBinder key, DriverLicenseModel model) { var poco = db.DriversLicenses.Where(d => d.DriverLicenseID == model.DriverLicenseID).FirstOrDefault(); if (poco == null) { throw new ArgumentNullException("poco"); } model.Map(poco); db.FlushChanges(); SaveDriverLicensePermits(db, key, poco, model); SaveDriverLicenseReminders(db, key, poco, model); }
public static CheckResult ValidateDelete(DSModel db, DriverLicenseModel model) { CheckResult res = new CheckResult(model); var checkDispatch = db.Dispatches .Where(d => d.DriverID == model.DriverID && d.FromDateTime.Date >= model.IssueDate && d.ToDateTime.Date <= model.ExpirationDate) .FirstOrDefault(); if (checkDispatch != null) { res.AddError("Cannot delete license, a dispatch uses the license!"); } return(res); }
private void HandleDelete(DriverLicenseModel mod, RowCellClickEventArgs e) { if (Mess.Question("Are you sure you wish to delete this license?", "Caution") != DialogResult.Yes) { return; } var manager = DriverLicenseManager.CreateEdit(mod.DriverLicenseID); var res = manager.Delete(); if (res.Failed) { Mess.Error(res.Message); } else { RefreshLicenses(); } }
public static void SaveDriverLicense(DSModel db, KeyBinder key, DriverLicenseModel model) { if (db == null) { throw new ArgumentNullException("db"); } if (key == null) { throw new ArgumentNullException("key"); } if (model == null) { throw new ArgumentNullException("model"); } if (model.DriverLicenseID == 0) { InsertDriverLicense(db, key, model); } else { UpdateDriverLicense(db, key, model); } }
private static void SaveDriverLicenseReminders(DSModel db, KeyBinder key, DriversLicense poco, DriverLicenseModel model) { db.ExecuteNonQuery("delete from drivers_licenses_reminders where DriverLicenseID = @DriverLicenseID;", new MySqlParameter("DriverLicenseID", poco.DriverLicenseID)); string sql = @" INSERT INTO drivers_licenses_reminders (DriverLicenseID, ReminderID, ReminderType, ShouldRemind) VALUES (@DriverLicenseID, @ReminderID, @ReminderType, @ShouldRemind); SELECT LAST_INSERT_ID();"; foreach (var rem in model.Reminders) { rem.DriverLicenseID = poco.DriverLicenseID; rem.DriverLicenseReminderID = (uint)db.ExecuteScalar <ulong>(sql, new MySqlParameter("DriverLicenseID", rem.DriverLicenseID), new MySqlParameter("ReminderID", rem.ReminderID), new MySqlParameter("ReminderType", rem.ReminderType), new MySqlParameter("ShouldRemind", rem.ShouldRemind)); } }
private static void SaveDriverLicensePermits(DSModel db, KeyBinder key, DriversLicense poco, DriverLicenseModel model) { db.ExecuteNonQuery("DELETE FROM drivers_licenses_permits WHERE DriverLicenseID = @DriverLicenseID;", new MySqlParameter("DriverLicenseID", poco.DriverLicenseID)); string sql = @" INSERT INTO drivers_licenses_permits (DriverLicenseID, PermitID) VALUES (@DriverLicenseID, @PermitID); SELECT LAST_INSERT_ID();"; foreach (var per in model.Permits) { per.DriverLicenseID = poco.DriverLicenseID; per.DriverLicensePermitID = (uint)db.ExecuteScalar <ulong>(sql, new MySqlParameter("DriverLicenseID", per.DriverLicenseID), new MySqlParameter("PermitID", per.PermitID)); } }