public IEnumerable <RecordDetails> FindAll(FilterCriterias criterias)
 {
     return(FindAll(criterias.MustBeInStock)
            .FilterByGenre(criterias.Genres)
            .FilterByFormat(criterias.Formats)
            .Select(_mapper.Map <RecordDetails>));
 }
Example #2
0
        /// <summary>
        /// Метод-предикат (булевый) текущей записи коллекции сущностей, который возвращает true или
        /// false в зависимости от попадания в диапазон фильтра по всем полям фильтрации.
        /// </summary>
        private bool MapFilterPredicate(object rawEntity)
        {
            var material = (Material)rawEntity;

            if (_filterCriterias.IsEmpty)
            {
                return(true);
            }
            var result = true;

            // Проверка наличия полей сущности в критериях фильтрации и содержит ли поле искомое значение фильтра
            // Если в фильтре нет поля сущности, поле считается совпадающим по критерию
            string buffer;
            var    filter = _filterCriterias;

            result &= !filter.GetValue("CodeMaterial", out buffer) || FilterCriterias.ContainsLong(material.CodeMaterial, buffer);
            result &= !filter.GetValue("Name", out buffer) || FilterCriterias.ContainsLine(material.Name, buffer);
            result &= !filter.GetValue("Mark", out buffer) || FilterCriterias.ContainsLine(material.Profile, buffer);
            result &= !filter.GetValue("Gost", out buffer) || FilterCriterias.ContainsLine(material.Gost, buffer);
            //if (material.Measure != null)
            //{
            //	result &= !filter.GetValue("Measure.ShortName", out buffer) ||
            //	          FilterCriterias.ContainsLine(material.Measure.ShortName, buffer);
            //}
            return(result);
        }
Example #3
0
        /// <summary>
        /// Метод-предикат (булевый) текущей записи коллекции сущностей, который возвращает true или
        /// false в зависимости от попадания в диапазон фильтра по всем полям фильтрации.
        /// </summary>
        private bool MapFilterPredicate(object rawEntity)
        {
            var nu65 = (Nu65View)rawEntity;

            if (_filterCriterias.IsEmpty)
            {
                return(true);
            }
            var result = true;

            // Проверка наличия полей сущности в критериях фильтрации и содержит ли поле искомое значение фильтра
            // Если в фильтре нет поля сущности, поле считается совпадающим по критерию
            string buffer;
            var    filter = _filterCriterias;

            //result &= !filter.GetValue("MeasureId", out buffer) || FilterCriterias.ContainsLine(nu65.MeasureId, buffer);
            if (nu65.Material != null)
            {
                result &= !filter.GetValue("Material.CodeMaterial", out buffer) ||
                          FilterCriterias.ContainsLine(nu65.Material.CodeMaterial.ToString(), buffer);
                result &= !filter.GetValue("Material.WorkGuildId", out buffer) ||
                          FilterCriterias.ContainsLine(nu65.Material.WorkGuildId, buffer);
                result &= !filter.GetValue("Material.ParcelId", out buffer) ||
                          FilterCriterias.ContainsLine(nu65.Material.ParcelId, buffer);
                result &= !filter.GetValue("Material.SignMaterial", out buffer) ||
                          FilterCriterias.ContainsLine(nu65.Material.SignMaterial, buffer);
                result &= !filter.GetValue("Material.AuxiliaryMaterialConsumptionRate", out buffer) ||
                          FilterCriterias.ContainsLine(nu65.Material.AuxiliaryMaterialConsumptionRate, buffer);
                result &= !filter.GetValue("Material.Name", out buffer) ||
                          FilterCriterias.ContainsLine(nu65.Material.Name, buffer);
                result &= !filter.GetValue("Material.Profile", out buffer) ||
                          FilterCriterias.ContainsLine(nu65.Material.Profile, buffer);
                result &= !filter.GetValue("Material.Gost", out buffer) ||
                          FilterCriterias.ContainsLine(nu65.Material.Gost, buffer);
            }
            if (nu65.Product != null)
            {
                result &= !filter.GetValue("Product.CodeProduct", out buffer) ||
                          FilterCriterias.ContainsLine(nu65.Product.CodeProduct.ToString(), buffer);
                result &= !filter.GetValue("Product.Mark", out buffer) ||
                          FilterCriterias.ContainsLine(nu65.Product.Mark, buffer);
                result &= !filter.GetValue("Product.Name", out buffer) ||
                          FilterCriterias.ContainsLine(nu65.Product.Name, buffer);
            }

            return(result);
        }
