Esempio n. 1
0
        public static Hotel GetHotel(Guid hotelGuid)
        {
            using (var context = new DbRepository.OpenSspContext())
            {
                var hotel = new Hotel();

                var dbHotel = context.Hotel.SingleOrDefault(x => x.Guid == hotelGuid);
                if (dbHotel == null)
                {
                    return(null);
                }

                hotel.Guid      = dbHotel.Guid;
                hotel.Name      = dbHotel.Name;
                hotel.Address   = dbHotel.Address;
                hotel.Buildings = new List <Building>();

                foreach (var dbBuilding in dbHotel.Housing)
                {
                    var building = new Building
                    {
                        Guid       = dbBuilding.Guid,
                        Name       = dbBuilding.Name,
                        SortNumber = (int)dbBuilding.SortNumber,
                        Rooms      = new List <Room>()
                    };

                    foreach (var dbRoom in dbBuilding.Room)
                    {
                        var room = new Room
                        {
                            Guid        = dbRoom.Guid,
                            Name        = dbRoom.Name,
                            Status      = (RoomStatus?)dbRoom.Status,
                            CostPerDay  = dbRoom.CostPerDay,
                            CostService = dbRoom.CostService
                        };
                        building.Rooms.Add(room);
                    }

                    hotel.Buildings.Add(building);
                }

                return(hotel);
            }
        }
Esempio n. 2
0
        public static OperationResult AddBuilding(Guid hotelGuid, string name)
        {
            using (var context = new DbRepository.OpenSspContext())
            {
                var dbBuilding = context.Housing.FirstOrDefault(x => x.HotelGuid == hotelGuid && x.Name == name);
                if (dbBuilding != null)
                {
                    return(OperationResult.DuplicateNameError);
                }

                //dbBuilding = new DbRepository.Housing();
                //{
                //    Guid = Guid.NewGuid(),
                //    Name = name,
                //    SortNumber = context.Building.Count(),
                //    HotelGuid = hotelGuid
                //};
                //context.Building.Add(dbBuilding);

                context.SaveChanges();

                return(OperationResult.Success);
            }
        }