public void Setup()
        {
            _person  = new Person(_currentUserOid, "Current", "User");
            _project = new Project(TestPlant, "T", "D");

            _currentUserProviderMock = new Mock <ICurrentUserProvider>();
            _currentUserProviderMock.Setup(x => x.GetCurrentUserOid())
            .Returns(_currentUserOid);

            _personRepositoryMock = new Mock <IPersonRepository>();
            _personRepositoryMock.Setup(x => x.GetWithSavedFiltersByOidAsync(_currentUserOid))
            .Returns(Task.FromResult(_person));

            _savedFilter = new SavedFilter(TestPlant, _project, _oldTitle, _oldCriteria);
            _savedFilter.SetProtectedIdForTesting(2);
            _person.AddSavedFilter(_savedFilter);

            _command = new UpdateSavedFilterCommand(_savedFilter.Id, _newTitle, _newCriteria, _newDefaultFilter, _rowVersion);

            _dut = new UpdateSavedFilterCommandHandler(
                UnitOfWorkMock.Object,
                _currentUserProviderMock.Object,
                _personRepositoryMock.Object
                );
        }
Example #2
0
        public static SimSelection Create(string title, IMiniSimDescription me, SimFromList simsFromList, ICollection <ICriteria> criteria, bool lastFirst, bool addAll, bool automatic, out bool criteriaCanceled)
        {
            SimSelection selection = new SimSelection(title, me, simsFromList, lastFirst, addAll);

            selection.FilterSims(criteria, SavedFilter.GetOptions(), automatic, out criteriaCanceled);
            return(selection);
        }
Example #3
0
        public async Task <IHttpActionResult> PutSavedFilter(int id, SavedFilter savedFilter)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != savedFilter.ID)
            {
                return(BadRequest());
            }

            db.Entry(savedFilter).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SavedFilterExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Example #4
0
        // use mc to define criteria layout, no hard set filter matching as with go here.
        // seperate menu to define score hit or miss values. Hit/miss can be negative or pos
        // way to prevent scores from getting out of hand or user overwhelment by providing general "matters a bit", "matters a lot" values that
        // hard set generic values (which can be customized)
        // fiter update by testing if sim matches values and apply the hit miss
        public static string GetLocalizedFilterCriteria(List <string> filters)
        {
            string result = string.Empty;

            foreach (string filter in filters)
            {
                SavedFilter filter2 = GetFilter(filter);

                if (filter2 != null)
                {
                    foreach (SimSelection.ICriteria crit in filter2.Elements)
                    {
                        ITestableOption option = crit as ITestableOption;
                        result += crit.Name + Common.NewLine;
                        if (option != null)
                        {
                            // this is returning all because OptionName is a loop of the options internally
                            result += option.OptionName + Common.NewLine;
                        }
                    }
                }
            }

            return(result);
        }
        public async Task <Result <int> > Handle(CreateSavedFilterCommand request, CancellationToken cancellationToken)
        {
            var currentUserOid = _currentUserProvider.GetCurrentUserOid();
            var person         = await _personRepository.GetWithSavedFiltersByOidAsync(currentUserOid);

            var project = await _projectRepository.GetProjectOnlyByNameAsync(request.ProjectName);

            if (request.DefaultFilter)
            {
                var currentDefaultFilter = person.GetDefaultFilter(project.Id);

                if (currentDefaultFilter != null)
                {
                    currentDefaultFilter.DefaultFilter = false;
                }
            }

            var savedFilter = new SavedFilter(_plantProvider.Plant, project, request.Title, request.Criteria)
            {
                DefaultFilter = request.DefaultFilter
            };

            person.AddSavedFilter(savedFilter);

            await _unitOfWork.SaveChangesAsync(cancellationToken);

            return(new SuccessResult <int>(savedFilter.Id));
        }
        public void Setup()
        {
            _person  = new Person(_currentUserOid, "FirstName", "LastName", "UserName", "*****@*****.**");
            _project = new ProCoSysProject()
            {
                Id = 0, Description = "", IsClosed = false, Name = "ProjectName"
            };

            _currentUserProviderMock = new Mock <ICurrentUserProvider>();
            _currentUserProviderMock.Setup(x => x.GetCurrentUserOid())
            .Returns(_currentUserOid);

            _personRepositoryMock = new Mock <IPersonRepository>();
            _personRepositoryMock.Setup(x => x.GetWithSavedFiltersByOidAsync(_currentUserOid))
            .Returns(Task.FromResult(_person));

            _savedFilter = new SavedFilter(TestPlant, _project.Name, _oldTitle, _oldCriteria);
            _savedFilter.SetProtectedIdForTesting(2);
            _person.AddSavedFilter(_savedFilter);

            _command = new UpdateSavedFilterCommand(_savedFilter.Id, _newTitle, _newCriteria, _newDefaultFilter, _rowVersion);

            _dut = new UpdateSavedFilterCommandHandler(
                UnitOfWorkMock.Object,
                _currentUserProviderMock.Object,
                _personRepositoryMock.Object
                );
        }