Example #4
0
        /// <summary>
        /// Метод-предикат (булевый) текущей записи коллекции сущностей, который возвращает true или
        /// false в зависимости от попадания в диапазон фильтра по всем полям фильтрации.
        /// </summary>
        private bool MapFilterPredicate(object rawEntity)
        {
            var measure = (Measure)rawEntity;

            if (_filterCriterias.IsEmpty)
            {
                return(true);
            }
            var result = true;

            // Проверка наличия полей сущности в критериях фильтрации и содержит ли поле искомое значение фильтра
            // Если в фильтре нет поля сущности, поле считается совпадающим по критерию
            string buffer;
            var    filter = _filterCriterias;

            result &= !filter.GetValue("DisplayOldDbCodeString", out buffer) ||
                      FilterCriterias.ContainsLine(measure.DisplayOldDbCodeString, buffer);
            result &= !filter.GetValue("ShortName", out buffer) || FilterCriterias.ContainsLine(measure.ShortName, buffer);
            result &= !filter.GetValue("Name", out buffer) || FilterCriterias.ContainsLine(measure.Name, buffer);
            return(result);
        }
Example #5
0
        /// <summary>
        /// Метод-предикат (булевый) текущей записи коллекции сущностей, который возвращает true или
        /// false в зависимости от попадания в диапазон фильтра по всем полям фильтрации.
        /// </summary>
        private bool MapFilterPredicate(object rawEntity)
        {
            var detailPrint = (DetailPrint)rawEntity;

            if (_filterCriterias.IsEmpty)
            {
                return(true);
            }
            var result = true;

            // Проверка наличия полей сущности в критериях фильтрации и содержит ли поле искомое значение фильтра
            // Если в фильтре нет поля сущности, поле считается совпадающим по критерию
            string buffer;
            var    filter = _filterCriterias;

            result &= !filter.GetValue("CodeDetail", out buffer) ||
                      FilterCriterias.ContainsLine(detailPrint.CodeDetail.ToString(CultureInfo.InvariantCulture), buffer);
            result &= !filter.GetValue("Mark", out buffer) || FilterCriterias.ContainsLine(detailPrint.Mark, buffer);
            result &= !filter.GetValue("Name", out buffer) || FilterCriterias.ContainsLine(detailPrint.Name, buffer);
            return(result);
        }
