public static void SaveBlobView(DSModel db, KeyBinder key, FileBlobViewModel model) { if (db == null) throw new ArgumentNullException("db"); if (key == null) throw new ArgumentNullException("key"); if (model == null) throw new ArgumentNullException("model"); if (model.BlobID == 0) throw new ArgumentException("BlobID cannot be 0!", "model"); string sql = @" UPDATE file_blobs f SET f.BlobName = @BlobName, f.BlobDescription = @BlobDescription, f.BlobExtension = @BlobExtension WHERE f.BlobID = @BlobID;"; db.ExecuteNonQuery(sql, new MySqlParameter("BlobID", model.BlobID), new MySqlParameter("BlobName", model.BlobName), new MySqlParameter("BlobDescription", model.BlobDescription), new MySqlParameter("BlobExtension", model.BlobExtension)); }
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)); } }
private static void SaveReminders(DSModel db, KeyBinder key, DriverMedicalModel model, DriversMedical poco) { string sqlDelete = @"DELETE FROM drivers_medicals_reminders WHERE DriverMedicalID = @DriverMedicalID AND DriverMedicalReminderID NOT IN (@DriverMedicalReminderID);"; string ids = "0"; if (model.Reminders.Count > 0) ids = string.Join<uint>(",", model.Reminders.Select(r => r.DriverMedicalReminderID)); sqlDelete = sqlDelete.Replace("@DriverMedicalReminderID", ids); db.ExecuteNonQuery(sqlDelete, new MySqlParameter("DriverMedicalID", poco.DriverMedicalID)); string sqlInsert = @" INSERT INTO drivers_medicals_reminders (DriverMedicalID, ReminderID, ReminderType, ShouldRemind) VALUES (@DriverMedicalID, @ReminderID, @ReminderType, @ShouldRemind); SELECT LAST_INSERT_ID();"; string sqlUpdate = @" UPDATE drivers_medicals_reminders SET DriverMedicalID = @DriverMedicalID, ReminderID = @ReminderID, ReminderType = @ReminderType, ShouldRemind = @ShouldRemind WHERE DriverMedicalReminderID = @DriverMedicalReminderID;"; foreach (var rem in model.Reminders) { if (rem.DriverMedicalReminderID == 0) { rem.DriverMedicalID = poco.DriverMedicalID; UtilityModel<uint> temp = new UtilityModel<uint>(); temp.Value = db.ExecuteQuery<uint>(sqlInsert, new MySqlParameter("DriverMedicalID", rem.DriverMedicalID), new MySqlParameter("ReminderID", rem.ReminderID), new MySqlParameter("ReminderType", rem.ReminderType), new MySqlParameter("ShouldRemind", rem.ShouldRemind)) .First(); key.AddKey(temp, rem, "Value", rem.GetName(p => p.DriverMedicalReminderID)); } else { rem.DriverMedicalID = poco.DriverMedicalID; db.ExecuteNonQuery(sqlUpdate, new MySqlParameter("DriverMedicalReminderID", rem.DriverMedicalReminderID), new MySqlParameter("DriverMedicalID", rem.DriverMedicalID), new MySqlParameter("ReminderID", rem.ReminderID), new MySqlParameter("ReminderType", rem.ReminderType), new MySqlParameter("ShouldRemind", rem.ShouldRemind)); } } }