コード例 #1
0
        private IQueryable <DBReview> filterReviewsForUsers(RevojiDataContext context)
        {
            string dbApiUserPreferences = context.AppUsers
                                          .Where(au => au.Id == ApiUser.ID)
                                          .FirstOrDefault()
                                          .Preferences;
            AppUserPreferences ApiUserPreferences = null;

            if (!string.IsNullOrEmpty(dbApiUserPreferences))
            {
                ApiUserPreferences = JsonConvert.DeserializeObject <AppUserPreferences>(dbApiUserPreferences);
            }

            var users = from user in context.AppUsers
                        let p = !string.IsNullOrEmpty(user.Preferences) ? JsonConvert.DeserializeObject <AppUserPreferences>(user.Preferences) : null
                                where p != null && ApiUser.ID != user.Id &&
                                ApiUser.Age >= p.AgeRangeMin &&
                                ApiUser.Age <= p.AgeRangeMax &&
                                isEqualWithTolerance(ApiUserPreferences.Personality, p.Personality) &&
                                isEqualWithTolerance(ApiUserPreferences.PoliticalAffiliation, p.PoliticalAffiliation) &&
                                isEqualWithTolerance(ApiUserPreferences.PoliticalOpinion, p.PoliticalOpinion) &&
                                isEqualWithTolerance(ApiUserPreferences.Religiosity, p.Religiosity) &&
                                ApiUserPreferences.Location.Intersect(p.Location).Any()
                                select user.Id;

            var reviews = context.Reviews
                          .Where(r => users.Contains(r.AppUserId))
                          .Include(r => r.DBAppUser)
                          .Include(r => r.DBReviewable);

            return(reviews);
        }
コード例 #2
0
        public async Task <ActionResult> PutAsync(int id, [FromBody] AppUserPreferences item)
        {
            if (!ModelState.IsValid || id != item.id)
            {
                return(BadRequest());
            }
            try
            {
                var exist = await service.GetByIdAsync(id);

                if (exist != null)
                {
                    var result = await service.UpdateAsync(item);

                    return(result ? Ok(item) : StatusCode(500, new Response()
                    {
                        Status = false, Description = "Error updating record"
                    }));
                }
                else
                {
                    return(BadRequest());
                }
            }
            catch (Exception ex)
            {
                logger.LogError(ex.Message);
                return(StatusCode(500, new Response()
                {
                    Status = false, Description = "System error"
                }));
            }
        }
コード例 #3
0
ファイル: SystemMenu.cs プロジェクト: x5f3759df/Citrus
 public override void Execute()
 {
     if (new AlertDialog("Are you sure you want to reset to defaults?", "Yes", "Cancel").Show() == 0)
     {
         AppUserPreferences.Instance.ResetToDefaults();
         UI.SceneView.SceneUserPreferences.Instance.ResetToDefaults();
         UI.Timeline.TimelineUserPreferences.Instance.ResetToDefaults();
         Core.CoreUserPreferences.Instance.ResetToDefaults();
         HotkeyRegistry.ResetToDefaults();
         AppUserPreferences.Instance.ToolbarModel = AppUserPreferences.DefaultToolbarModel();
         new AlertDialog("Some actions will take place after Tangerine restart", "Ok").Show();
     }
 }
コード例 #4
0
        public async Task <ActionResult> PostAsync([FromBody] AppUserPreferences item)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            try
            {
                var exist = await service.GetAsync(x => x.userid == item.userid);

                if (exist != null)
                {
                    return(Conflict(new Response()
                    {
                        Status = false, Description = "Duplicate record"
                    }));
                }
                var result = await service.AddAsync(item);

                if (result)
                {
                    var newitem = await service.GetAsync(x => x.userid == item.userid);

                    return(StatusCode(201, newitem));
                }
                else
                {
                    return(BadRequest());
                }
            }
            catch (Exception ex)
            {
                logger.LogError(ex.Message);
                return(StatusCode(500, new Response()
                {
                    Status = false, Description = "System error"
                }));
            }
        }
コード例 #5
0
ファイル: UserPreferencesService.cs プロジェクト: dqdv/DqDv
 public Task Save(AppUserPreferences preferences)
 {
     throw new NotImplementedException();
 }
コード例 #6
0
 public void Update(AppUserPreferences preferences)
 {
     _context.Entry(preferences).State = EntityState.Modified;
 }
コード例 #7
0
ファイル: ToolbarModelEditor.cs プロジェクト: aologos/Citrus
 public void ResetToDefaults()
 {
     AppUserPreferences.Instance.ToolbarModel = toolbarModel = AppUserPreferences.DefaultToolbarModel();
     Initialize();
     TangerineApp.Instance.Toolbar.Rebuild(toolbarModel);
 }