public async Task <int> UpdateCanibet(CanibetUpdateModel model, CancellationToken cancelllationToken) { _hsrDb.Configuration.LazyLoadingEnabled = false; var canibet = await _hsrDb.Canibets.SingleOrDefaultAsync(c => c.ID == model.ID, cancelllationToken); var result = 0; if (canibet == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } canibet.DetailType = model.DetailType; canibet.FunctionType = model.FunctionType; canibet.UPdateDate = DateTime.Now; if (model.DetailType == DetailTypeEnum.Announcement) { var canibetAnnouncement = await _hsrDb.CanibetDetails.SingleOrDefaultAsync(c => c.Type == DetailTypeEnum.Announcement && c.CanibetID == model.ID, cancelllationToken); if (canibetAnnouncement == null) { _hsrDb.CanibetDetails.Add(new CanibetDetail() { CanibetID = model.ID, Announcement = model.Announcement, CreateDate = DateTime.Now, Directory = string.Empty, Type = DetailTypeEnum.Announcement, UpdateDate = DateTime.Now, FileName = string.Empty, MediaType = string.Empty }); } else { canibetAnnouncement.Announcement = model.Announcement; canibetAnnouncement.UpdateDate = DateTime.Now; } } using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { result = await _hsrDb.SaveChangesAsync(cancelllationToken); scope.Complete(); } var indexModel = new CanibetIndexModel() { ID = canibet.ID, DetailType = canibet.DetailType.ToString(), FunctionType = canibet.FunctionType.GetDescription() }; Microsoft.AspNet.SignalR.IHubContext context = Microsoft.AspNet.SignalR.GlobalHost.ConnectionManager.GetHubContext <CanibetHub>(); context.Clients.All.broadcastMessage(indexModel); return(result); }
public ActionResult LogOff() { //AuthenticationManager.SignOut(); FormsAuthentication.SignOut(); Session.RemoveAll(); Session.Abandon(); _canibetDao.ResetCanibet(); CanibetIndexModel indexModel = new CanibetIndexModel() { isUsing = false, }; Microsoft.AspNet.SignalR.IHubContext context = Microsoft.AspNet.SignalR.GlobalHost.ConnectionManager.GetHubContext <CanibetHub>(); context.Clients.All.broadcastMessage(indexModel); return(RedirectToAction("Index", "Home")); }
public async Task <ActionResult> Index(int id, CancellationToken cancelllationToken) { var canibet = await _hsrDb.Canibets.SingleOrDefaultAsync(c => c.ID == id, cancelllationToken); var model = new CanibetIndexModel(); if (canibet != null) { model.isUsing = true; model.ID = canibet.ID; model.FunctionType = canibet.FunctionType.GetDescription(); model.DetailType = canibet.DetailType.ToString(); } else { model.isUsing = false; } return(View(model)); }