public void AddReservationFlightTest() { FlightRes user = new FlightRes("A-1", "2019-01-01", 1, 1, 1); int id_user = f.AddReservationFlight(user); Assert.NotNull(id_user); }
/// <param name="numseat">Cantidad de asiento</param> /// <param name="_id_fli">Id del vuelo</param> /// <returns>Devuelve los numeros de asientos de una reserva</returns> public string conSeatNum(int numseat, int _id_fli) { var table1 = new DataTable(); var res = new FlightRes(); try{ table1 = PgConnection.Instance.ExecuteFunction("getSum(@idflight)", _id_fli); res._sum_pas = Convert.ToInt32(table1.Rows[0][0].ToString()); Console.WriteLine(res._sum_pas); int cont = res._sum_pas; string seat = ""; if (numseat != 0) { for (int i = 0; i < numseat; i++) { cont = cont + 1; seat += "A-" + cont + ","; } } else { return("0"); } return(seat); }catch (InvalidStoredProcedureSignatureException) { throw new InvalidStoredProcedureSignatureException("Tienes un error en el Stored Procedure"); } }
/// <param name="name_city">Nombre de la ciudad</param> /// <returns>Devuelve el id de la ciudad</returns> public int GetIDLocation(string name_city) { var res = new FlightRes(); var table = new DataTable(); try{ table = PgConnection.Instance.ExecuteFunction("GetIDLocation(@name_city)", name_city); res._id_city = Convert.ToInt32(table.Rows[0][0].ToString()); return(res._id_city); }catch (InvalidStoredProcedureSignatureException) { throw new InvalidStoredProcedureSignatureException("Tienes un error en el Stored Procedure"); } }
/// <summary>Busca las reservas de un usuario</summary> /// <param name="id">id del usuario </param> /// <returns>Devuelve la lista de reservas de un usuario</returns> public List <Entity> GetReservationFlight(int id) { var FlightRes = new List <Entity>(); var table = new DataTable(); var res = new FlightRes(); var reservation_flight = new FlightRes(); try{ table = PgConnection.Instance.ExecuteFunction(GET_RES_FLIGHT, id); var table2 = new DataTable(); for (int i = 0; i < table.Rows.Count; i++) { table2 = PgConnection.Instance.ExecuteFunction(GET_NAME_LOCATION, Convert.ToInt32(table.Rows[i][6].ToString())); res._id = Convert.ToInt32(table.Rows[i][0]); res._price = Convert.ToInt32(table.Rows[i][1]); res._timestamp = Convert.ToString(table.Rows[i][2].ToString()); res._seatNum = Convert.ToString(table.Rows[i][3].ToString()); res._namecountryI = table.Rows[i][4].ToString(); res._namecityI = table.Rows[i][5].ToString(); res._numPas = Convert.ToInt32(table.Rows[i][7].ToString()); res._namecityV = table2.Rows[0][1].ToString(); res._namecountryV = table2.Rows[0][2].ToString(); reservation_flight = new FlightRes(res._id, res._price, res._timestamp, res._seatNum, res._namecityI, res._namecountryI, res._namecityV, res._namecountryV, res._numPas); FlightRes.Add(reservation_flight); } if (FlightRes.Count.Equals(0)) { throw new EmptyListReservation("Disculpe no se encontraron reservas"); } return(FlightRes); }catch (DBFailedException e) { throw new DBFailedException("Tienes un error en la base de datos", e); }catch (InvalidStoredProcedureSignatureException) { throw new InvalidStoredProcedureSignatureException("Tienes un error en el Stored Procedure"); } }
/// <summary>Genera string con nombres de asientos a reservar</summary> /// <param name="numseat">Cantidad de asientos a reservar</param> /// <param name="_id_fli">Id del vuelo</param> /// <returns>Devuelve los numeros de asientos a reservar</returns> public string ConSeatNum(int numseat, int _id_fli) { var table1 = new DataTable(); var capacitytable = new DataTable(); var res = new FlightRes(); try{ //Obtiene la capacidad del vuelo capacitytable = PgConnection.Instance.ExecuteFunction(GET_CAPACITY, _id_fli); int planecapacity = Convert.ToInt32(capacitytable.Rows[0][0].ToString()); //Obtengo la cantidad de reservas del vuelo (asientos reservados) table1 = PgConnection.Instance.ExecuteFunction(GET_SUM, _id_fli); //Almacena la cantidad de reservas en la instancia reserva res._sum_pas = Convert.ToInt32(table1.Rows[0][0].ToString()); Console.WriteLine("Cant reservada: " + res._sum_pas); Console.WriteLine("Capacidad del avión: " + planecapacity); int cont = res._sum_pas; string seat = ""; //Si la cantidad de puestos disponibles es mayor o igual a la cantidad de puestos a reservar if ((planecapacity - res._sum_pas) >= numseat) { //Concatena un string con el numero de cada nueva reserva //Si existen N reservas entonces las nuevas reservas sera: A-N+1, A-N+2, A-N+3... for (int i = 0; i < numseat; i++) { cont = cont + 1; seat += "A-" + cont + ","; } } else { return("0"); } return(seat); }catch (InvalidStoredProcedureSignatureException) { throw new InvalidStoredProcedureSignatureException("Tienes un error en el Stored Procedure"); } }
public void SetUp() { //Instancia del mapper ResFlightMapper = MapperFactory.CreateReservationFlightMapper(); //Instancia el DTO flightDTO = new FlightResDTO("", "2019-7-6 23:00", 1, 1, 1); //Instancia el objeto reserva de vuelo entity = new FlightRes("", "2019-7-6 23:00", 1, 1, 1); //Instancia una lista de DTO dtos = new List <FlightResDTO>(); dtos.Add(flightDTO); //Instancia una lsita de entidades entities = new List <FlightRes>(); entities.Add(entity); }
//Convierte un dto a una entidad y la compara con otra entidad public void CreateEntityTest() { FlightRes entitycopy = ResFlightMapper.CreateEntity(flightDTO); List <String> a = new List <String>(); a.Add(entity._seatNum.ToString()); a.Add(entity._timestamp.ToString()); a.Add(entity._numPas.ToString()); a.Add(entity._id_user.ToString()); a.Add(entity._id_fli.ToString()); List <String> b = new List <String>(); b.Add(entitycopy._seatNum.ToString()); b.Add(entitycopy._timestamp.ToString()); b.Add(entitycopy._numPas.ToString()); b.Add(entitycopy._id_user.ToString()); b.Add(entitycopy._id_fli.ToString()); Assert.AreEqual(a, b); }
public static AddReservationFlightCommand CreateAddReservationFlightCommand(FlightRes flight) { return(new AddReservationFlightCommand(flight)); }
public AddReservationFlightCommand(FlightRes flightReservation) { this.FlightReservation = flightReservation; }