Exemple #1
0
        public void GetAll_ShouldCallTaskRepo_Once()
        {
            TaskService taskService = new TaskService(_taskMockRepo.Object);

            Model.Filter filter = new Model.Filter();
            taskService.GetTasks(filter);
            _taskMockRepo.Verify(repo => repo.GetTasks(filter), Times.Once);
        }
Exemple #2
0
        public void UpdateFilter(Model.Filter filter)
        {
            var node = GetFilterNodeById(filter.Id);

            node.Text =
                string.IsNullOrWhiteSpace(filter.Name) ?
                "(" + Model.Filter.GetTypeName(filter.Type) + " - " + filter.Id + ")" :
                filter.Name;
        }
Exemple #3
0
        public void GetAll_FilterDefinedPartiallyWithSearchValue_ShouldThrowException()
        {
            Model.Filter filter = new Model.Filter();
            filter.SearchValue = "Do Laundr";
            Action action = () => _taskService.GetTasks(filter);

            action.Should().Throw <ArgumentException>()
            .WithMessage("searchField cannot be null if SearchValue is defined. (Parameter 'filter')");
        }
Exemple #4
0
 public void Insert(Model.Filter entity)
 {
     using (var context = new ImobeNetContext())
     {
         var filterRepository = new BaseRepository <Model.Filter>(context);
         filterRepository.Insert(entity);
         filterRepository.SaveChanges();
     }
 }
Exemple #5
0
 public string Insert(string table, string [] columns, string [] values)
 {
     Model.Filter fill = new Model.Filter();
     values = fill.MultiFil(values);
     return(string.Format("insert into {0}({1}) values ({2})", new object[] {
         table,
         string.Join(", ", columns),
         string.Join(", ", values)
     }));
 }
Exemple #6
0
        public void AddFilter(Model.Filter filter)
        {
            var node = new TreeNode();

            node.Text =
                string.IsNullOrWhiteSpace(filter.Name) ?
                "(" + Model.Filter.GetTypeName(filter.Type) + " - " + filter.Id + ")" :
                filter.Name;
            node.Tag = filter.Id;
            FilterNode.Nodes.Add(node);
        }
Exemple #7
0
        public Model.FilteredList <Task> GetTasks(Model.Filter filter)
        {
            if (!string.IsNullOrEmpty(filter.SearchField) && string.IsNullOrEmpty(filter.SearchValue))
            {
                throw new ArgumentException("searchValue cannot be null if searchField is defined.", nameof(filter));
            }

            if (string.IsNullOrEmpty(filter.SearchField) && !string.IsNullOrEmpty(filter.SearchValue))
            {
                throw new ArgumentException("searchField cannot be null if searchValue is defined.", nameof(filter));
            }

            return(_taskRepository.GetTasks(filter));
        }
Exemple #8
0
        /// <summary>
        /// 依据条件抓取Filter
        /// </summary>
        /// <param name="predicate">谓词回调</param>
        /// <returns>抓取结果的迭代器</returns>
        protected virtual IEnumerable <Model.Filter> FetchFiltersSource(Predicate <Model.Filter> predicate)
        {
            SQLiteCommand cmd = new SQLiteCommand(_database);

            cmd.CommandText = $"Select * From {APM.FiltersTable}";

            using (SQLiteDataReader results = cmd.ExecuteReader()) {
                while (results.Read())
                {
                    Model.Filter filter = FilterHelper.FetchFrom(results);
                    if (predicate(filter))
                    {
                        yield return(filter);
                    }
                }
            }
        }
Exemple #9
0
        public void RemoveFilter(Model.Filter filter)
        {
            var node = GetFilterNodeById(filter.Id);

            node.Remove();
        }
Exemple #10
0
 /// <summary>
 /// GridSort
 /// </summary>
 /// <param name="text"></param>
 /// <param name="column"></param>
 /// <param name="filter"></param>
 /// <param name="htmlAttributes"></param>
 /// <returns></returns>
 public MvcHtmlString GridSort(string text, string column, Model.Filter filter, object htmlAttributes)
 {
     return(new GridSortBuilder().Builder(text, column, filter, htmlAttributes));
 }
Exemple #11
0
 /// <summary>
 /// GridSort
 /// </summary>
 /// <param name="text"></param>
 /// <param name="column"></param>
 /// <param name="filter"></param>
 /// <returns></returns>
 public MvcHtmlString GridSort(string text, string column, Model.Filter filter)
 {
     return(GridSort(text, column, filter, null));
 }
Exemple #12
0
 public DataModel()
 {
     Filter = new Model.Filter();
 }
Exemple #13
0
 public void Update(Model.Filter entity, int[] vinculatedPurpose)
 {
     this.InsertUpdate(entity, vinculatedPurpose, Enums.ActionType.Update);
 }
Exemple #14
0
        private void InsertUpdate(Model.Filter entity, int[] vinculatedPurpose, Enums.ActionType actionType)
        {
            using (var context = new ImobeNetContext())
            {
                using (TransactionScope scopeOfTransaction = new TransactionScope())
                {
                    try
                    {
                        var filterRepository        = new BaseRepository <Model.Filter>(context);
                        var filterPurposeRepository = new BaseRepository <Model.FilterPurpose>(context);

                        if (actionType == Enums.ActionType.Insert)
                        {
                            filterRepository.Insert(entity);
                        }
                        else
                        if (actionType == Enums.ActionType.Update)
                        {
                            filterRepository.Update(entity);
                        }

                        context.SaveChanges();

                        var vincultadePurposes = (from p in context.FilterPurpose
                                                  where p.IDFilter == entity.IDFilter
                                                  select p);

                        //Deletando os propositos
                        if (vincultadePurposes != null && vincultadePurposes.Count() > 0)
                        {
                            foreach (var purpose in vincultadePurposes)
                            {
                                filterPurposeRepository.Delete(purpose);
                            }

                            context.SaveChanges();
                        }

                        // inserindo novos
                        foreach (var purpose in vinculatedPurpose)
                        {
                            filterPurposeRepository.Insert(new FilterPurpose()
                            {
                                IDFilter = entity.IDFilter.Value, IDPurpose = purpose
                            });
                        }

                        context.SaveChanges();

                        scopeOfTransaction.Complete();
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                    finally
                    {
                        scopeOfTransaction.Dispose();
                    }
                }
            }
        }