/// <summary> /// Metodo para añadir un Crucero. /// </summary> /// <param name="cruiser">Datos a ser guardados en tipo crucero</param> /// <returns>ID del registro del crucero en la base de datos</returns> /// <exception cref="InvalidAttributeException">Algun atributo tenia un valor invalido</exception> /// <exception cref="DatabaseException"> /// Lanzada si ocurre un fallo al ejecutar la funcion en la bse de /// datos /// </exception> public static int AddCruiser(Cruiser cruiser) { cruiser.Validate(); var table = PgConnection.Instance.ExecuteFunction( "AddShip(@name,@capacity,@loadingcap,@model,@line,@picture)", cruiser.Name, cruiser.Capacity, cruiser.LoadingShipCap, cruiser.Model, cruiser.Line, cruiser.Picture); var id = Convert.ToInt32(table.Rows[0][0]); return(id); }
/// <summary> /// Metodo para actualizar los datos de un Crucero. /// </summary> /// <param name="cruiser">Datos a ser actualizados en tipo crucero guardados</param> /// <returns>ID del registro del crucero en la base de datos</returns> /// <exception cref="InvalidAttributeException">Algun atributo tenia un valor invalido</exception> /// <exception cref="NullCruiserException">El metodo recibio null como parametro</exception> /// <exception cref="CruiserNotFoundException">No se encontro el crucero con el Id sumunistrado en los parametros</exception> /// <exception cref="DatabaseException"> /// Lanzada si ocurre un fallo al ejecutar la funcion en la bse de /// datos /// </exception> public static Cruiser UpdateCruiser(Cruiser cruiser) { try { cruiser.Validate(); var table = PgConnection.Instance.ExecuteFunction( "ModifyShip(@Id, @Status, @Name, @Capacity, @Loadcap, @Model, @line, @Picture)", cruiser.Id, cruiser.Status, cruiser.Name, cruiser.Capacity, cruiser.LoadingShipCap, cruiser.Model, cruiser.Line, cruiser.Picture); var updatedId = Convert.ToInt32(table.Rows[0][0]); return(cruiser); } catch (NullReferenceException) { throw new NullCruiserException("El crucero no puede ser null"); } catch (InvalidCastException) { throw new CruiserNotFoundException("Crucero no encontrado"); } }
public void EmptyPictureTest() { cruiser = new Cruiser("Concordia", true, 100, 1000, "model1", "line1", ""); Assert.Throws <InvalidAttributeException>(() => cruiser.Validate()); }
public void EmptyNameTest() { cruiser = new Cruiser("", true, 100, 1000, "model1", "Line1", "picture.jpg"); Assert.Throws <InvalidAttributeException>(() => cruiser.Validate()); }
public void NullPictureTest() { cruiser = new Cruiser("Concordia", true, 100, 1000, "Model1", "Line1", null); Assert.Throws <InvalidAttributeException>(() => cruiser.Validate()); }
public void ZeroLoadingCapTest() { cruiser = new Cruiser("Concordia", true, 0, 1000, "Model1", "Line1", "Picture.jpg"); Assert.Throws <InvalidAttributeException>(() => cruiser.Validate()); }
public void NullNameTest() { cruiser = new Cruiser(null, true, 100, 1000, "Model1", "Line1", "Picture.jpg"); Assert.Throws <InvalidAttributeException>(() => cruiser.Validate()); }