Beispiel #1
0
 /// <summary>
 /// Check if email number exist.
 /// </summary>
 /// <param name="email">The email.</param>
 /// <returns></returns>
 public static bool EmailExist(string email)
 {
     using (var db = new GenderEnt())
     {
         return((from a in db.users.AsNoTracking() where a.email.Equals(email) select a.id).Any());
     }
 }
Beispiel #2
0
 /// <summary>
 /// Resets the requests.
 /// </summary>
 public static void ResetRequests()
 {
     using (var db = new GenderEnt())
     {
         db.Database.ExecuteSqlCommandAsync("UPDATE keys SET requests = 0;");
     }
 }
Beispiel #3
0
 /// <summary>
 /// Verifies the key.
 /// </summary>
 /// <param name="key">The key.</param>
 /// <returns></returns>
 public static bool VerifyKey(string key)
 {
     using (var db = new GenderEnt())
     {
         return((from a in db.keys where a.key == key select a.id).Any());
     }
 }
Beispiel #4
0
        /// <summary>
        /// Bulks the gender.
        /// </summary>
        /// <param name="genders">The genders.</param>
        /// <returns></returns>
        public static List <object> BulkGender(List <string> genders)
        {
            using (var db = new GenderEnt())
            {
                var list = new List <object>();

                foreach (var d in genders)
                {
                    var getNames = (from a in db.names.AsNoTracking() where a.name.Equals(d) select a).ToList();

                    if (getNames.Any())
                    {
                        if (getNames.Count == 1)
                        {
                            list.Add(new
                            {
                                Name        = d,
                                Gender      = DetermineGender(getNames[0].gender),
                                Probability = 100,
                                Count       = getNames[0].number
                            });
                        }
                        if (getNames.Count == 2)
                        {
                            if (getNames[0].number > getNames[1].number)
                            {
                                var total = getNames[0].number + getNames[1].number;

                                list.Add(new
                                {
                                    Name        = d,
                                    Gender      = DetermineGender(getNames[0].gender),
                                    Probability = (int)Math.Round((double)(100 * getNames[0].number) / total),
                                    Count       = getNames[0].number
                                });
                            }
                            else
                            {
                                var total = getNames[0].number + getNames[1].number;

                                list.Add(new
                                {
                                    Name        = d,
                                    Gender      = DetermineGender(getNames[1].gender),
                                    Probability = (int)Math.Round((double)(100 * getNames[1].number) / total),
                                    Count       = getNames[1].number
                                });
                            }
                        }
                    }
                }

                return(list);
            }
        }
Beispiel #5
0
        /// <summary>
        /// Gets the single gender.
        /// </summary>
        /// <param name="name">The name.</param>
        /// <returns></returns>
        public static object GetSingleGender(string name)
        {
            using (var db = new GenderEnt())
            {
                var getNames = (from a in db.names.AsNoTracking() where a.name == name select a).ToList();

                if (getNames.Any())
                {
                    if (getNames.Count == 1)
                    {
                        return(new
                        {
                            Name = name,
                            Gender = DetermineGender(getNames[0].gender),
                            Probability = 100,
                            Count = getNames[0].number
                        });
                    }
                    if (getNames.Count == 2)
                    {
                        if (getNames[0].number > getNames[1].number)
                        {
                            var total = getNames[0].number + getNames[1].number;

                            return(new
                            {
                                Name = name,
                                Gender = DetermineGender(getNames[0].gender),
                                Probability = (int)Math.Round((double)(100 * getNames[0].number) / total),
                                Count = getNames[0].number
                            });
                        }
                        else
                        {
                            var total = getNames[0].number + getNames[1].number;

                            return(new
                            {
                                Name = name,
                                Gender = DetermineGender(getNames[1].gender),
                                Probability = (int)Math.Round((double)(100 * getNames[1].number) / total),
                                Count = getNames[1].number
                            });
                        }
                    }
                }

                return(new
                {
                    Name = name,
                    Gender = Genders.Unknown.ToString()
                });
            }
        }
