public static bool HasBeenOfflineMoreThanDays(this UserExtended user, int days) { var lastVisitDate = user.LastActivityDate; var daysWithoutVist = Math.Abs((DateTime.Now - lastVisitDate).Days); return(daysWithoutVist > days); }
public override void OnActionExecuting(HttpActionContext actionContext) { IEnumerable <string> headers; var tenantExists = actionContext.Request.Headers.TryGetValues("tenant_type", out headers); if (tenantExists) { var tenant = headers.FirstOrDefault(); UserExtended = new UserExtended { TenantTypes = tenant == "CAL" ? TenantTypes.Cal : TenantTypes.Nslcsp }; } if (actionContext.Request.Headers.Authorization == null) { actionContext.Response = new System.Net.Http.HttpResponseMessage(System.Net.HttpStatusCode.Unauthorized); } else { var authToken = actionContext.Request.Headers.Authorization.Scheme; var decodedToken = Encoding.UTF8.GetString(Convert.FromBase64String(authToken)); if (FindUser(decodedToken)) { SetUpPrincipal(); } } Thread.CurrentPrincipal = UserExtended; if (HttpContext.Current != null) { HttpContext.Current.User = UserExtended; } }
private static bool LikeProfilePhotos(List <Photo> profilePhotos, VkApi api, UserExtended user) { var result = false; var likedPhotosCounter = 0; foreach (var profilePhoto in profilePhotos) { if (profilePhoto.Likes.UserLikes) { continue; } if (profilePhoto.Id.HasValue) { result = _likesService.AddLike(user.Id, profilePhoto.Id.Value, LikeObjectType.Photo, api); likedPhotosCounter++; } if (likedPhotosCounter >= _profilePhotosToLike) { break; } } return(result); }
public void Embedded_object_with_object_arrays_can_be_converted() { var userEx = new UserExtended { Name = "John Doe", Age = 30, Addresses = new [] { new PhysicalAddress { City = "Tel-Aviv", Street = "Sesame Str." }, new PhysicalAddress { City = "Haifa", Street = "White Str." } } }; var doc = userEx.ToDocument(); Assert.Equal(6, doc.Fields.Count); Assert.Equal("John Doe", doc.GetField(nameof(User.Name)).GetStringValue()); Assert.Equal(30, doc.GetField(nameof(User.Age)).GetInt32Value()); Assert.Equal(userEx.Addresses.Select(a => a.City).ToArray(), doc.GetValues($"{nameof(UserExtended.Addresses)}.{nameof(Address.PhysicalAddress.City)}")); Assert.Equal(userEx.Addresses.Select(a => a.Street).ToArray(), doc.GetValues($"{nameof(UserExtended.Addresses)}.{nameof(Address.PhysicalAddress.Street)}")); }
private UserModel ConvertUserExtendedToUserModel(UserExtended ue) { return(new UserModel() { AccessToken = ue.User.AccessToken, Login = ue.User.Login, Claims = ue.Claims.Select(ConvertClaimToClaimModel).ToList() }); }
public static bool AgeVisible(this UserExtended user) { if (user.BirthdayVisibility == BirthdayVisibility.Invisible || user.BirthdayVisibility == BirthdayVisibility.OnlyDayAndMonth) { return(false); } return(!string.IsNullOrWhiteSpace(user.BirthDate)); }
private static bool BlackListUser(UserExtended u, VkApi api) { api.Account.SetOffline(); var result = _userService.BanUser(u, api); if (result) { _cacheService.Append(u.Id, CacheKeys.BannedUserIds.ToString()); } return(result); }
private void SetUpPrincipal() { if (UserExtended != null) { UserExtended.Identity = new IdentityExtended("", "", true); return; } UserExtended = new UserExtended { Identity = new IdentityExtended("", "", true) }; }
/// <summary> /// Добавить пользователя /// </summary> /// <param name="user">Пользователь</param> /// <param name="token">Токен пользоват</param> /// <returns></returns> public async Task AddUser(UserPrincipal user, string token) { UserExtended userToAdd = new UserExtended() { UserExtendedId = user.Guid.Value, FirstName = user.GivenName, LastName = user.Surname, Login = user.SamAccountName, Token = token, RoleId = DefaultRole() }; await _context.AddAsync <UserExtended>(userToAdd); }
public static bool FromCity(this UserExtended user, long[] cities) { if (user.City == null) { return(false); } if (!user.City.Id.HasValue) { return(false); } return(cities.Any(c => c == user.City.Id.Value)); }
private static bool SatisfyBySecondAlgorithm(UserExtended user) { if (user.IsFriend.HasValue && user.IsFriend.Value) { return(false); } //if (user.Sex == Sex.Female && user.AgeVisible() && user.IsAgeBetween(MinAge, MaxAge)) //{ // return true; //} var ageBetween = user.AgeVisible() && user.IsAgeBetween(37, 90); return(user.Sex == Sex.Male || ageBetween); }
public void GetAllTest() { var user = new UserExtended() { DateOfBirth = Convert.ToDateTime("11/03/2001"), Email = "*****@*****.**", FirstName = "Oleh", LastName = "Kolima", Login = "******", Password = "******", TimeOfCreating = DateTime.Now }; DataContext dataContext = new DataContext(); var result = dataContext.Users.Add(user); var users = dataContext.Users; Assert.AreEqual(1, users.Count(x => x.FirstName == "Oleh")); }
private static bool ShouldLike(UserExtended user, AgeRange ageRange, List <CityExtended> cities) { if (!user.IsAgeBetween(ageRange.Min, ageRange.Max)) { return(false); } if (user.HasBeenOfflineMoreThanDays(2)) { return(false); } // var cityIds = cities.Select(x => x.Id.Value).Distinct().ToArray(); if (!user.FromCity(cities)) { return(false); } if (user.Sex != Sex.Female) { return(false); } if (user.BlackListed()) { return(false); } if (user.IsFriend.HasValue && user.IsFriend == true) { return(false); } if (!user.IsSingle()) { return(false); } if (string.IsNullOrWhiteSpace(user.PhotoId)) { return(false); } return(user.CommonCount == 0 || !user.CommonCount.HasValue); }
public void TestMethod1() { //Arrange var users = new UserExtended() { DateOfBirth = Convert.ToDateTime("11/03/2001"), Email = "*****@*****.**", FirstName = "Oleh", LastName = "Kolima", Login = "******", Password = "******", TimeOfCreating = DateTime.Now }; //Act DataContext dataContext = new DataContext(); dataContext.Users.Add(users); var user = dataContext.Users.Where(c => c.Login == "ueuued").FirstOrDefault(); //Assert Assert.IsTrue(user.Id != 0, "Returned ID should be more than zero"); }
public static bool FromCity(this UserExtended user, List <CityExtended> cities) { if (user?.City?.Id != null) { var cityIds = cities.Select(x => x.Id).ToList(); var res = cityIds.Contains(user.City.Id.Value); return(res); } if (!string.IsNullOrWhiteSpace(user?.HomeTown)) { var cityNames = cities.SelectMany(x => x.Names.Select(x1 => x1.Trim().ToLower())).ToList(); var res = cityNames.Contains(user.HomeTown.Trim().ToLower()); return(res); } return(false); }
public override void OnActionExecuting(HttpActionContext actionContext) { IEnumerable <string> headers; var tenantExists = actionContext.Request.Headers.TryGetValues("tenant_type", out headers); if (tenantExists) { var tenant = headers.FirstOrDefault(); var principal = new UserExtended { TenantTypes = tenant == "CAL" ? TenantTypes.Cal : TenantTypes.Nslcsp }; Thread.CurrentPrincipal = principal; if (HttpContext.Current != null) { HttpContext.Current.User = principal; } } base.OnActionExecuting(actionContext); }
public static bool IsAgeBetween(this UserExtended user, int min, int max) { if (!AgeVisible(user)) { return(true); } try { var years = GetAge(user); if (years.HasValue) { return(years >= min && years <= max); } return(false); } catch (Exception) { return(false); } }
public void Can_convert_to_from_simple_object() { var userEx = new UserExtended { Name = "John Doe", Age = 30, Addresses = new [] { new PhysicalAddress { City = "Tel-Aviv", Street = "Sesame Str." }, new PhysicalAddress { City = "Haifa", Street = "White Str." } } }; var doc = userEx.ToDocument(); var convertedUser = doc.ToObject <UserExtended>(); }
public static int?GetAge(this UserExtended user) { if (!AgeVisible(user)) { return(null); } var birthDateString = user.BirthDate.Split('.'); var d = Convert.ToInt32(birthDateString[0]); var m = Convert.ToInt32(birthDateString[1]); var y = Convert.ToInt32(birthDateString[2]); try { var birthDate = new DateTime(y, m, d); var birthDateYear = birthDate.Year; var now = DateTime.Now.Year; var years = now - birthDateYear; return(years); } catch (Exception) { return(null); } }
public bool BanUser(UserExtended userToBan, VkApi api) { var r = api.Account.BanUser(userToBan.Id); return(r); }