Esempio n. 1
0
        private static void Subscribe()
        {
            SubscribeResource sr = new SubscribeResource(1, 1, 100, "test", 1000, DateTime.Now,
                new Bookings.Contract.TimeSlot(DateTime.Now, DateTime.Now.AddHours(4).AddSeconds(32)));

            SqlOption option = new SqlOption { ConnectionString = "Server=localhost;Port=3306;Database=yue;Uid=root;Pwd=123456;" };
            BookingWriteRepository bookingWriteRepository = new BookingWriteRepository(option);
            BookingHandler bookingHandler = new BookingHandler(bookingWriteRepository);
            bookingHandler.Execute(sr);
        }
Esempio n. 2
0
        public static Booking Create(SubscribeResource action)
        {
            Booking booking = new Booking();
            booking.State = BookingState.Initial;

            booking.EnsoureAndUpdateState(action);
            booking.BookingId = action.BookingId;
            booking.ResourceId = action.ResourceId;
            booking.TimeSlot = action.TimeSlot;
            booking.CreateBy = action.CreateBy;
            booking.CreateAt = action.CreateAt;
            booking.UpdateAt = action.CreateAt;
            booking.UpdateBy = action.CreateBy;
            return booking;
        }
Esempio n. 3
0
        public async Task<IHttpActionResult> SubscribeResource([FromBody]SubscribeResourceVM vm)
        {
            SubscribeResource action = new SubscribeResource(
                _sequenceService.Next(Sequence.BookingAction),
                vm.Resource,
                _sequenceService.Next(Sequence.Booking),
                vm.Message,
                 new TimeSlot(vm.From, vm.To),
                DateTime.Now,
                userId);
            ActionResponse actionResponse = await _actionBus.SendAsync<BookingActionBase, SubscribeResource>(action);

            var booking = _bookingService.Get(action.BookingId);
            return Created<BookingVM>(
                Url.Link("", new { controller = "Booking", id = booking.BookingId }), 
                BookingVM.ToVM(booking));
        }