Example #1
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (FromUser.Length != 0)
            {
                hash ^= FromUser.GetHashCode();
            }
            if (TargetUser.Length != 0)
            {
                hash ^= TargetUser.GetHashCode();
            }
            if (Content.Length != 0)
            {
                hash ^= Content.GetHashCode();
            }
            if (SendTime != 0)
            {
                hash ^= SendTime.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Example #2
0
        public TargetUser UpdateUser(TargetUser user)
        {
            // check if UserName exists under different Identifier
            if
            (
                this.Users.Values.Any(
                    (TargetUser exisitingUser) =>
                    string.Equals(exisitingUser.UserName, user.UserName, StringComparison.Ordinal) &&
                    !(exisitingUser.Identifier == user.Identifier))
            )
            {
                throw new Exception("Conflict");
            }

            // check if Identifier exists
            if (!this.Users.ContainsKey(user.Identifier.ToString()))
            {
                throw new Exception("NotFound");
            }

            // replace user
            this.Users[user.Identifier.ToString()] = user;

            return(this.Users[user.Identifier.ToString()]);
        }
Example #3
0
        public async Task PromoteUser(params SocketGuildUser[] Users)
        {
            var Me          = Context.Guild.CurrentUser;
            var SendingUser = this.Context.User as SocketGuildUser;

            //Basic error handling... Make sure all of the expected values are populated.
            if (SendingUser == null)
            {
                throw new System.NullReferenceException("The calling user was null");
            }

            //This will hold the returned message.
            StringBuilder sb = new StringBuilder();

            var CallingUserCurrentRole = SendingUser.GetRole(cfg);

            var RoleMap = cfg.GetRoleMap();

            //Filter the roles to roles managable by WarBot.
            filterRoleMap(RoleMap, sb, Me);

            foreach (var TargetUser in Users)
            {
                var TargetUserCurrentRole = TargetUser.GetRole(cfg);
                var TargetuserDesiredRole = TargetUserCurrentRole.GetPromoteRole(RoleMap);

                if (TargetuserDesiredRole == RoleLevel.None)
                {
                    sb.AppendLine($"There are no higher roles I can promote {TargetUser.Mention} to. I cannot promote users to a server admin role or higher.");
                }
                //Make sure to not manage myself.
                else if (TargetUser.Id == Me.Id)
                {
                    sb.AppendLine("I cannot manage my own role. Only a server admin can do that.");
                }
                //If there is no higher role to promote a user to.
                else if (!TargetuserDesiredRole.HasValue)
                {
                    sb.AppendLine($"I could not find a higher configured role for {TargetUser.Mention}");
                }
                //User's cannot promote to a role equal or higher then their current role.
                else if (TargetuserDesiredRole >= CallingUserCurrentRole)
                {
                    sb.AppendLine($"You promote {TargetUser.Mention}, Because the target role would be equal or higher then your current role.");
                }
                //User cannot promote to a role equal or higher then their current role.
                else if (TargetUserCurrentRole >= CallingUserCurrentRole)
                {
                    sb.AppendLine($"You cannot manage {TargetUser.Mention}, because they are in an equal or higher role then you.");
                }
                else
                {
                    await SetRole(TargetUser, RoleMap, TargetuserDesiredRole.Value, sb);
                }
            }

            //Send the formatted return message.
            await ReplyAsync(sb.ToString());
        }
 /// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Returns HashCode</returns>
 public override int GetHashCode()
 {
     return(String.Format("{0}|{1}|{2}|",
                          TargetUser?.GetHashCode() ?? 0,
                          TargetGroup?.GetHashCode() ?? 0,
                          this.Properties.Aggregate(0, (acc, next) => acc += next.GetHashCode())
                          ).GetHashCode());
 }
Example #5
0
 public override Conversation Build(string userId, OnlineJudger onlineJudger)
 {
     DisplayName      = GetDisplayName(userId);
     DisplayImagePath = GetDisplayImagePath(userId);
     AnotherUserId    = SpecialUser(userId).Id;
     RequestUser.Build(onlineJudger);
     TargetUser.Build(onlineJudger);
     return(this);
 }
Example #6
0
 private void ProcessSfx(Xml.ModifierEffect effect)
 {
     if (effect == null)
     {
         return;
     }
     if (effect.Sound != null && effect.Sound.Id != 0)
     {
         (Target as User)?.PlaySound(effect.Sound.Id);
         (Source as User)?.PlaySound(effect.Sound.Id);
     }
     if (effect.Animations != null)
     {
         if (effect.Animations?.Target != null && effect.Animations.Target.Id != 0)
         {
             var animation = effect.Animations.Target;
             if (Target is Monster || !Target.Condition.Comatose || (Target.Condition.Comatose && animation.Id == (Game.Config.Handlers?.Death?.Coma?.Effect ?? 24)))
             {
                 Target.Effect(effect.Animations.Target.Id, effect.Animations.Target.Speed);
             }
         }
         if (effect.Animations?.SpellEffect != null && effect.Animations?.SpellEffect.Id != 0)
         {
             Source?.Effect(effect.Animations.SpellEffect.Id, effect.Animations.SpellEffect.Speed);
         }
     }
     // Message handling
     if (effect.Messages != null)
     {
         if (TargetUser != null)
         {
             if (effect.Messages?.Target != null)
             {
                 TargetUser.SendSystemMessage(string.Format(effect.Messages.Target, SourceUser.Name));
             }
             if (effect.Messages?.Group != null)
             {
                 TargetUser.Group?.SendMessage(string.Format(effect.Messages.Group, SourceUser.Name));
             }
         }
         if (effect.Messages?.Source != null && TargetUser != null && TargetUser != SourceUser)
         {
             (Source as User)?.SendSystemMessage(string.Format(effect.Messages.Source, TargetUser?.Name ?? string.Empty));
         }
         if (effect.Messages?.Say != null)
         {
             Target.Say(string.Format(effect.Messages.Say, Target.Name ?? string.Empty));
         }
         if (effect.Messages?.Shout != null)
         {
             Target.Shout(string.Format(effect.Messages.Shout, Target.Name ?? string.Empty));
         }
     }
 }
        public void Should_be_target()
        {
            var userTargetting = new UserTargeting
            {
                EnvironmentId = System.Guid.Empty
            };
            var target = TargetSpecificUsers.New(userTargetting, "country", TargetOption.IsIn, "es,pl");
            var user   = new TargetUser("1234556");

            user.Add("country", "es");
            var isTarget = target.IsTarget(user);

            Assert.IsTrue(isTarget);
        }
        public bool Equals(AnalizationTask other)
        {
            if (ReferenceEquals(other, null))
            {
                return(false);
            }

            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return(Observer.Equals(other.Observer) &&
                   Observable.Equals(other.Observable) &&
                   TargetUser.Equals(other.TargetUser));
        }
Example #9
0
        public TargetUser CreateUser(TargetUser user)
        {
            // verify if the user alredy exists
            if
            (
                this.Users.Values.Any(
                    (TargetUser exisitingUser) =>
                    string.Equals(exisitingUser.UserName, user.UserName, StringComparison.Ordinal))
            )
            {
                throw new Exception("Conflict");
            }

            // create user
            Guid resourceIdentifier = Guid.NewGuid();

            user.Identifier = resourceIdentifier;
            this.Users.Add(resourceIdentifier.ToString(), user);

            return(this.Users[resourceIdentifier.ToString()]);
        }
Example #10
0
        public PartialViewResult _ChatBox(int relationshipID, string targetUserID)
        {
            string userID = User.Identity.GetUserId();

            if (relationshipID == -1)
            {
                try
                {
                    relationshipID = db.Relationships.SqlQuery("dbo.Check_Friends @p0, @p1", userID, targetUserID).FirstOrDefault().ID;
                }
                catch (NullReferenceException)
                {
                    relationshipID = 0;
                }
            }

            relationshipID = relationshipID == 0 ? createNoRelationship(targetUserID) : relationshipID;

            Relationship relationship = db.Relationships.Find(relationshipID);

            if (relationship.UserOneID != userID)
            {
                targetUserID = relationship.UserOneID;
                relationship.UserTwoDateTime = DateTime.Now;
            }
            else
            {
                targetUserID = relationship.UserTwoID;
                relationship.UserOneDateTime = DateTime.Now;
            }
            db.SaveChanges();

            List <Message>   messages         = db.Messages.SqlQuery("select * from Message where RelationshipID = @p0", relationshipID).ToList();
            User             tuser            = db.Users.Find(targetUserID);
            TargetUser       targetUser       = new TargetUser(tuser.UserID, tuser.FirstName, tuser.LastName);
            var              results          = new List <PartialViewResult>();
            ChatboxViewModel chatboxViewModel = new ChatboxViewModel(relationshipID, targetUser, messages);

            return(PartialView("_ChatBox", chatboxViewModel));
        }
        public override Task <Resource> RetrieveAsync(IResourceRetrievalParameters parameters, string correlationIdentifier)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters));
            }

            if (string.IsNullOrWhiteSpace(correlationIdentifier))
            {
                throw new ArgumentNullException(nameof(correlationIdentifier));
            }

            if (string.IsNullOrEmpty(parameters?.ResourceIdentifier?.Identifier))
            {
                throw new ArgumentNullException(nameof(parameters));
            }

            // call service
            TargetUser result = null;

            try
            {
                result = _storageService.RetrieveUser(new Guid(parameters.ResourceIdentifier.Identifier));
            }
            catch (Exception err)
            {
                switch (err.Message)
                {
                case "NotFound":
                    throw new HttpResponseException(HttpStatusCode.NotFound);

                default:
                    throw new HttpResponseException(HttpStatusCode.InternalServerError);
                }
            }

            return(Task.FromResult((Core2EnterpriseUser)result as Resource));
        }
Example #12
0
        public override void PostMessage(Thing objThing, PortalKeeperContext <ScheduleEvent> actionContext)
        {
            var message = GetMessage(actionContext);
            var title   = MessageTitle.GetValue(actionContext, actionContext);

            if ((AnswerTypes & ThingKind.Post) == ThingKind.Post)
            {
                string    strTargetSubReddit = TargetSubReddit.GetValue(actionContext, actionContext);
                Subreddit objSubReddit       = objThing.Reddit.GetSubreddit(strTargetSubReddit);
                objSubReddit.SubmitTextPost(title, message);
            }
            if ((AnswerTypes & ThingKind.Comment) == ThingKind.Comment)
            {
                string strParentFullName = TargetParentFullName.GetValue(actionContext, actionContext);
                Thing  targetParent      = objThing.Reddit.GetThingByFullname(strParentFullName);
                this.Reply(targetParent, message);
            }
            if ((AnswerTypes & ThingKind.PrivateMessage) == ThingKind.PrivateMessage)
            {
                string targetUserName = TargetUser.GetValue(actionContext, actionContext);
                objThing.Reddit.ComposePrivateMessage(title, message, targetUserName);
            }
        }
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     UpdateTarget(TargetUser.Text);
     TargetUser.Clear();
 }