Example #7
0
        public static List <IMiniSimDescription> GetSimsMatchingFilterAsMinis(string name, ulong sim)
        {
            List <IMiniSimDescription> results = new List <IMiniSimDescription>();

            SavedFilter filter = GetFilter(name);

            if (sim == 0 && PlumbBob.SelectedActor != null)
            {
                sim = PlumbBob.SelectedActor.SimDescription.SimDescriptionId;
            }

            if (filter != null && sim != 0)
            {
                bool okayed;
                IMiniSimDescription mini = SimDescription.Find(sim);
                if (mini != null)
                {
                    List <SimSelection.ICriteria> crit = new List <SimSelection.ICriteria>();
                    crit.Add(new SavedFilter.Item(filter));

                    SimSelection selection = SimSelection.Create("", mini, null, crit, true, false, out okayed);
                    if (selection.All != null && selection.All.Count > 0)
                    {
                        results.AddRange(selection.All);
                    }
                }
            }

            return(results);
        }
 public void Setup()
 {
     _dut = new Person(Oid, "FirstName", "LastName", "UserName", "EmailAddress");
     _savedDefaultFilter = new SavedFilter(TestPlant, ProjectName, "title", "criteria")
     {
         DefaultFilter = true
     };
     _dut.AddSavedFilter(_savedDefaultFilter);
 }
        protected Person AddSavedFiltersToPerson(IPOContext context, Person person)
        {
            _savedFilter = new SavedFilter(TestPlant, ProjectName, FilterName, Criteria);
            var filter2 = new SavedFilter(TestPlant, ProjectName, "filter2", Criteria);

            person.AddSavedFilter(_savedFilter);
            person.AddSavedFilter(filter2);
            context.SaveChangesAsync().Wait();
            return(person);
        }
Example #10
0
        public async Task <IHttpActionResult> GetSavedFilter(int id)
        {
            SavedFilter savedFilter = await db.SavedFilters.FindAsync(id);

            if (savedFilter == null)
            {
                return(NotFound());
            }

            return(Ok(savedFilter));
        }
Example #11
0
        public async Task <IHttpActionResult> PostSavedFilter(SavedFilter savedFilter)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.SavedFilters.Add(savedFilter);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = savedFilter.ID }, savedFilter));
        }
        public void Create(SimpleStateGridView model)
        {
            var state = new SavedFilter
            {
                Name      = model.Name,
                FilterKey = model.Key,
                Data      = Encoding.UTF8.GetBytes(model.FilterRawOptions)
            };

            _dc.SavedFilters.Add(state);
            _dc.SaveChanges();
        }
Example #13
0
        public async Task <IHttpActionResult> DeleteSavedFilter(int id)
        {
            SavedFilter savedFilter = await db.SavedFilters.FindAsync(id);

            if (savedFilter == null)
            {
                return(NotFound());
            }

            db.SavedFilters.Remove(savedFilter);
            await db.SaveChangesAsync();

            return(Ok(savedFilter));
        }
Example #14
0
        public IQueryable <CallLog> GetCalls([FromUri] SavedFilter search)
        {
            IQueryable <CallLog> calls = db.Calls;

            // apply search filters
            var filters = new CallLogFilters(calls);

            calls = filters.ApplyNumber(search.Number);
            calls = filters.ApplyExtension(search.Extension);
            calls = filters.ApplyDuration(search.Duration);
            calls = filters.ApplyDateRange(search.DateAfter, search.DateBefore);

            return(calls);
        }
        public void DeleteSavedFilter_ShouldSaveFilter()
        {
            var savedFilter = new SavedFilter(TestPlant, ProjectName, "title", "criteria")
            {
                DefaultFilter = true
            };

            _dut.AddSavedFilter(savedFilter);

            // Act
            var result = _dut.SavedFilters.ToList().Single();

            // Arrange
            Assert.AreEqual(savedFilter, result);
        }
