Esempio n. 1
0
        static void InsertRooms(FptFapClient fapClient)
        {
            var fapRooms = fapClient.GetAllRooms().Result;
            var rooms    = fapRooms.Select(o => o.ToRoom())
                           .Distinct(new RoomComparer()).ToList();
            var builder = new DbContextOptionsBuilder <DataContext>().UseSqlServer(
                DataConsts.CONN_STR);
            var options = builder.Options;

            using (var context = new DataContext(options))
            {
                context.Room.AddRange(rooms);
                context.SaveChanges();
            }
        }
        public async Task <int> SyncRoomWithFapAsync(FptFapClient fapClient)
        {
            var rooms = await fapClient.GetAllRooms();

            var area3Rooms = rooms.Where(o => o.AreaId == 3).ToList();

            foreach (var r in area3Rooms)
            {
                var  existed = Rooms.Code(r.RoomNo).Any();
                Room entity  = r.ToRoom();
                if (existed)
                {
                    var oldRes = RoomResources.OfRoom(entity.Code).ToList();
                    DeleteRoomServices(oldRes);
                    context.Room.Update(entity);
                }
                else
                {
                    context.Room.Add(entity);
                }
            }
            return(area3Rooms.Count);
        }