public ActionResult <HotelDTO> Create([FromBody] HotelDTO hotelDTO)
 {
     try
     {
         HotelMapper     hotelMapper = MapperFactory.createHotelMapper();
         Entity          entity      = hotelMapper.CreateEntity(hotelDTO);
         AddHotelCommand command     = CommandFactory.createAddHotelCommand((Hotel)entity);
         command.Execute();
         int idFromData = command.GetResult();
         _logger?.LogInformation($"Obtenido el id = {idFromData} el Hotel exitosamente al agregar");
         GetHotelByIdCommand commandId = CommandFactory.GetHotelByIdCommand(idFromData);
         commandId.Execute();
         var result = commandId.GetResult();
         _logger?.LogInformation($"Obtenido el hotel exitosamente por Id = {idFromData}");
         DTO lDTO = hotelMapper.CreateDTO(result);
         return(CreatedAtAction("Get", "hotels", lDTO));
     }
     catch (RequiredAttributeException e)
     {
         _logger?.LogWarning($"Atributo requerido no recibido al agregar Hotel: {e.Message}");
         return(new BadRequestObjectResult(new ErrorMessage(e.Message)));
     }
     catch (InvalidAttributeException e)
     {
         _logger?.LogWarning($"Valor del atributo es invalido al agregar Hotel: {e.Message}");
         return(new BadRequestObjectResult(new ErrorMessage(e.Message)));
     }
 }
        public void CreateDTOTest()
        {
            HotelMapper _HotelMapper = MapperFactory.createHotelMapper();
            var         result       = _HotelMapper.CreateDTO(_hotel);

            Assert.IsInstanceOf <HotelDTO>(result);
        }
        public List <Hotel> RetrieveAllByUser(string user)
        {
            try
            {
                HotelMapper hotelMapper = new HotelMapper();
                var         lstResult   = SqlDao.GetInstance()
                                          .ExecuteQueryProcedure(
                    hotelMapper.GetRetriveAllByIdStatement(user)
                    );

                if (lstResult.Count <= 0)
                {
                    return(default(List <Hotel>));
                }

                var obj = EntityObjectMapper.BuildObjects(lstResult);

                return(obj.Cast <Hotel>().ToList());
            }
            catch (Exception e)
            {
                ManageException(e);
            }
            return(null);
        }
Пример #4
0
        public int EliminarHotel(int id)
        {
            if (!_listahoteles.Any(o => o.Id == id))
            {
                throw new ReservasException("No existe el hotel");
            }
            List <Habitacion> listaHabitaciones = _listaHabitaciones.Where(x => x.Id == id).ToList();

            foreach (Habitacion a in listaHabitaciones)
            {
                if (_listaReservas.Any(o => o.IdHabitacion == a.Id))
                {
                    throw new ReservasException("Hotel con reservas. Debe eliminarlas.");
                }
            }
            if (listaHabitaciones.Count > 0)
            {
                throw new ReservasException("Hotel con habitaciones. Debe eliminarlas.");
            }
            TransactionResult resultado = HotelMapper.Delete(id);

            if (resultado.IsOk)
            {
                HotelesCache();
                return(resultado.Id);
            }
            else
            {
                throw new ReservasException(resultado.Error);
            }
        }
        public ActionResult <HotelDTO> Update([FromRoute] int hotelId, [FromBody] HotelDTO hotelDTO)
        {
            try
            {
                GetHotelByIdCommand commandId = CommandFactory.GetHotelByIdCommand(hotelId);
                commandId.Execute();
                HotelMapper hotelMapper = MapperFactory.createHotelMapper();

                Entity             entity  = hotelMapper.CreateEntity(hotelDTO);
                UpdateHotelCommand command = CommandFactory.UpdateHotelCommand(hotelId, (Hotel)entity);
                command.Execute();
                var result = command.GetResult();
                _logger?.LogInformation($"Obtenido el hotel exitosamente, despues de actualizar con el Id = {hotelId}");
                DTO lDTO = hotelMapper.CreateDTO(result);
                return(Ok(lDTO));
            }
            catch (HotelNotFoundException ex)
            {
                _logger?.LogWarning("Hotel con id = {hotelId} no conseguido al intentar actualizar");
                return(new NotFoundObjectResult(new ErrorMessage($"Hotel con id {hotelId} no conseguido")));
            }
            catch (RequiredAttributeException e)
            {
                _logger?.LogWarning($"El atributo requerido no fue recibido al actualizar el Hotel: {e.Message}");
                return(new BadRequestObjectResult(new ErrorMessage(e.Message)));
            }
            catch (InvalidAttributeException e)
            {
                _logger?.LogWarning($"El valor del atributo es invalido al actualizar el Hotel: {e.Message}");
                return(new BadRequestObjectResult(new ErrorMessage(e.Message)));
            }
        }
 private static void RefrescarCache()
 {
     cacheReservas = ReservaMapper.TraerReservas();
     listaHoteles  = HotelMapper.TraerHoteles();
     listaClientes = ClienteServicio.TraerClientes();
     listaHoteles.ForEach(x => x.Habitaciones.AddRange(HabitacionMapper.TraerHabitacionesPorId(x.Id)));
     LlenarListas();
 }
