public async Task <IActionResult> EditShout([FromBody] Shout shout) { var user = await TokenHelper.GetUser(User, _userManager); if (user == null) { return(RequestHandler.Unauthorized()); } if (!shout.User.Equals(user.Id)) { if (!User.IsInRole("Admin") && !User.IsInRole("Moderator")) { return(RequestHandler.Unauthorized()); } } using (var session = _documentStoreHolder.Store.OpenAsyncSession()) { await session.StoreAsync(shout); await session.SaveChangesAsync(); } await _signalRHub.Clients.All.EditShout(shout); return(Ok()); }
public async Task GetPreviousShoutsPage_CallsAllExpectedServices() { // Arrange var shouts = new Shout[] { new Shout(), new Shout(), new Shout() }; var shoutsResponse = new ShoutsResponse { ContinuationToken = new ContinuationToken(), Shouts = shouts }; _continuationTokenHelperMock .Setup(x => x.GetPreviousPageToken()) .Returns(new ContinuationToken()); _apiClientMock .Setup(x => x.GetShoutsResponse(It.IsAny <ContinuationToken>())) .ReturnsAsync(shoutsResponse); // Act var result = await _paginationService.GetPreviousShoutsPage(); // Assert Assert.Equal(shouts, result); _continuationTokenHelperMock.Verify(x => x.AddToken(It.IsAny <ContinuationToken>()), Times.Never); }
public async Task <IActionResult> Shout([FromBody] ShoutBoxModel model) { var user = await TokenHelper.GetUser(User, _userManager); if (user == null) { return(RequestHandler.Unauthorized()); } var shout = new Shout { Message = model.Message, User = user.Id, Date = DateTime.UtcNow, Email = user.Email, Username = user.UserName.Capitalize() }; using (var session = _documentStoreHolder.Store.OpenAsyncSession()) { await session.StoreAsync(shout); await session.SaveChangesAsync(); } await _signalRHub.Clients.All.ReceiveShoutBoxMessage(shout); return(Ok()); }
public async Task <IActionResult> Edit(int id, [Bind("ID,Type,Data,Location,ShoutBy,ShoutByID,Vote,Reject,Time,Attach,Image")] Shout shout) { if (id != shout.ID) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(shout); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ShoutExists(shout.ID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(shout)); }
protected override void Render(System.Web.UI.HtmlTextWriter writer) { if (_renderContainer) { writer.WriteLine(@"<div id=""shoutList"">"); } for (int i = 0; i < this._shouts.Count; i++) { Shout shout = this._shouts[i]; if (shout.IsSpam) { shout.Message = "<em>[shout removed]</em>"; } writer.WriteLine(@"<div class=""shout"">"); new UserLink(shout.FromUserID).RenderControl(writer); writer.WriteLine(" said "); if (_showTime) { writer.WriteLine(@"<span style=""font-size:smaller"">({0})</span>:", Dates.ReadableDiff(shout.CreatedOn, DateTime.Now)); } writer.WriteLine(@"<div class=""shoutMessage"">{0}</div>", shout.Message); writer.WriteLine("</div>"); } if (_renderContainer) { writer.WriteLine(@"</div>"); } }
public void should_not_shout_if_hushed() { var player = new PlayerBuilder() .With(p => p.User, new UserBuilder() .With(u => u.Id, "abcde") .BuildAndSave()) .With(p => p.Location, LocationsStatics.STREET_200_MAIN_STREET) .With(p => p.ShoutsRemaining, 1) .BuildAndSave(); var effectSourceHushed = new EffectSourceBuilder() .With(e => e.Id, CharacterPrankProcedures.HUSHED_EFFECT) .BuildAndSave(); var effectHushed = new EffectBuilder() .With(e => e.EffectSource, effectSourceHushed) .BuildAndSave(); player.Effects.Add(effectHushed); var cmd = new Shout { Message = "Hello world!", UserId = player.User.Id }; Assert.That(() => Repository.Execute(cmd), Throws.TypeOf <DomainException>().With.Message.EqualTo("You have been hushed and cannot currently shout.")); }
public IHttpActionResult PutShout(Guid id, Shout shout) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != shout.ID) { return(BadRequest()); } db.Entry(shout).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!ShoutExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IActionResult FeedSigned(HttpResponse response, HttpSession session, ShoutBindingModel sbm) { var user = this.data.LoginRepository.FindUserByLogin(session.Id); var shout = new Shout() { Author = user, Content = sbm.Content, PostedOn = DateTime.Now }; if (sbm.Lifetime != 0) { shout.Lifetime = new TimeSpan(sbm.Lifetime, 59, 59); } var notification = new Notification() { ShoutAuthor = user }; var followedBy = this.data.UsersRepository.Find(u => u.Following.Select(f => f.Id).Contains(user.Id)); foreach (var follower in followedBy) { follower.Notifications.Add(notification); } this.data.ShoutRepository.Insert(shout); this.data.SaveChanges(); Redirect(response, "/home/feedSigned"); return(null); }
public void Poke() { AngerLevel++; if (AngerLevel >= 3) { Shout?.Invoke(this, EventArgs.Empty); } }
public ActionResult DeleteConfirmed(int id) { Shout shout = db.Shouts.Find(id); db.Shouts.Remove(shout); db.SaveChanges(); return(RedirectToAction("Index")); }
// method public void poke() { AngerLevel++; if (AngerLevel >= 3) { // if something is listening... Shout?.Invoke(this, EventArgs.Empty); } }
//method public void Poke() { AngerLevel++; if (AngerLevel >= 3) { // if something is listening, then call the delegate Shout?.Invoke(this, EventArgs.Empty); } }
public void should_throw_exception_if_message_too_long() { var cmd = new Shout { Message = "Yes this is a very long shout, too long for someone to reasonably want to say as a shout and stuff whoooo", UserId = "abcde" }; Assert.That(() => Repository.Execute(cmd), Throws.TypeOf <DomainException>().With.Message.EqualTo("A shout must contain 100 characters or fewer.")); }
public void should_throw_exception_if_message_not_provided(string shout) { var cmd = new Shout { Message = shout, UserId = "abcde" }; Assert.That(() => Repository.Execute(cmd), Throws.TypeOf <DomainException>().With.Message.EqualTo("A shout message is required")); }
public void should_throw_exception_if_user_not_provided() { var cmd = new Shout { Message = "Hello world!", UserId = null }; Assert.That(() => Repository.Execute(cmd), Throws.TypeOf <DomainException>().With.Message.EqualTo("userId is required")); }
// Chooses the sound for the shout private string PlayStandardShout(Shout shout, bool logShout) { string log = ""; if (shout.GetVoice() == VOICES[2]) // Child { switch (shout.GetDirection()) { case "Right": Audio.PlaySoundAtTransform("FollowingOrders_Child_Right", speakerPos); log = "Child Right"; break; case "Down": Audio.PlaySoundAtTransform("FollowingOrders_Child_Down", speakerPos); log = "Child Down"; break; case "Left": Audio.PlaySoundAtTransform("FollowingOrders_Child_Left", speakerPos); log = "Child Left"; break; default: Audio.PlaySoundAtTransform("FollowingOrders_Child_Up", speakerPos); log = "Child Up"; break; } } else if (shout.GetVoice() == VOICES[1]) // Male { switch (shout.GetDirection()) { case "Right": Audio.PlaySoundAtTransform("FollowingOrders_Male_Right", speakerPos); log = "Male Right"; break; case "Down": Audio.PlaySoundAtTransform("FollowingOrders_Male_Down", speakerPos); log = "Male Down"; break; case "Left": Audio.PlaySoundAtTransform("FollowingOrders_Male_Left", speakerPos); log = "Male Left"; break; default: Audio.PlaySoundAtTransform("FollowingOrders_Male_Up", speakerPos); log = "Male Up"; break; } } else // Female { switch (shout.GetDirection()) { case "Right": Audio.PlaySoundAtTransform("FollowingOrders_Female_Right", speakerPos); log = "Female Right"; break; case "Down": Audio.PlaySoundAtTransform("FollowingOrders_Female_Down", speakerPos); log = "Female Down"; break; case "Left": Audio.PlaySoundAtTransform("FollowingOrders_Female_Left", speakerPos); log = "Female Left"; break; default: Audio.PlaySoundAtTransform("FollowingOrders_Female_Up", speakerPos); log = "Female Up"; break; } } // Logging the shouts if (logShout == true) { return(log); } else { return(""); } }
public void Shout(string text) { Vector3 newPos = new Vector3(500, 460, 0); Shout newShout = Instantiate(shoutPrefab, newPos, new Quaternion()); newShout.GetComponentInChildren <Text>().text = text; newShout.transform.SetParent(this.transform); }
public bool Verify() { using var bytesPipe = new BytesPipe(); var target = new Shout(this.CreationTime, this.Value, null); target.Export(bytesPipe.Writer, BytesPool.Shared); return(this.Certificate?.Verify(bytesPipe.Reader.GetSequence()) ?? false); }
public void should_throw_exception_if_player_not_found() { var cmd = new Shout { Message = "Hello world!", UserId = "abcde" }; Assert.That(() => Repository.Execute(cmd), Throws.TypeOf <DomainException>().With.Message .EqualTo("Player with user ID 'abcde' could not be found")); }
// method public void Poke() { AngerLevel++; if (AngerLevel >= 3) { // if somebody listens us... //... then event raises Shout?.Invoke(this, EventArgs.Empty); } }
public void Poked() { AngerLevel++; if (AngerLevel >= 3) { // if(Shout != null){ // Shout(this,EventArgs.Empty); // } Shout?.Invoke(this, EventArgs.Empty); } }
void Awake() { _animator = GetComponentInChildren <Animator>(); _rigidbody = GetComponent <Rigidbody2D>(); _shout = GetComponentInChildren <Shout>(); Alive = true; _startPos = transform.position; _startRot = transform.rotation; PickupGun(GetComponentInChildren <Gun>()); _reaction = GetComponentInChildren <Reaction>(); }
// method public void Poke() { AngerLevel++; if (AngerLevel >= 3) { // if something is listening... // ...then raise the event //?.Invoke check if the event is not null Shout?.Invoke(this, EventArgs.Empty); } }
private static bool DoesKeeperHateThieves(CharacterInstance keeper, CharacterInstance ch) { if (!ch.Act.IsSet((int)PlayerFlags.Thief)) { return(false); } Say.do_say(keeper, "Thieves are not welcome here!"); Shout.do_shout(keeper, $"{ch.Name} the THIEF is over here!"); return(true); }
public static Shout Create(Timestamp creationTime, IMemoryOwner <byte> value, OmniDigitalSignature digitalSignature) { using var bytesPipe = new BytesPipe(); var target = new Shout(creationTime, value, null); target.Export(bytesPipe.Writer, BytesPool.Shared); var certificate = OmniDigitalSignature.CreateOmniCertificate(digitalSignature, bytesPipe.Reader.GetSequence()); return(new Shout(creationTime, value, certificate)); }
private static bool DoesKeeperHateKillers(CharacterInstance keeper, CharacterInstance ch) { if (!ch.Act.IsSet((int)PlayerFlags.Killer)) { return(true); } Say.do_say(keeper, "Murderers are not welcome here!"); Shout.do_shout(keeper, $"{ch.Name} the KILLER is over here!"); return(false); }
public static bool Execute(MobileInstance ch, IManager dbManager) { if (!ch.IsAwake() || ch.CurrentFighting != null) { return(false); } var maxEvil = 300; var crime = string.Empty; CharacterInstance victim = null; CharacterInstance ech = null; foreach (var vch in ch.CurrentRoom.Persons.Where(vch => vch != ch)) { victim = vch; crime = GetCrime(victim); if (!string.IsNullOrEmpty(crime)) { break; } if (vch.CurrentFighting == null || vch.GetMyTarget() == ch || vch.CurrentAlignment >= maxEvil) { continue; } maxEvil = vch.CurrentAlignment; ech = victim; } if (victim != null && ch.CurrentRoom.Flags.IsSet(RoomFlags.Safe)) { Yell.do_yell(ch, $"{victim.Name} is a {crime}! As well as a COWARD!"); return(true); } if (victim != null) { Shout.do_shout(ch, $"{victim.Name} is a {crime}! PROTECT THE INNOCENT! BANZAI!!!"); fight.multi_hit(ch, victim, Program.TYPE_UNDEFINED); return(true); } if (ech == null) { return(false); } comm.act(ATTypes.AT_YELL, "$n screams 'PROTECT THE INNOCENT!! BANZAI!!", ch, null, null, ToTypes.Room); fight.multi_hit(ch, ech, Program.TYPE_UNDEFINED); return(true); }
public ActionResult Edit([Bind(Include = "SeshToShout,Shouter,Amount")] Shout shout) { if (ModelState.IsValid) { db.Entry(shout).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.Shouter = new SelectList(db.Members, "Email", "Email", shout.Shouter); ViewBag.SeshToShout = new SelectList(db.Seshes, "SeshID", "Date", shout.SeshToShout); return(View(shout)); }
public static bool Execute(MobileInstance ch, IManager dbManager) { if (!ch.IsAwake() || ch.CurrentFighting != null) { return(false); } var crime = string.Empty; CharacterInstance victim = null; foreach (var vch in ch.CurrentRoom.Persons.Where(vch => vch != ch)) { victim = vch; crime = GetCrime(victim); if (!string.IsNullOrEmpty(crime)) { break; } } if (victim == null) { return(false); } if (ch.CurrentRoom.Flags.IsSet(RoomFlags.Safe)) { Yell.do_yell(ch, $"{victim.Name} is a {crime}! As well as a COWARD!"); return(true); } Shout.do_shout(ch, $"{victim.Name} is a {crime}! PROTECT THE INNOCENT! MORE BLOOOOD!!!"); fight.multi_hit(ch, victim, Program.TYPE_UNDEFINED); if (ch.CharDied()) { return(true); } var vnum = GameConstants.GetVnum("MobileCityGuard"); var databaseMgr = (IRepositoryManager)(dbManager ?? RepositoryManager.Instance); var cityguard = databaseMgr.GetEntity <MobileTemplate>(vnum); var newGuard = databaseMgr.CHARACTERS.Create(cityguard, null); ch.CurrentRoom.AddTo(newGuard); newGuard = databaseMgr.CHARACTERS.Create(cityguard, null); ch.CurrentRoom.AddTo(newGuard); return(true); }
protected void bAjaxPostback_Click(object sender, EventArgs e) { string status = string.Empty; try { Affine.WebService.StreamService ss = new Affine.WebService.StreamService(); Affine.Data.Managers.IDataManager dataManager = Affine.Data.Managers.LINQ.DataManager.Instance; switch (hiddenAjaxAction.Value) { case "delStream": long sid = Convert.ToInt64(hiddenAjaxValue.Value); Affine.Data.Managers.LINQ.DataManager.Instance.deleteStream(UserSettings, sid); status = "Your stream item has been deleted."; RadAjaxManager1.ResponseScripts.Add("UpdateStatus('" + status + "'); "); break; case "delComment": long cid = Convert.ToInt64(hiddenAjaxValue.Value); Affine.Data.Managers.LINQ.DataManager.Instance.deleteComment(UserSettings, cid); status = "Your commnet has been deleted."; RadAjaxManager1.ResponseScripts.Add("UpdateStatus('" + status + "'); "); break; case "AddComment": try { JavaScriptSerializer jserializer = new JavaScriptSerializer(); Shout shoutRet = dataManager.SaveShout(-1, this.UserId, -1, this.PortalId, hiddenAjaxValue.Value); // get the json serializable version of the object. Affine.Data.json.StreamData sd = Affine.Data.Managers.LINQ.StreamManager.Instance.UserStreamEntityToStreamData(shoutRet, null); // RadAjaxManager1.ResponseScripts.Add(" (function(){ Aqufit.Page.Controls.atiStreamPanel.prependJson(" + _jserializer.Serialize(sd) + "); })();"); string json = jserializer.Serialize(sd); RadAjaxManager1.ResponseScripts.Add(" (function(){ Aqufit.Page.atiStreamScript.prependJson('" + json + "'); Aqufit.Page.atiComment.clear(); })();"); //Affine.WebService.StreamService service = new WebService.StreamService(); //RadAjaxManager1.ResponseScripts.Add(" (function(){ Aqufit.Page.atiStreamScript.prependJson('" + service.SaveStreamShout(-1, this.UserId, this.PortalId, hiddenAjaxValue.Value) + "'); Aqufit.Page.atiComment.clear(); })();"); } catch (Exception ex) { RadAjaxManager1.ResponseScripts.Add("Aqufit.Page.Actions.ShowFail('Error: " + ex.Message + "');"); } break; } } catch (Exception ex) { //status = "ERROR: There was a problem with the action (" + ex.Message + ")"; RadAjaxManager1.ResponseScripts.Add(" alert('" + ex.Message + "'); "); } }
public string SaveStreamShout(long gid, long uid, long pid, string txt) { aqufitEntities entities = new aqufitEntities(); UserSettings settings = entities.UserSettings.FirstOrDefault(us => us.UserKey == uid && us.PortalKey == pid); // create a new workout record Shout shout = new Shout() { PortalKey = pid, UserSetting = settings, Date = DateTime.Now.ToUniversalTime(), Description = txt, TimeStamp = DateTime.Now.ToUniversalTime(), }; if (gid > 0) { // TODO: check that the user is an admin of the group.. Group group = entities.UserSettings.OfType<Group>().FirstOrDefault(g => g.Id == gid); if (group != null) { shout.GroupKey = gid; shout.UserSetting = group; settings = group; } } entities.AddToUserStreamSet(shout); entities.SaveChanges(); // Need the shout ID so query for it Shout shoutRet = entities.UserStreamSet.OfType<Shout>().Where(s => s.UserSetting.UserKey == settings.UserKey).OrderByDescending(u => u.Id).FirstOrDefault(); // get the json serializable version of the object. Affine.Data.json.StreamData sd = _IStreamManager.UserStreamEntityToStreamData(shoutRet, null); // RadAjaxManager1.ResponseScripts.Add(" (function(){ Aqufit.Page.Controls.atiStreamPanel.prependJson(" + _jserializer.Serialize(sd) + "); })();"); return _jserializer.Serialize(sd); }