Beispiel #6
0
 public static IEnumerable <SelectListItem> FillUserDropDownList()
 {
     using (var db = new GenderEnt())
     {
         return((from a in db.users.AsNoTracking()
                 select new SelectListItem
         {
             Selected = false,
             Text = a.email,
             Value = a.id.ToString()
         }).ToList());
     }
 }
Beispiel #7
0
        /// <summary>
        /// Adds the request.
        /// </summary>
        /// <param name="key">The key.</param>
        public static void AddRequest(string key)
        {
            using (var db = new GenderEnt())
            {
                var getKey = (from a in db.keys where a.key == key select a).SingleOrDefault();

                if (getKey != null)
                {
                    getKey.requests = getKey.requests + 1;

                    db.SaveChanges();
                }
            }
        }
Beispiel #8
0
        /// <summary>
        /// Creates the request.
        /// </summary>
        /// <param name="key">The key.</param>
        /// <param name="name">The name.</param>
        /// <param name="ip">The ip.</param>
        public static void CreateRequest(string key, string name, string ip)
        {
            using (var db = new GenderEnt())
            {
                db.requests.Add(new requests
                {
                    created = DateTime.Now,
                    ip      = ip,
                    key     = key,
                    name    = name
                });

                db.SaveChanges();
            }
        }
Beispiel #9
0
        /// <summary>
        /// Retrieves the temporary user.
        /// </summary>
        /// <param name="email">The email.</param>
        /// <returns></returns>
        public static TempUser RetrieveTempUser(string email)
        {
            using (var db = new GenderEnt())
            {
                var getUser = (from a in db.users.AsNoTracking()
                               where a.email.Equals(email)
                               select new TempUser
                {
                    Email = a.email,
                    Password = a.password
                }).SingleOrDefault();

                return(getUser);
            }
        }
Beispiel #10
0
 public static ViewKeyModel GetKeyInfo(int id)
 {
     using (var db = new GenderEnt())
     {
         return((from a in db.keys
                 where a.id == id
                 select new ViewKeyModel
         {
             Company = a.users.company,
             Email = a.users.email,
             Firstname = a.users.firstname,
             Key = a.key,
             Lastname = a.users.lastname,
             RequestLimit = a.requests_allowed,
             Requests = a.requests
         }).SingleOrDefault());
     }
 }
Beispiel #11
0
        /// <summary>
        /// Creates the key.
        /// </summary>
        /// <param name="userId">The user identifier.</param>
        /// <param name="requests"></param>
        public static int CreateKey(int userId, int requests)
        {
            using (var db = new GenderEnt())
            {
                var newKey = new keys
                {
                    user_id          = userId,
                    key              = Guid.NewGuid().ToString(),
                    requests         = 0,
                    requests_allowed = requests
                };

                db.keys.Add(newKey);

                db.SaveChanges();

                return(newKey.id);
            }
        }
Beispiel #12
0
        /// <summary>
        /// Requests the limit.
        /// </summary>
        /// <param name="key">The key.</param>
        /// <returns></returns>
        public static bool RequestLimit(string key)
        {
            using (var db = new GenderEnt())
            {
                var getKey = (from a in db.keys
                              where a.key == key
                              select new
                {
                    a.requests,
                    a.requests_allowed
                }).SingleOrDefault();

                if (getKey != null)
                {
                    return(getKey.requests < getKey.requests_allowed);
                }

                return(true);
            }
        }
Beispiel #13
0
        /// <summary>
        /// Creates the user.
        /// </summary>
        /// <param name="data">The data.</param>
        /// <returns></returns>
        public static bool CreateUser(CreateUserModel data)
        {
            using (var db = new GenderEnt())
            {
                if (!(from a in db.users.AsNoTracking() where a.email == data.Email select a.id).Any())
                {
                    db.users.Add(new users
                    {
                        company   = data.Company,
                        created   = DateTime.Now,
                        email     = data.Email,
                        firstname = data.Firstname,
                        lastname  = data.Lastname,
                        password  = BCrypt.HashPassword(data.Password, BCrypt.GenerateSalt())
                    });

                    db.SaveChanges();

                    return(true);
                }
                return(false);
            }
        }