public KUser CreateUser(KUser user) //[FromBody]
        {
            user.CreateTime = DateTime.Now;
            var entity = JianDb.KUsers.Add(user);

            JianDb.SaveChanges();
            return(entity);
        }
Exemple #2
0
        public bool Evaluate(KStore store, KUser user)
        {
            if (Identities.Contains(user.GetIdentity()))
            {
                return(true);
            }

            return(Rules.Any(rule => rule.Evaluate(store, user)));
        }
Exemple #3
0
        public void should_include_user_in_the_release()
        {
            var user1 = KUser.Create("oscar",
                                     new[] { new KUserAttribute("age", 32), new KUserAttribute("country", "spain") });
            var user2 = KUser.Create("serrano",
                                     new[] { new KUserAttribute("age", 32), new KUserAttribute("country", "spain") });

            Fixture.fifty_percent_feature.Evaluate(Fixture.store, user1).Should().BeFalse();
            Fixture.fifty_percent_feature.Evaluate(Fixture.store, user2).Should().BeTrue();
        }
Exemple #4
0
        public override bool Evaluate(KStore store, KUser user)
        {
            var userValue = user.GetStringValue(Attribute);

            if (userValue == null)
            {
                return(false);
            }

            return(Values.Any(value => userValue.Contains(value)));
        }
Exemple #5
0
        public override bool Evaluate(KStore store, KUser user)
        {
            var userValue = user.GetNumberValue(Attribute);

            if (userValue == null)
            {
                return(false);
            }

            return(userValue.LessThan(Values.First()));
        }
Exemple #6
0
        public override bool Evaluate(KStore store, KUser user)
        {
            var userValue = user.GetBooleanValue(Attribute);

            if (userValue == null)
            {
                return(false);
            }

            return(userValue.IsTruthy());
        }
 /// <summary>
 /// 新增或删除用户
 /// </summary>
 /// <param name="user"></param>
 /// <returns></returns>
 public object CreateofModified(KUser user)
 {
     if (user.Id == 0)
     {
         return(CreateUser(user));
     }
     else
     {
         return(ModifiedUser(user));
     }
 }
 public object ModifiedUser(KUser user)
 {
     try
     {
         JianDb.Entry <KUser>(user).State = EntityState.Modified;
         JianDb.SaveChanges();
         return(new { State = true });
     }
     catch (Exception e)
     {
         return(new { State = false, Messages = e.Message });
     }
 }
 public object DeleteUser(int id)
 {
     try
     {
         KUser user = new KUser {
             Id = id
         };
         JianDb.Entry <KUser>(user).State = EntityState.Deleted;
         JianDb.SaveChanges();
         return(new { State = true });
     }
     catch (Exception e)
     {
         return(new { State = false, Messages = e.Message });
     }
 }
Exemple #10
0
        public static void WriteDefaultEquipItemInfo(Packet p, int charType, KUser kUser)
        {
            var equipItems = new List <KEquipItemInfo>();

            foreach (var charItem in Lua.GetLuaGlobal("CharDefaultEquipItemInfo").Table.Values)
            {
                var obj = charItem.Table;

                if (Convert.ToInt32(obj["Char"]) == charType)
                {
                    var defaultItems = (Table)obj["DefaultItem"];

                    // Lua starts with a 1 index...
                    // retards

                    var j = 0;
                    for (var i = 1; i < defaultItems.Length + 1; i += 3)
                    {
                        var itemId = Convert.ToInt32(defaultItems[i]);

                        Console.WriteLine($"[EI] {itemId}");

                        equipItems.Add(new KEquipItemInfo()
                        {
                            ItemId       = itemId,
                            ItemUniqueId = 1000000 + j
                        });

                        j++;
                    }

                    break;
                }
            }

            p.Put(equipItems);
            kUser.characters[kUser.currentCharacterId].EquipItems = equipItems;
            Log.Get().Debug("Gave {0} KEquipItemInfo objects to the client.", equipItems.Count);
        }
Exemple #11
0
        private static void PrintData(object state)
        {
            // var user = new KUser("*****@*****.**", new Dictionary<string, IKValue> // Create user if needed
            // {
            //     {"country", IKValue.Create("spain")},
            //     {"age", IKValue.Create(18)}
            // });

            var user = KUser.Create("*****@*****.**")
                       .With("country", "spain")
                       .With("age", 18);

            var single      = _client.IsEnabled("someFeature", user);                                  // Get feature flag boolean for the user
            var withoutUser = _client.IsEnabled("someFeature");                                        // Get feature flag boolean without any user (anonymous)
            var result      = _client.EvaluatedFeaturesForUser(user);                                  // Get all the feature flags (used mostly for debug)
            var rc          = _client.ValueOf("sap-user", user);                                       // Get remote config value for the user
            var nonrc       = _client.ValueOf("non-existing-host", user, "defaultValueOfNonExisting"); // Get remote config value for the user with default value
            var anonymous   = _client.ValueOf("non-existing-host", "defaultValueOfNonExisting");       // Same methods as above but without user aka DefaultValue of the remote config

            Console.WriteLine($"Single Feature {JsonConvert.SerializeObject(single)}");
            Console.WriteLine($"Features {JsonConvert.SerializeObject(result)}");
            Console.WriteLine($"Remote configs {JsonConvert.SerializeObject(rc)}");
            Console.WriteLine($"Default Remote configs {JsonConvert.SerializeObject(nonrc)}");
        }
