public HttpResponseMessage AddReservation(AddReservationRequestDTO model) { try { var result = _reservationService.AddReservation(model); return(Request.CreateResponse(HttpStatusCode.OK, result)); } catch (Exception e) { _logger.Error(e, "GetDetails"); return(Request.CreateResponse(HttpStatusCode.InternalServerError, e)); } }
public bool AddReservation(Reservation reservation) { AddReservationRequestDTO addReservationRequestDTO = new AddReservationRequestDTO(reservation); return(reservationPortClient.addReservation(addReservationRequestDTO.AddReservationRequest).success); }
public ResponseModel <AddReservationResponseDTO> AddReservation(AddReservationRequestDTO dto) { if (dto == null || dto.User == null) { return new ResponseModel <AddReservationResponseDTO>() { Code = ResultActionModelCode.NoData, Message = "No data" } } ; using (var unity = _factory.GetUnitOfWork(UnitOfWorkContext.Default)) { var room = unity.GetRepository <Room>().AsQueryable() .FirstOrDefault(x => x.Id == dto.RoomId); if (room == null) { return new ResponseModel <AddReservationResponseDTO>() { Code = ResultActionModelCode.NoEntityFound, Message = "No enetity found" } } ; var user = unity.GetRepository <User>().AsQueryable() .FirstOrDefault(x => x.FirstName == dto.User.FirstName && x.LastName == dto.User.LastName); if (user == null) { user = new User() { FirstName = dto.User.FirstName, LastName = dto.User.LastName }; unity.GetRepository <User>().Add(user); unity.SaveChanges(); } var reservation = new Reservation() { DateFrom = dto.From, DateTo = dto.To, Phase = ReservationPhase.InsertedInformation, Room = room, Type = ReservationType.Normal, User = user }; unity.GetRepository <Reservation>() .Add(reservation); unity.SaveChanges(); AddReservationResponseDTO result = new AddReservationResponseDTO() { ReservationId = reservation.Id, Room = new RoomDetailsResponseDTO() { RoomId = room.Id, Price = room.Price, }, User = new UserDetailsModelDTO() { FirstName = user.FirstName, LastName = user.LastName, } }; return(ResponseModel <AddReservationResponseDTO> .OK(result)); } }