Example #16
0
        public JsonResult RemoveSavedFilter(int savedFilterId)
        {
            SavedFilter savedFilter = savedFilterRepository.Get(savedFilterId);

            savedFilterRepository.DbContext.BeginTransaction();
            savedFilterRepository.Delete(savedFilter);
            savedFilterRepository.DbContext.CommitTransaction();
            IList <SavedFilter>   lst    = savedFilterRepository.GetAllFor(UserId);
            List <MVCSavedFilter> result = new List <MVCSavedFilter>();

            foreach (SavedFilter filter in lst)
            {
                result.Add(new MVCSavedFilter(filter));
            }
            return(Json(result));
        }
        public void GetDefaultFilter_ShouldGetDefaultFilterWhenExists()
        {
            var dut = new Person(Oid, "firstName", "lastName", "", "");

            var savedFilter = new SavedFilter(TestPlant, ProjectName, "title", "criteria")
            {
                DefaultFilter = true
            };

            dut.AddSavedFilter(savedFilter);

            // Act
            var result = dut.GetDefaultFilter(ProjectName);

            // Arrange
            Assert.AreEqual(savedFilter, result);
        }
Example #18
0
        public static SavedFilter GetFilter(string name)
        {
            name = name.ToLower();

            SavedFilter picked = null;

            foreach (SavedFilter filter in MasterController.Settings.mFilters)
            {
                if (filter.Name.ToLower() == name)
                {
                    picked = filter;
                    break;
                }
            }

            return(picked);
        }
Example #19
0
        protected override void SetupNewDatabase(DbContextOptions <PreservationContext> dbContextOptions)
        {
            using (var context = new PreservationContext(dbContextOptions, _plantProvider, _eventDispatcher,
                                                         _currentUserProvider))
            {
                _query = new GetSavedFiltersInProjectQuery(_projectName);

                _project = AddProject(context, _projectName, "", true);

                _savedFilter = new SavedFilter(TestPlant, _project, _title, _criteria)
                {
                    DefaultFilter = _defaultFilter
                };
                _person = context.Persons.Single(p => p.Oid == _currentUserOid);
                _person.AddSavedFilter(_savedFilter);

                context.SaveChangesAsync().Wait();
            }
        }
Example #20
0
        public JsonResult SaveFilters(OutfitSearch outfitSearch)
        {
            SavedFilter savedFilter = savedFilterRepository.GetByName(outfitSearch.Name, UserId);

            if (savedFilter == null)
            {
                savedFilter = new SavedFilter();
            }
            savedFilter.Color            = outfitSearch.Color;
            savedFilter.CreatedByMe      = outfitSearch.CreatedByMe;
            savedFilter.Garment          = outfitSearch.Garment;
            savedFilter.IsRatedByFriends = outfitSearch.IsRatedByFriends;
            savedFilter.IsRatedByMe      = outfitSearch.IsRatedByMe;
            savedFilter.Name             = outfitSearch.Name;
            savedFilter.Pattern          = outfitSearch.Pattern;
            savedFilter.Search           = outfitSearch.Search;
            savedFilter.SeasonName       = outfitSearch.SeasonName;
            savedFilter.SelectedEvents   = outfitSearch.SelectedEvents;
            savedFilter.SelectedFlavors  = outfitSearch.SelectedFlavors;
            savedFilter.Trend            = outfitSearch.Trend;
            savedFilter.UserId           = UserId;
            savedFilter.MyFavorites      = outfitSearch.MyFavorites;
            savedFilter.IsUpToDate       = outfitSearch.IsUpToDate;

            savedFilterRepository.SaveOrUpdate(savedFilter);
            IList <SavedFilter>   lst    = savedFilterRepository.GetAllFor(UserId);
            List <MVCSavedFilter> result = new List <MVCSavedFilter>();

            foreach (SavedFilter filter in lst)
            {
                if (filter.Name == outfitSearch.Name)
                {
                    result.Add(new MVCSavedFilter(filter, true));
                }
                else
                {
                    result.Add(new MVCSavedFilter(filter));
                }
            }
            return(Json(result));
        }
Example #21
0
        protected override void SetupNewDatabase(DbContextOptions <IPOContext> dbContextOptions)
        {
            using (var context = new IPOContext(dbContextOptions, _plantProvider, _eventDispatcher,
                                                _currentUserProvider))
            {
                _personOid = new Guid();

                var person = AddPerson(context, _personOid, "Current", "User", "", "");
                _savedFilter1 = new SavedFilter(TestPlant, _projectName, _title, "criteria");
                _savedFilter2 = new SavedFilter(TestPlant, _projectName, _title, "C");

                person.AddSavedFilter(_savedFilter1);
                person.AddSavedFilter(_savedFilter2);
                context.SaveChangesAsync().Wait();

                _currentUserProviderMock = new Mock <ICurrentUserProvider>();
                _currentUserProviderMock
                .Setup(x => x.GetCurrentUserOid())
                .Returns(_personOid);
            }
        }