Exemple #12
0
 // TODO: Test
 public bool Evaluate(KStore store, KUser user) =>
 Statements.All(statement => statement.Evaluate(store, user));
Exemple #13
0
        public static void GiveDefaultItems(Packet p, int charType, KUser kUser)
        {
            //p.Put(6); // items
            var items = new List <KItem>();

            foreach (var charItem in Lua.GetLuaGlobal("CharDefaultEquipItemInfo").Table.Values)
            {
                var obj = charItem.Table;

                if (Convert.ToInt32(obj["Char"]) == charType)
                {
                    var defaultItems = (Table)obj["DefaultItem"];

                    // Lua starts with a 1 index...
                    // retards
                    var j = 0;
                    for (var i = 1; i < defaultItems.Length + 1; i += 3)
                    {
                        var itemId   = Convert.ToInt32(defaultItems[i]);
                        var duration = Convert.ToInt32(defaultItems[i + 1]);
                        var period   = Convert.ToInt32(defaultItems[i + 2]);

                        Console.WriteLine($"{itemId} / {duration} / {period}");

                        var item = new KItem()
                        {
                            ItemId  = itemId,
                            Id      = 10000000 + j,
                            GradeId = 0x02,

                            UserId      = kUser.userId,
                            CharacterId = kUser.GetCurrentCharacter().Id,

                            Sockets = new List <KSocketInfo>()
                            {
                                new KSocketInfo()
                                {
                                    SlotId = 0
                                },
                                new KSocketInfo()
                                {
                                    SlotId = 1
                                }
                            },

                            Attributes = new List <KAttributeInfo>()
                            {
                                new KAttributeInfo()
                                {
                                    SlotId = 0x00,
                                    Type   = 0xFF,
                                    State  = 0x01,
                                    Value  = 0.0f
                                }
                            }
                        };

                        using (var db = Database.Get())
                        {
                            item.Insert(db, true);
                        }

                        items.Add(item);

                        j++;
                    }

                    break;
                }
            }

            p.Put(items);

            kUser.characters[kUser.currentCharacterId].Items = items;

            Log.Get().Debug("Giving {0} KItem objects to client", items.Count);
        }
Exemple #14
0
 public KEvaluationResult EvaluatedFeaturesForUser(KUser user) => _evaluator.Evaluate(user);
Exemple #15
0
 public void evaluate_other_should_be_GUEST()
 {
     Fixture.roles_remoteConfig.Evaluate(Fixture.store, KUser.Create("whatever")).Should()
     .BeEquivalentTo("GUEST");
 }
Exemple #16
0
 public bool IsEnabled(string feature) => _evaluator.Evaluate(feature, KUser.Anonymous());
Exemple #17
0
 public bool IsEnabled(string feature, KUser user) => _evaluator.Evaluate(feature, user);
Exemple #18
0
        public override bool Evaluate(KStore store, KUser user)
        {
            var userValue = user.GetValue(Attribute);

            return(userValue != null && userValue.ToString() != null && userValue.ToString() != "");
        }
Exemple #19
0
 public string ValueOf(string remoteConfig, KUser user, string defaultValue) =>
 _evaluator.ValueOf(remoteConfig, user, defaultValue);
Exemple #20
0
 public bool IsEnabled(string feature, KUser user) => _clientService.IsEnabled(feature, user);
Exemple #21
0
 public string ValueOf(string remoteConfig, string defaultValue) =>
 _evaluator.ValueOf(remoteConfig, KUser.Anonymous(), defaultValue);
Exemple #22
0
 public KEvaluationResult EvaluatedFeaturesForUser(KUser user) =>
 _clientService.EvaluatedFeaturesForUser(user);
Exemple #23
0
 public void evaluate_oscar_should_be_ADMIN()
 {
     Fixture.roles_remoteConfig.Evaluate(Fixture.store, KUser.Create("ogalindo")).Should()
     .BeEquivalentTo("ADMIN");
 }
Exemple #24
0
 public bool Evaluate(KStore store, KUser user)
 {
     return(Statements.All(statement => statement.Evaluate(store, user)));
 }
 public override bool Evaluate(KStore store, KUser user)
 {
     return(Values
            .Select(value => store.FindSegmentByKey(value.Key()))
            .Any(segment => segment.Evaluate(store, user)));
 }
Exemple #26
0
 public string ValueOf(string remoteConfig, KUser user, string defaultValue = "") =>
 _clientService.ValueOf(remoteConfig, user, defaultValue);
Exemple #27
0
 public override bool Evaluate(KStore store, KUser user)
 {
     return(!base.Evaluate(store, user));
 }
Exemple #28
0
 public void evaluate_ivana_should_be_COLLABORATOR()
 {
     Fixture.roles_remoteConfig.Evaluate(Fixture.store, KUser.Create("ivana")).Should()
     .BeEquivalentTo("COLLABORATOR");
 }