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); }
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; }
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)); }