Пример #7
0
        public async Task <IActionResult> GetHotels([FromBody] HotelQueryDto hotelQuery)
        {
            Params          userQuery = Params.FromModelDto(hotelQuery).AddHotelSearchDefaultParams();
            Result <Hotels> result    = await Mediator.Send(new HotelsList.Query {
                param = userQuery
            });

            return(Ok(HotelMapper.HotelsToDto(result.Value)));
        }
Пример #8
0
 public void ValidHotelDTOCommand_NoExceptionThrown()
 {
     Assert.DoesNotThrow(() =>
     {
         HotelMapper _HotelMapper         = MapperFactory.createHotelMapper();
         HotelDTO result                  = _HotelMapper.CreateDTO(_hotel);
         HotelDTOValidatorCommand command = CommandFactory.HotelDTOValidatorCommand(result);
         command.Execute();
     });
 }
        public void CreateEntityTest()
        {
            HotelMapper _HotelMapper = MapperFactory.createHotelMapper();
            HotelDTO    HotelDTO     = DTOFactory.CreateHotelDTO(_hotel.Id, _hotel.Name, _hotel.AmountOfRooms,
                                                                 _hotel.RoomCapacity, _hotel.IsActive, _hotel.AddressSpecification,
                                                                 _hotel.PricePerRoom, _hotel.Website, _hotel.Phone, _hotel.Picture,
                                                                 _hotel.Stars, _hotel.Location.Id);
            var result = _HotelMapper.CreateEntity(HotelDTO);

            Assert.IsInstanceOf <Hotel>(result);
        }
