/// <summary> /// Francis Mingomba /// Created: 2019/04/30 /// /// Adds new vehicle status to database from database /// </summary> /// <param name="status">current vehicle status</param> /// <returns>returns primary key</returns> public int AddResortVehicleStatus(ResortVehicleStatus status) { int id; var conn = DBConnection.GetDbConnection(); const string cmdText = @"sp_create_resort_vehicle_status"; var cmd = new SqlCommand(cmdText, conn) { CommandType = CommandType.StoredProcedure }; cmd.Parameters.AddWithValue("@ResortVehicleStatusId", status.Id); cmd.Parameters.AddWithValue("@Description", status.Description); try { conn.Open(); id = Convert.ToInt32(cmd.ExecuteScalar()); } finally { conn.Close(); } return(id); }
/// <summary author="Francis Mingomba" created="2019/04/03"> /// Updates Resort Vehicle Status /// </summary> /// <param name="oldStatus">Old Vehicle Status (database copy)</param> /// <param name="newStatus">New Vehicle Status (new copy)</param> public void UpdateResortVehicleStatus(ResortVehicleStatus oldStatus, ResortVehicleStatus newStatus) { try { this.MeetsValidationCriteria(newStatus, GetResortVehicleValidationCriteria()); _resortVehicleStatusAccessor.UpdateResortVehicleStatus(oldStatus, newStatus); } catch (Exception ex) { ExceptionLogManager.getInstance().LogException(ex); throw ex; } }
/// <summary> /// Francis Mingomba /// Created: 2019/04/30 /// /// Retrieve vehicle status by id from database /// </summary> /// <param name="id">resort vehicle status id</param> /// <returns>resort vehicle status object</returns> public ResortVehicleStatus RetrieveResortVehicleStatusById(string id) { ResortVehicleStatus resortVehicleStatus; var conn = DBConnection.GetDbConnection(); const string cmdText = @"sp_select_resort_vehicle_status_by_id"; var cmd = new SqlCommand(cmdText, conn) { CommandType = CommandType.StoredProcedure }; cmd.Parameters.AddWithValue("@ResortVehicleStatusId", id); try { conn.Open(); SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { reader.Read(); resortVehicleStatus = new ResortVehicleStatus() { Id = reader.GetString(0), Description = reader.GetString(1) }; } else { throw new ApplicationException("Resort Vehicle Status not found."); } reader.Close(); } finally { conn.Close(); } return(resortVehicleStatus); }
/// <summary author="Francis Mingomba" created="2019/04/03"> /// Adds Resort Vehicle Status to database /// </summary> /// <param name="status">Resort Vehicle Status</param> /// <returns>New Resort Vehicle Status Id</returns> public int AddResortVehicleStatus(ResortVehicleStatus status) { int statusId; try { this.MeetsValidationCriteria(status, GetResortVehicleValidationCriteria()); statusId = _resortVehicleStatusAccessor.AddResortVehicleStatus(status); } catch (Exception ex) { ExceptionLogManager.getInstance().LogException(ex); throw ex; } return(statusId); }
/// <summary> /// Francis Mingomba /// Created: 2019/04/30 /// /// Updates Resort Vehicle Status in database /// </summary> /// <param name="oldStatus">old status</param> /// <param name="newStatus">new status</param> public void UpdateResortVehicleStatus(ResortVehicleStatus oldStatus, ResortVehicleStatus newStatus) { var conn = DBConnection.GetDbConnection(); const string cmdText = @"sp_update_resort_vehicle_status"; var cmd = new SqlCommand(cmdText, conn) { CommandType = CommandType.StoredProcedure }; cmd.Parameters.AddWithValue("@ResortPropertyId", oldStatus.Id); cmd.Parameters.AddWithValue("@OldDescription", oldStatus.Description); cmd.Parameters.AddWithValue("@NewDescription", newStatus.Description); try { conn.Open(); int result = cmd.ExecuteNonQuery(); if (result == 0) { // .. resort property wasn't found or old and database copy did not match throw new ApplicationException("Database: Vehicle status not updated"); } else if (result > 1) { // .. protection against change in expected stored stored procedure behaviour throw new ApplicationException("Fatal Error: More than one vehicle status updated"); } } finally { conn.Close(); } }