public StudentDTO GetStudent(string email) { // Create a filter that finds the student FilterDefinition <BsonDocument> query = Builders <BsonDocument> .Filter.Eq("email", email); var studentsFound = students.Find(query); if (studentsFound.CountDocuments() <= 0) { throw new System.Exception("Could not find student"); } var student = studentsFound.First(); StudentDTO data = new StudentDTO(); data.name = student["name"].ToString(); data.email = student["email"].ToString(); ClassDTO[] classes = new ClassDTO[student["classes"].AsBsonArray.Count]; int idx = 0; foreach (var i in student["classes"].AsBsonArray) { var c = new ClassDTO(); var seat = new SeatDTO(); seat.x = i["seat"]["x"].ToInt32(); seat.y = i["seat"]["y"].ToInt32(); c.className = i["name"].ToString(); c.seat = seat; classes[idx] = c; idx++; } data.classes = classes; return(data); }
public IResult Update(SeatDTO dto) { Repo.Update(Mapper.DeMap(dto)); return(new Result() { Message = ResponseMessageType.None, ResponseStatusType = ResponseStatusType.Successed }); }
private BLLStandard.DTO.SeatDTO FromSeatDTOToBLLStandardSeatDTO(SeatDTO seatDTO) { return(new BLLStandard.DTO.SeatDTO { Id = seatDTO.Id, AreaId = seatDTO.AreaId, Row = seatDTO.Row, Number = seatDTO.Number }); }
public void Then_AssignSeatWithValidation_Throw_Exception_If_FlighNumber_Is_Empty() { //ARRANGE FlightDTO flightWhereToAssignSeats = new FlightDTO(string.Empty, DateTime.Now.AddHours(3)); SeatDTO serviceLibrarySeatDTOToBeAssigned = new SeatDTO("A", "2"); //ACT Sut.AssignSeatWithValidation(flightWhereToAssignSeats, serviceLibrarySeatDTOToBeAssigned); //ASSERT }
public void Update(SeatDTO obj) { if (!IsRowAndNumberUniqueByAreaId(obj.AreaId, obj.Row, obj.Number)) { throw new Exception("Not a unique seat!"); } repository.Update(new Seat { Id = obj.Id, AreaId = obj.AreaId, Row = obj.Row, Number = obj.Number }); }
public void Then_AssignSeatWithValidation_Throw_Exception_If_SeatsDTO_is_Default() { //ARRANGE FlightDTO flightWhereToAssignSeats = new FlightDTO("FN1", DateTime.Now.AddHours(3)); SeatDTO serviceLibrarySeatDTOToBeAssigned = default(SeatDTO); //ACT Sut.AssignSeatWithValidation(flightWhereToAssignSeats, serviceLibrarySeatDTOToBeAssigned); //ASSERT }
public void Then_AssignSeatWithValidation_Returns_True_If_SeatDTO_Is_Valid() { //ARRANGE FlightDTO flightWhereToAssignSeats = new FlightDTO("FN1", DateTime.Now.AddHours(3)); SeatDTO serviceLibrarySeatDTOToBeAssigned = new SeatDTO("A", "2"); //ACT bool actual = Sut.AssignSeatWithValidation(flightWhereToAssignSeats, serviceLibrarySeatDTOToBeAssigned); //ASSERT Assert.IsTrue(actual); }
private void TheaterToDto(Theater theater, TheaterDTO dto) { dto.Id = theater.Id; dto.TheaterName = theater.TheaterName; dto.IsActive = theater.IsActive; foreach (var item in theater.Seats) { SeatDTO dtoSeat = new SeatDTO(); dtoSeat.Id = item.Id; dtoSeat.SeatNo = item.SeatNo; dtoSeat.SeatTypeNo = item.SeatTypeNo; dto.Seats.Add(dtoSeat); } }
public async Task <bool> AddSeat(SeatDTO seatDTO) { try { var seat = mapper.Map <Seat>(seatDTO); db.Seats.Add(seat); await db.SaveAsync(); } catch (Exception exc) { return(false); } return(true); }
private void ValidateDTOsProperties(FlightDTO flight, SeatDTO seatDTO) { if (flight.Identifier != null && flight.Identifier.Length == 0) { throw new ArgumentException("Empty flightNumber"); } if (flight.DepartureTime == null) { throw new ArgumentNullException("Null departureDate"); } if (seatDTO == default(SeatDTO)) { throw new ArgumentNullException("Null seatDTO"); } }
public IEnumerable <Passenger> ChangeSeats(SeatDTO seatDTO) // Use seatNumber or passenger name? { Passenger passenger1 = _passengerRepository.GetPassengerBySeatNumber(seatDTO.SeatNumber1); Passenger passenger2 = _passengerRepository.GetPassengerBySeatNumber(seatDTO.SeatNumber2); passenger1.SeatNumber = seatDTO.SeatNumber2; passenger2.SeatNumber = seatDTO.SeatNumber1; _passengerRepository.SaveChanges(); List <Passenger> passengers = new List <Passenger>() { passenger1, passenger2 }; return(passengers); }
public void Create_Correct_Seat() { //Arrange var seatDTO = new SeatDTO { AreaId = 1, Row = 1, Number = 1 }; //Act service.Create(seatDTO); var res = service.GetById(0); //Assert Assert.AreEqual(seatDTO.AreaId, res.AreaId); Assert.AreEqual(seatDTO.Row, res.Row); Assert.AreEqual(seatDTO.Number, res.Number); }
public void Try_To_Update_With_Incorrect_Seat() { //Arrange var seatDTO = new SeatDTO { AreaId = 1, Row = 1, Number = 1 }; //Act service.Create(seatDTO); var incorrectSeatDTOForUpdate = new SeatDTO { AreaId = 1, Row = 1, Number = 1 }; //Assert Assert.Throws <Exception>(() => service.Update(incorrectSeatDTOForUpdate)); }
public bool UnassignSeatWithValidation(FlightDTO flight, SeatDTO seatDTO) { var result = false; ValidateDTOsProperties(flight, seatDTO); var aircraft = new Aircraft(flight.Identifier, flight.DepartureTime); if (_seatAssignment.ValidateTimeLimitBeforeFlightForAssignment(aircraft)) { var seat = _localMapper.Map <SeatDTO, Seat>(seatDTO); result = _seatAssignment.Unassign(aircraft, seat); } return(result); }
public async Task <List <Passenger> > ChangeSeats(int seatNumber1, int seatNumber2) { SeatDTO seatDTO = new SeatDTO(seatNumber1, seatNumber2); var seatDTOJson = JsonConvert.SerializeObject(seatDTO); var response = await client.PutAsync(new Uri("http://localhost:5000/api/steward/seat/change"), new HttpStringContent(seatDTOJson, Windows.Storage.Streams.UnicodeEncoding.Utf8, "application/json")); if (response.IsSuccessStatusCode) { var result = response.Content.ReadAsStringAsync().GetResults(); var passengers = JsonConvert.DeserializeObject <List <Passenger> >(result); return(passengers); } else { throw new Exception(); } }
public void Update_With_Correct_Seat() { //Arrange var seatDTO = new SeatDTO { AreaId = 1, Row = 1, Number = 1 }; //Act service.Create(seatDTO); var seatDTOForUpdate = new SeatDTO { Id = 0, AreaId = 1, Row = 1, Number = 2 }; service.Update(seatDTOForUpdate); //Assert Assert.AreEqual(service.GetById(0).AreaId, 1); Assert.AreEqual(service.GetById(0).Row, 1); Assert.AreEqual(service.GetById(0).Number, 2); }
public string ReserveASeat(string flighIdentifier, string departureTimeString, string row, string colum) { string returnedMessage = string.Empty; List <SeatDTO> seats = new List <SeatDTO>(); DateTime departureTime = ConvertDepartureTimeToDateTime(departureTimeString); ValidateParametersForReserveSeat(flighIdentifier, departureTime, Convert.ToInt16(row, CultureInfo.InvariantCulture), colum); ReservationSeatRequestDTO reservationSeatRequestDTO = new ReservationSeatRequestDTO(flighIdentifier, departureTime, Convert.ToInt16(row, CultureInfo.InvariantCulture), colum); FlightDTO flight = _localMapper.Map <ReservationSeatRequestDTO, FlightDTO>(reservationSeatRequestDTO); SeatDTO seat = _localMapper.Map <ReservationSeatRequestDTO, SeatDTO>(reservationSeatRequestDTO); seats.Add(seat); returnedMessage = CallApplicationMethods(SeatReservationForAircraftsOperationsEnum.ReserveASeat, flight, seats); return(returnedMessage); }
public void BookShow(CinemaShowDTO cinemaShow, SeatDTO seat) { if (cinemaShow == null) { throw new ArgumentNullException(nameof(cinemaShow)); } if (seat == null) { throw new ArgumentNullException(nameof(seat)); } var booking = new BookingDTO { CinemaShow = cinemaShow, Seat = seat, IsBooked = true }; _context.Bookings.Add(booking); _context.SaveChanges(); }
public Seat DeMap(SeatDTO dto) { Seat entity = repo.GetByID(dto.Id); if (entity == null) { return new Seat() { VanId = dto.VanId, Number = dto.Number, Type = dto.Type, IsOccupied = dto.IsOccupied, Id = dto.Id } } ; entity.VanId = dto.VanId; entity.Number = dto.Number; entity.Type = dto.Type; entity.IsOccupied = dto.IsOccupied; entity.Id = dto.Id; return(entity); }
public void Update(SeatDTO obj) { seatServicece.Update(FromSeatDTOToBLLStandardSeatDTO(obj)); }
public Seat(SeatDTO seatdto) { this.SeatId = seatdto.SeatId; this.Passenger = null; }
public bool ChangeSeatWithValidation(FlightDTO flight, SeatDTO oldSeatDTO, SeatDTO newSeatDTO) { var result = this.UnassignSeatWithValidation(flight, oldSeatDTO) && this.AssignSeatWithValidation(flight, newSeatDTO); return(result); }
public ActionResult RedirectProjectionData(FormCollection data) { try { var kidsRetirees = int.Parse(data["kidsRetirees"]); var students = int.Parse(data["students"]); var adults = int.Parse(data["adults"]); var projectionID = int.Parse(data["projectionID"]); var totalPrice = decimal.Parse(data["totalPrice"]); var projectionTime = data["projectionTime"].Split(' '); Session["ticketDate"] = projectionTime[0]; Session["ticketHour"] = projectionTime[1] + projectionTime[2]; var seatDtos = new List <SeatDTO>(); using (var context = new CinemaTicketsDbContext()) { var projection = context.Projections.FirstOrDefault(p => p.ProjectionID == projectionID); var hallNumber = context.Halls.FirstOrDefault(h => h.HallID == projection.HallID).HallNumber; Session["hallNumber"] = hallNumber; var tickets = projection.Tickets.ToList(); foreach (var ticket in tickets) { var seatDto = new SeatDTO { Column = ticket.Seat.Column, Row = ticket.Seat.Row, HallID = ticket.Seat.HallID, SeatID = ticket.Seat.SeatID }; if (ticket.IsSold) { seatDto.IsTaken = true; } else { seatDto.IsTaken = false; } seatDtos.Add(seatDto); } } var model = new SeatViewModel() { Adults = adults, KidsRetirees = kidsRetirees, SeatDtos = seatDtos, Students = students, TotalPrice = totalPrice, ProjectionID = projectionID }; CacheViewModel.CacheModel(model); } catch (Exception e) { return(new HttpStatusCodeResult(400, "Something went wrong! :(")); } return(new HttpStatusCodeResult(200, "OK")); }
public ClassDTO GetClass(string className) { // Create a filter that will find the class with the given email FilterDefinition <BsonDocument> query = Builders <BsonDocument> .Filter.Eq("name", className); // If no classes were found throw exception var foundClasses = classes.Find(query); if (foundClasses.CountDocuments() <= 0) { throw new System.Exception("Could not find class"); } var foundClass = foundClasses.First(); // Create a ClassDTO to hand back to caller ClassDTO MrClassy = new ClassDTO(); MrClassy.className = className; MrClassy.height = foundClass["height"].ToInt32(); MrClassy.width = foundClass["width"].ToInt32(); MrClassy.notificationFreq = foundClass["notificationFreq"].ToInt32(); var roster = foundClass["roster"].AsBsonArray; if (roster.Count != 0) { MrClassy.roster = new StudentRosterDTO[roster.Count]; for (int i = 0; i < roster.Count; ++i) { StudentRosterDTO rStudent = new StudentRosterDTO(); rStudent.studentName = (string)roster[i]["name"]; var daysMissed = roster[i]["daysMissed"].AsBsonArray; rStudent.daysMissed = new string[daysMissed.Count]; for (int j = 0; j < daysMissed.Count; j++) { rStudent.daysMissed[j] = (string)daysMissed[j]; } MrClassy.roster[i] = rStudent; } } try { MrClassy.mandatory = foundClass["mandatory"].ToBoolean(); } catch (Exception e) {} // Get disabled seats var dseats = foundClass["dSeats"].AsBsonArray; MrClassy.DisabledSeats = new SeatDTO[dseats.Count]; for (int i = 0; i < dseats.Count; ++i) { var s = dseats[i]; SeatDTO seat = new SeatDTO(); seat.x = s["x"].ToInt32(); seat.y = s["y"].ToInt32(); MrClassy.DisabledSeats[i] = seat; } // Get reserved seats var rseats = foundClass["rSeats"].AsBsonArray; MrClassy.ReservedSeats = new SeatDTO[rseats.Count]; for (int i = 0; i < rseats.Count; ++i) { var s = rseats[i]; SeatDTO seat = new SeatDTO(); seat.x = s["x"].ToInt32(); seat.y = s["y"].ToInt32(); seat.email = s["email"].ToString(); seat.name = s["name"].ToString(); MrClassy.ReservedSeats[i] = seat; } // Get accessible seats var aseats = foundClass["aSeats"].AsBsonArray; MrClassy.AccessibleSeats = new SeatDTO[aseats.Count]; for (int i = 0; i < aseats.Count; ++i) { var s = aseats[i]; SeatDTO seat = new SeatDTO(); seat.x = s["x"].ToInt32(); seat.y = s["y"].ToInt32(); MrClassy.AccessibleSeats[i] = seat; } // Get open seats var oseats = foundClass["oSeats"].AsBsonArray; MrClassy.OpenSeats = new SeatDTO[oseats.Count]; for (int i = 0; i < oseats.Count; ++i) { var s = oseats[i]; SeatDTO seat = new SeatDTO(); seat.x = s["x"].ToInt32(); seat.y = s["y"].ToInt32(); MrClassy.OpenSeats[i] = seat; } return(MrClassy); }
//Henter en række fra et tablenavn hvor id findes public object Get(string TableName, int Id) { object ObjReturn = new object(); switch (TableName) { case "Movie": MovieDTO Movie = new MovieDTO(); ObjReturn = Movie; break; case "Reservation": ReservationDTO Reservation = new ReservationDTO(); ObjReturn = Reservation; break; case "Resource": ResourceDTO Resource = new ResourceDTO(); ObjReturn = Resource; break; case "Screening": ScreeningDTO Screening = new ScreeningDTO(); ObjReturn = Screening; break; case "Seat": SeatDTO Seat = new SeatDTO(); ObjReturn = Seat; break; case "Theater": TheaterDTO Theater = new TheaterDTO(); ObjReturn = Theater; break; case "MovieScreening": MovieScreeningDTO MovieScreening = new MovieScreeningDTO(); ObjReturn = MovieScreening; break; default: ObjReturn = null; break; } if (ObjReturn != null) { try { using (SqlConnection con = new SqlConnection(ConfigConnectionString)) { con.Open(); using (SqlCommand com = new SqlCommand("SELECT * FROM " + TableName + " where id = " + Id.ToString(), con)) { using (SqlDataReader reader = com.ExecuteReader()) { while (reader.Read()) { //Løber igennem properties og sætter property til værdien den finder i rækkens felt med samme kolonnenavn som propertyname foreach (PropertyInfo pi in ObjReturn.GetType().GetProperties()) { pi.SetValue(ObjReturn, reader.GetValue(reader.GetOrdinal(pi.Name))); } } } } } } catch (Exception Ex) { return(Ex); } } return(ObjReturn); }
//Henter alt fra et tablenavn public List <object> GetAll(string TableName, string ColumnToCheckName = null, string ValueToMatch = null, Type Type = null) { List <object> LisReturn = new List <object>(); string FilterString = string.Empty; if (ColumnToCheckName != null && ValueToMatch != null && Type != null) { if (Type == typeof(decimal)) { FilterString = (" WHERE " + ColumnToCheckName + " = " + ValueToMatch.Replace(",", ".")); } else if (Type == typeof(string)) { FilterString = (" WHERE " + ColumnToCheckName + " = '" + ValueToMatch + "'"); } else if (Type == typeof(bool)) { FilterString = (" WHERE " + ColumnToCheckName + " = " + (Convert.ToBoolean(ValueToMatch) ? 1 : 0)); } else if (Type == typeof(DateTime)) { FilterString = (" WHERE " + ColumnToCheckName + " = '" + Convert.ToDateTime(ValueToMatch).ToString("yyyy-MM-dd HH:mm:ss.fffffff") + "'"); } else if (Type == typeof(int)) { FilterString = (" WHERE " + ColumnToCheckName + " = " + ValueToMatch); } } try { using (SqlConnection Con = new SqlConnection(ConfigConnectionString)) { Con.Open(); string CommandString = "SELECT * FROM " + TableName + FilterString; using (SqlCommand Com = new SqlCommand(CommandString, Con)) { using (SqlDataReader reader = Com.ExecuteReader()) { while (reader.Read()) { bool Skip = false; object ObjReturn = new object(); switch (TableName) { case "Movie": MovieDTO Movie = new MovieDTO(); ObjReturn = Movie; break; case "Reservation": ReservationDTO Reservation = new ReservationDTO(); ObjReturn = Reservation; break; case "Resource": ResourceDTO Resource = new ResourceDTO(); ObjReturn = Resource; break; case "Screening": ScreeningDTO Screening = new ScreeningDTO(); ObjReturn = Screening; break; case "Seat": SeatDTO Seat = new SeatDTO(); ObjReturn = Seat; break; case "Theater": TheaterDTO Theater = new TheaterDTO(); ObjReturn = Theater; break; case "MovieScreening": MovieScreeningDTO MovieScreening = new MovieScreeningDTO(); ObjReturn = MovieScreening; break; case "ResourceScreening": ResourceScreeningDTO ResourceScreening = new ResourceScreeningDTO(); ObjReturn = ResourceScreening; break; default: ObjReturn = null; Skip = true; break; } if (!Skip) { //Løber igennem properties og sætter property til værdien den finder i rækkens felt med samme kolonnenavn som propertyname foreach (PropertyInfo pi in ObjReturn.GetType().GetProperties()) { pi.SetValue(ObjReturn, reader.GetValue(reader.GetOrdinal(pi.Name))); } LisReturn.Add(ObjReturn); } } } } } } catch (Exception Ex) { LisReturn.Add(Ex); } return(LisReturn); }