Пример #10
0
 internal static bool SetHotel(HotelManag ratify)
 {
     if (HotelMapper.UpdataAudit(ratify))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Пример #11
0
 public void ValidHotelDTOCommand_LocationExceptionThrown()
 {
     Assert.Throws <RequiredAttributeException>(() =>
     {
         HotelMapper _HotelMapper         = MapperFactory.createHotelMapper();
         HotelDTO result                  = _HotelMapper.CreateDTO(_hotel);
         result.Location                  = null;
         HotelDTOValidatorCommand command = CommandFactory.HotelDTOValidatorCommand(result);
         command.Execute();
     });
 }
        public void CreateDTOListTest()
        {
            HotelMapper  _HotelMapper = MapperFactory.createHotelMapper();
            List <Hotel> entities     = new List <Hotel>();

            entities.Add(_hotel);
            entities.Add(_hotel);
            var result = _HotelMapper.CreateDTOList(entities);

            Assert.IsInstanceOf <List <HotelDTO> >(result);
        }
Пример #13
0
 public HotelServicios()
 {
     _listahoteles      = new List <Hotel>();
     _listaHabitaciones = new List <Habitacion>();
     _listaReservas     = new List <Reserva>();
     //Cache
     _listaclientes = ClienteMapper.TraerTodos();
     _listahoteles  = HotelMapper.Hotel_getAll();
     _listaReservas = ReservaMapper.Reserva_getAll();
     foreach (Hotel a in _listahoteles)
     {
         _listaHabitaciones.AddRange(HabitacionMapper.Habitacion_getAllByHotel(a.Id));
     }
 }
Пример #14
0
        /// <summary>
        /// 筛选前7个
        /// </summary>
        /// <param name="HotelNum">数量</param>
        /// <returns></returns>
        public static List <HotelManag> GetHotelsrecommend(int HotelNum)
        {
            int i = 0;
            List <HotelManag> list = new List <HotelManag>();
            var Hotrl = HotelMapper.Getrecommend();

            foreach (var item in Hotrl)
            {
                if (HotelNum > i)
                {
                    list.Add(item);
                    i++;
                    continue;
                }
                break;
            }
            return(list);
        }
 public ActionResult <HotelDTO> GetById([FromRoute] int hotelId)
 {
     try
     {
         HotelMapper         hotelMapper = MapperFactory.createHotelMapper();
         GetHotelByIdCommand commandId   = CommandFactory.GetHotelByIdCommand(hotelId);
         commandId.Execute();
         var result = commandId.GetResult();
         _logger?.LogInformation($"Obtenido el hotel exitosamente por Id = {hotelId}");
         DTO lDTO = hotelMapper.CreateDTO(result);
         return(Ok(lDTO));
     }
     catch (HotelNotFoundException ex)
     {
         _logger?.LogWarning($"Hotel con Id = {hotelId} no conseguido al consultar");
         return(NotFound());
     }
 }
Пример #16
0
        public int IngresarHotel(Hotel hotel)
        {
            if (_listahoteles.Any(o => o.Nombre == hotel.Nombre))
            {
                throw new ReservasException("El hotel ya existe.");
            }

            TransactionResult resultado = HotelMapper.Insert(hotel);

            if (resultado.IsOk)
            {
                HotelesCache();
                return(resultado.Id);
            }
            else
            {
                throw new ReservasException(resultado.Error);
            }
        }
 public static void InsertarHotel(Hotel hotel)
 {
     if (ExisteHotel(hotel))
     {
         throw new Exception("no se encontró el hotel");
     }
     else
     {
         TransactionResult result = HotelMapper.Insert(hotel);
         if (!result.IsOk)
         {
             throw new ErrorServidorException(result.Error);
         }
         else
         {
             RefrescarCache();
         }
     }
 }
        public ActionResult <IEnumerable <HotelDTO> > Get([FromQuery] int location = -1)
        {
            GetHotelsCommand       commandHotels = CommandFactory.GetHotelsCommand();
            GetHotelsByCityCommand commandByCity = CommandFactory.GetHotelsByCityCommand(location);

            commandHotels.Execute();
            commandByCity.Execute();
            var resulthotel = commandHotels.GetResult();

            _logger?.LogInformation($"Se obtuvieron los hoteles exitosamente");
            var resultcity = commandByCity.GetResult();

            _logger?.LogInformation($"Obtenida las ciudades exitosamente por: {location}");
            HotelMapper hotelMapper = MapperFactory.createHotelMapper();

            return(location == -1
                ?  hotelMapper.CreateDTOList(resulthotel)
                :  hotelMapper.CreateDTOList(resultcity));
        }
        public void Setup()
        {
            _hotelsController = new HotelsController(null);
            _insertedHotels   = new List <int>();
            _hotelentity      = HotelBuilder.Create()
                                .WithName("Hotel Cagua")
                                .WithAmountOfRooms(2000)
                                .WithCapacityPerRoom(2)
                                .WithPricePerRoom(200)
                                .WithPhone("04243240208")
                                .WithWebsite("HC.com")
                                .WithStars(2)
                                .LocatedAt(HotelTestSetup.LOCATION_ID)
                                .WithStatus(true)
                                .WithAddressDescription("Calle Los Almendrones")
                                .WithPictureUrl("alguncodigoenbase64")
                                .Build();
            HotelMapper _HotelMapper = MapperFactory.createHotelMapper();

            _hotel = _HotelMapper.CreateDTO(_hotelentity);
        }
Пример #20
0
        public int ModificarHotel(Hotel hotel)
        {
            if (_listahoteles.Any(o => o.Nombre == hotel.Nombre && o.Id != hotel.Id))
            {
                throw new ReservasException("El hotel ya existe.");
            }
            if (!_listahoteles.Any(o => o.Id == hotel.Id))
            {
                throw new ReservasException("Hotel no encontrado.");
            }
            TransactionResult resultado = HotelMapper.Update(hotel);

            if (resultado.IsOk)
            {
                HotelesCache();
                return(resultado.Id);
            }
            else
            {
                throw new ReservasException(resultado.Error);
            }
        }
Пример #21
0
 public HotelCrudFactory() : base()
 {
     mapper = new HotelMapper();
     dao    = SqlDao.GetInstance();
 }
Пример #22
0
 public ImplementingServiceHotel() : base()
 {
     bookingMapper = new BookingMapper();
     hotelMapper   = new HotelMapper();
     roomMapper    = new RoomMapper();
 }
Пример #23
0
 public static List <HotelManag> Hotel()
 {
     return(HotelMapper.GetHotel());
 }
 private static void RefrescarCache()
 {
     cacheHoteles = HotelMapper.TraerHoteles();
 }
Пример #25
0
 internal static List <HotelManag> SelectHotel(string hotelname)
 {
     return(HotelMapper.SelectHotel(hotelname));
 }
Пример #26
0
 /// <summary>
 /// 地址筛选前4个
 /// </summary>
 /// <param name="HotelNum"></param>
 /// <returns></returns>
 public static List <HotelManag> GetHotelsAll(int HotelNum)
 {
     return(HotelMapper.GetALL(HotelNum));
 }
Пример #27
0
 public void HotelesCache()
 {
     _listahoteles = HotelMapper.Hotel_getAll();
 }
Пример #28
0
 /// <summary>
 /// 模糊查询
 /// </summary>
 /// <param name="search"></param>
 /// <returns></returns>
 internal static object SearchHotel(string search)
 {
     return(HotelMapper.Hunt(search));
 }