Example #6
0
        private void AddUpdateToProduct(TreeNode productNode, CatalogProduct product)
        {
            foreach (CatalogUpdate update in product.Updates)
            {
                if (string.IsNullOrEmpty(txtBxFilterText.Text))
                {
                    TreeNode updateNode = new TreeNode(update.Title);
                    updateNode.Tag = new CatalogItem(update);
                    productNode.Nodes.Add(updateNode);
                }
                else
                {
                    FilterCriterias criteria = (cmbBxFilterCriteria.SelectedIndex == 0) ? FilterCriterias.Title : FilterCriterias.Description;
                    switch (criteria)
                    {
                    case FilterCriterias.Title:
                        if (System.Globalization.CultureInfo.InvariantCulture.CompareInfo.IndexOf(update.Title, txtBxFilterText.Text, System.Globalization.CompareOptions.IgnoreCase) >= 0)
                        {
                            TreeNode updateNode = new TreeNode(update.Title);
                            updateNode.Tag = new CatalogItem(update);
                            productNode.Nodes.Add(updateNode);
                        }
                        break;

                    case FilterCriterias.Description:
                        if (System.Globalization.CultureInfo.InvariantCulture.CompareInfo.IndexOf(update.Description, txtBxFilterText.Text, System.Globalization.CompareOptions.IgnoreCase) >= 0)
                        {
                            TreeNode updateNode = new TreeNode(update.Title);
                            updateNode.Tag = new CatalogItem(update);
                            productNode.Nodes.Add(updateNode);
                        }
                        break;

                    default:
                        break;
                    }
                }
            }
        }
        /// <summary>
        /// Метод-предикат (булевый) текущей записи коллекции сущностей, который возвращает true или
        /// false в зависимости от попадания в диапазон фильтра по всем полям фильтрации.
        /// </summary>
        private bool MapFilterPredicate(object rawEntity)
        {
            var cancelledDetail = (CancelledDetail)rawEntity;

            if (_filterCriterias.IsEmpty)
            {
                return(true);
            }
            var result = true;

            // Проверка наличия полей сущности в критериях фильтрации и содержит ли поле искомое значение фильтра
            // Если в фильтре нет поля сущности, поле считается совпадающим по критерию
            string buffer;
            var    filter = _filterCriterias;

            result &= !filter.GetValue("CodeDetail", out buffer) ||
                      FilterCriterias.ContainsLine(cancelledDetail.CodeDetail.ToString(CultureInfo.InvariantCulture), buffer);
            result &= !filter.GetValue("NameDetail", out buffer) || FilterCriterias.ContainsLine(cancelledDetail.NameDetail, buffer);
            result &= !filter.GetValue("OboznDetail", out buffer) || FilterCriterias.ContainsLine(cancelledDetail.OboznDetail, buffer);
            result &= !filter.GetValue("Operac", out buffer) || FilterCriterias.ContainsDecimal(cancelledDetail.Operac, buffer);
            result &= !filter.GetValue("WorkGuildId", out buffer) ||
                      FilterCriterias.ContainsDecimal(cancelledDetail.WorkGuildId, buffer);
            result &= !filter.GetValue("AreaId", out buffer) ||
                      FilterCriterias.ContainsDecimal(cancelledDetail.AreaId, buffer);
            result &= !filter.GetValue("TehnoperId", out buffer) ||
                      FilterCriterias.ContainsDecimal(cancelledDetail.TehnoperId, buffer);
            result &= !filter.GetValue("NameTehnoper", out buffer) || FilterCriterias.ContainsLine(cancelledDetail.NameTehnoper, buffer);
            result &= !filter.GetValue("Koefvr", out buffer) ||
                      FilterCriterias.ContainsDecimal(cancelledDetail.Koefvr, buffer);
            result &= !filter.GetValue("ProfId", out buffer) ||
                      FilterCriterias.ContainsDecimal(cancelledDetail.ProfId, buffer);
            result &= !filter.GetValue("NameProf", out buffer) || FilterCriterias.ContainsLine(cancelledDetail.NameProf, buffer);
            result &= !filter.GetValue("Kolrab", out buffer) ||
                      FilterCriterias.ContainsDecimal(cancelledDetail.Kolrab, buffer);
            result &= !filter.GetValue("Razr", out buffer) ||
                      FilterCriterias.ContainsDecimal(cancelledDetail.Razr, buffer);
            result &= !filter.GetValue("Koldet", out buffer) ||
                      FilterCriterias.ContainsDecimal(cancelledDetail.Koldet, buffer);
            result &= !filter.GetValue("Ednorm", out buffer) ||
                      FilterCriterias.ContainsDecimal(cancelledDetail.Ednorm, buffer);
            result &= !filter.GetValue("Tarset", out buffer) ||
                      FilterCriterias.ContainsDecimal(cancelledDetail.Tarset, buffer);
            result &= !filter.GetValue("Vidnorm", out buffer) ||
                      FilterCriterias.ContainsDecimal(cancelledDetail.Vidnorm, buffer);
            result &= !filter.GetValue("Razmpart", out buffer) ||
                      FilterCriterias.ContainsDecimal(cancelledDetail.Razmpart, buffer);
            result &= !filter.GetValue("Tpz", out buffer) ||
                      FilterCriterias.ContainsDecimal(cancelledDetail.Tpz, buffer);
            result &= !filter.GetValue("Vst", out buffer) ||
                      FilterCriterias.ContainsDecimal(cancelledDetail.Vst, buffer);
            result &= !filter.GetValue("Koefneos", out buffer) ||
                      FilterCriterias.ContainsDecimal(cancelledDetail.Koefneos, buffer);
            result &= !filter.GetValue("Vstk", out buffer) ||
                      FilterCriterias.ContainsDecimal(cancelledDetail.Vstk, buffer);
            result &= !filter.GetValue("Rstk", out buffer) ||
                      FilterCriterias.ContainsDecimal(cancelledDetail.Rstk, buffer);
            result &= !filter.GetValue("Nomizv", out buffer) || FilterCriterias.ContainsLine(cancelledDetail.Nomizv, buffer);
            result &= !filter.GetValue("DateIzv", out buffer) || FilterCriterias.ContainsDate(cancelledDetail.DateIzv, buffer);

            return(result);
        }
Example #8
0
 public IEnumerable <RecordDetails> Filter(int page, [FromBody] FilterCriterias criterias)
 {
     return(_browser.Filter(criterias, page));
 }
Example #9
0
 public void AddFilterCriteria(Expression <Func <TEntity, bool> > filter)
 {
     FilterCriterias.Add(filter);
 }
Example #10
0
 public IEnumerable <RecordDetails> Filter(FilterCriterias criterias, int page)
 {
     return(_sorter.Sort(criterias.Sort, _db.Records.FindAll(criterias))
            .ToPagedList(page, CommonConstants.PAGE_SIZE));
 }