Example #22
0
        public void Setup()
        {
            _person = new Person(
                Oid,
                "FirstName",
                "LastName",
                "UNAME",
                "*****@*****.**");
            _person.SetProtectedIdForTesting(PersonId);

            _savedFilter = new SavedFilter(TestPlant, _projectName, "title", "criteria");
            _savedFilter.SetProtectedIdForTesting(SavedFilterId);
            _person.AddSavedFilter(_savedFilter);

            _persons = new List <Person>
            {
                _person
            };

            _dbPersonSetMock = _persons.AsQueryable().BuildMockDbSet();

            ContextHelper
            .ContextMock
            .Setup(x => x.Persons)
            .Returns(_dbPersonSetMock.Object);

            var savedFilters = new List <SavedFilter>
            {
                _savedFilter
            };

            _savedFilterSetMock = savedFilters.AsQueryable().BuildMockDbSet();

            ContextHelper
            .ContextMock
            .Setup(x => x.SavedFilters)
            .Returns(_savedFilterSetMock.Object);

            _dut = new PersonRepository(ContextHelper.ContextMock.Object);
        }
Example #23
0
        public void Create(GridStateView model)
        {
            var bf      = new BinaryFormatter();
            var options = GetActionGridOptions(model.ActionGridRawOptions);

            using (var ms = new MemoryStream())
            {
                bf.Serialize(ms, options);
                var data = ms.ToArray();

                if (model.GridStateId.HasValue)
                {
                    var gridState =
                        _dc.SavedFilters.First(x => x.Id == model.GridStateId && x.FilterKey == model.GridKey);

                    gridState.Name = model.Name;

                    gridState.Data = data;

                    _dc.SaveChanges();
                }
                else
                {
                    var gridState = new SavedFilter()
                    {
                        Data      = data,
                        FilterKey = model.GridKey,
                        Name      = model.Name
                    };

                    _dc.SavedFilters.Add(gridState);

                    _dc.SaveChanges();

                    model.GridStateId = gridState.Id;
                }
            }
        }
Example #24
0
        public bool Delete(string name)
        {
            name = name.ToLower();

            List <SavedFilter> filters = NRaas.MasterController.Settings.mFilters;

            int index = 0;

            while (index < filters.Count)
            {
                SavedFilter filter = filters[index];

                if (filter.Name.ToLower() == name)
                {
                    filters.RemoveAt(index);
                }
                else
                {
                    index++;
                }
            }

            return(true);
        }
 public void Setup() =>
 _dut = new SavedFilter(TestPlant, ProjectName, Title, Criteria)
 {
     DefaultFilter = DefaultFilterValue
 };
Example #26
0
        public JsonResult GetSavedFilter(int savedFilterId)
        {
            SavedFilter savedFilter = savedFilterRepository.Get(savedFilterId);
            SavedFilter temp        = new SavedFilter();

            if (savedFilter.Garment == NOCATEGORY)
            {
                temp.Garment = "0";
            }
            else
            {
                temp.Garment = categoryRepository.GetByDescription(savedFilter.Garment).Id.ToString();
            }

            if (savedFilter.Trend == NOTREND)
            {
                temp.Trend = "0";
            }
            else
            {
                temp.Trend = trendRepository.GetByName(savedFilter.Trend).Id.ToString();
            }

            if (savedFilter.Color != string.Empty)
            {
                foreach (string color in savedFilter.Color.Split(new [] { ',' }, StringSplitOptions.RemoveEmptyEntries))
                {
                    temp.Color += colorRepository.GetByDescription(color).Id.ToString() + ",";
                }
                if (temp.Color.Length > 0)
                {
                    temp.Color = temp.Color.Substring(0, temp.Color.Length - 1);
                }
            }

            if (savedFilter.Pattern != string.Empty)
            {
                foreach (string pattern in savedFilter.Pattern.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
                {
                    temp.Pattern += patterRepository.GetByDescription(pattern).Id.ToString() + ",";
                }
                if (temp.Pattern.Length > 0)
                {
                    temp.Pattern = temp.Pattern.Substring(0, temp.Pattern.Length - 1);
                }
            }

            temp.CreatedByMe      = savedFilter.CreatedByMe;
            temp.IsRatedByFriends = savedFilter.IsRatedByFriends;
            temp.IsRatedByMe      = savedFilter.IsRatedByMe;
            temp.Name             = savedFilter.Name;
            temp.Search           = savedFilter.Search;
            temp.SeasonName       = savedFilter.SeasonName;
            temp.SelectedEvents   = savedFilter.SelectedEvents;
            temp.SelectedFlavors  = savedFilter.SelectedFlavors;
            temp.UserId           = savedFilter.UserId;
            temp.MyFavorites      = savedFilter.MyFavorites;
            temp.IsUpToDate       = savedFilter.IsUpToDate;

            return(Json(temp));
        }
 public void RemoveSavedFilter(SavedFilter savedFilter)
 => _context.SavedFilters.Remove(savedFilter);