Пример #1
0
        public List <Systems> GetSystemsList(BadBeeFilter filter)
        {
            if (string.IsNullOrEmpty(filter.Brands) && string.IsNullOrEmpty(filter.Series) && string.IsNullOrEmpty(filter.Models) &&
                string.IsNullOrEmpty(filter.DateYears) && string.IsNullOrEmpty(filter.BadBeeNumbers) && string.IsNullOrEmpty(filter.Wvas) &&
                string.IsNullOrEmpty(filter.Widths) && string.IsNullOrEmpty(filter.Heights) && string.IsNullOrEmpty(filter.Thicknesses)
                /*&& string.IsNullOrEmpty(filter.Systems)*/ /*&& string.IsNullOrEmpty(filter.PhraseFilter)*/)
            {
                return(GetChList <Systems>());
            }
            else
            {
                var items = GetList(filter, false, false, false, false, false, false, false, true, false, false, false, false, false);
                var list  = items.ToList();
                var bb    = list.Select(item => new Systems {
                    SystemId = item.BadBee.Systems.SystemId, Abbreviation = item.BadBee.Systems.Abbreviation.TrimEnd()
                }).ToList();
                var distinctRowsById = bb.Select(i => i.SystemId).Distinct().Select(i => bb.First(o => o.SystemId == i)).ToList();

                return(distinctRowsById.OrderBy(q => q.Abbreviation).ToList());
            }
        }
Пример #2
0
        public List <Date> GetYearsList(BadBeeFilter filter)
        {
            if (string.IsNullOrEmpty(filter.Brands) && string.IsNullOrEmpty(filter.Series) && string.IsNullOrEmpty(filter.Models) &&
                /*&& string.IsNullOrEmpty(filter.DateYears)*/ string.IsNullOrEmpty(filter.BadBeeNumbers) && string.IsNullOrEmpty(filter.Wvas) &&
                string.IsNullOrEmpty(filter.Widths) && string.IsNullOrEmpty(filter.Heights) && string.IsNullOrEmpty(filter.Thicknesses) &&
                string.IsNullOrEmpty(filter.Systems) /* && string.IsNullOrEmpty(filter.PhraseFilter)*/)
            {
                return(GetChList <Date>());
            }
            else
            {
                var items = GetList(filter, false, false, false, false, false, false, false, false, false, false, false, false, true);
                var list  = items.ToList();
                var bb    = list.Distinct().Select(item => new Date {
                    Date1 = item.Model.Year.DateFromFK.Date1 ?? "", DateId = item.Model.Year.DateFromFK.DateId
                }).ToList();
                var distinctRowsById = bb.Select(i => i.DateId).Distinct().Select(i => bb.First(o => o.DateId == i)).ToList();

                return(distinctRowsById.OrderBy(q => q.Date1).ToList());
            }
        }
Пример #3
0
        public List <Thickness> GetThicknessesList(BadBeeFilter filter)
        {
            if (string.IsNullOrEmpty(filter.Brands) && string.IsNullOrEmpty(filter.Series) && string.IsNullOrEmpty(filter.Models) &&
                string.IsNullOrEmpty(filter.DateYears) && string.IsNullOrEmpty(filter.BadBeeNumbers) && string.IsNullOrEmpty(filter.Wvas) &&
                string.IsNullOrEmpty(filter.Widths) && string.IsNullOrEmpty(filter.Heights) &&     /*&& string.IsNullOrEmpty(filter.Thicknesses)*/
                string.IsNullOrEmpty(filter.Systems) /*&& string.IsNullOrEmpty(filter.PhraseFilter)*/)
            {
                return(GetChList <Thickness>());
            }
            else
            {
                var items = GetList(filter, false, false, false, false, false, false, true, false, false, false, false, false, false);
                var list  = items.ToList();
                var bb    = list.Select(item => new Thickness {
                    ThicknessId = item.BadBee.Dimension.Thickness.ThicknessId, Thickness1 = item.BadBee.Dimension.Thickness.Thickness1
                }).ToList();
                var distinctRowsById = bb.Select(i => i.ThicknessId).Distinct().Select(i => bb.First(o => o.ThicknessId == i)).ToList();

                return(distinctRowsById.OrderBy(q => q.Thickness1).ToList());
            }
        }
Пример #4
0
        public List <DAL.BadBee> GetBadBeeList(BadBeeFilter filter)
        {
            if (string.IsNullOrEmpty(filter.Brands) && string.IsNullOrEmpty(filter.Series) && string.IsNullOrEmpty(filter.Models) &&
                string.IsNullOrEmpty(filter.DateYears) /*&& string.IsNullOrEmpty(filter.BadBeeNumbers)*/ && string.IsNullOrEmpty(filter.Wvas) &&
                string.IsNullOrEmpty(filter.Widths) && string.IsNullOrEmpty(filter.Heights) && string.IsNullOrEmpty(filter.Thicknesses) &&
                string.IsNullOrEmpty(filter.Systems) /*&& string.IsNullOrEmpty(filter.PhraseFilter)*/)
            {
                return(GetChList <DAL.BadBee>());
            }
            else
            {
                var items = GetList(filter, false, false, false, false, false, false, false, false, false, false, false, true, false);
                var list  = items.OrderBy(q => q.BadBee.BadBeeNo).ToList();
                var bb    = list.Select(item => new BadBee.Core.DAL.BadBee {
                    BadBeeNo = item.BadBee.BadBeeNo.TrimEnd(), BadBeeId = item.BadBeeId
                }).ToList();
                var distinctRowsById = bb.Select(i => i.BadBeeId).Distinct().Select(i => bb.First(o => o.BadBeeId == i)).ToList();

                return(distinctRowsById.OrderBy(q => q.BadBeeNo).ToList());
            }
        }
Пример #5
0
        public List <Serie> GetSeriesList(BadBeeFilter filter)
        {
            if (string.IsNullOrEmpty(filter.Brands) /*&& string.IsNullOrEmpty(filter.Series)*/ && string.IsNullOrEmpty(filter.Models) &&
                string.IsNullOrEmpty(filter.DateYears) && string.IsNullOrEmpty(filter.BadBeeNumbers) && string.IsNullOrEmpty(filter.Wvas) &&
                string.IsNullOrEmpty(filter.Widths) && string.IsNullOrEmpty(filter.Heights) && string.IsNullOrEmpty(filter.Thicknesses) &&
                string.IsNullOrEmpty(filter.Systems) /*&& string.IsNullOrEmpty(filter.PhraseFilter)*/)
            {
                return(GetChList <Serie>().OrderBy(q => q.Name).ToList());
            }
            else
            {
                var items = GetList(filter, false, true, false, false, false, false, false, false, false, false, false, false, false);
                var list  = items.ToList();
                var bb    = list.Select(x => new Serie()
                {
                    SerieId = x.Model.Serie.SerieId, Name = x.Model.Serie.Name.TrimEnd()
                }).ToList();
                var distinctRowsById = bb.Select(i => i.SerieId).Distinct().Select(i => bb.First(o => o.SerieId == i)).ToList();

                return(distinctRowsById.OrderBy(q => q.Name).ToList());
            }
        }
Пример #6
0
        public List <Model> GetModelsList(BadBeeFilter filter)
        {
            if (string.IsNullOrEmpty(filter.Brands) && string.IsNullOrEmpty(filter.Series) &&/* && string.IsNullOrEmpty(filter.Models)*/
                string.IsNullOrEmpty(filter.DateYears) && string.IsNullOrEmpty(filter.BadBeeNumbers) && string.IsNullOrEmpty(filter.Wvas) &&
                string.IsNullOrEmpty(filter.Widths) && string.IsNullOrEmpty(filter.Heights) && string.IsNullOrEmpty(filter.Thicknesses) &&
                string.IsNullOrEmpty(filter.Systems) /*&& string.IsNullOrEmpty(filter.PhraseFilter)*/)
            {
                return(GetChList <Model>());
            }
            else
            {
                var items = GetList(filter, false, false, true, false, false, false, false, false, false, false, false, false, false);
                var list  = items.ToList();
                var bb    = list.Select(item => new Model {
                    ModelId = item.ModelId, Name = item.Model.Name.TrimEnd()
                }).ToList();

                var distinctRowsById = bb.Select(i => i.ModelId).Distinct().Select(i => bb.First(o => o.ModelId == i)).ToList();

                return(distinctRowsById);
            }
        }
Пример #7
0
        public ListResult GetList(BadBeeFilter filter, int page, int itemsPerPage)

        {
            ListResult results = new ListResult();

            results.Items      = new List <CvlItem>();
            results.ItemsCount = 0;

            var query = db.Item.AsQueryable();

            if (filter.PhraseFilter != null)
            {
                if (GetChList <Brand>().Any(row => row.Name.ToLower().StartsWith(filter.PhraseFilter.ToLower())))
                {
                    List <Brand> br       = GetChList <Brand>().Where(q => q.Name.ToLower().StartsWith(filter.PhraseFilter.ToLower())).ToList();
                    List <int>   brandIds = br.Select(x => x.BrandId).ToList();
                    query             = query.Where(q => brandIds.Contains(q.Model.Serie.Brand.BrandId));
                    filter.BrandsList = brandIds;
                }
                else if (GetChList <Serie>().Any(row => row.Name.ToLower().StartsWith(filter.PhraseFilter.ToLower())))
                {
                    List <Serie> ser      = GetChList <Serie>().Where(q => q.Name.ToLower().StartsWith(filter.PhraseFilter.ToLower())).ToList();
                    List <int>   serieIds = ser.Select(x => x.SerieId).ToList();
                    query             = query.Where(q => serieIds.Contains(q.Model.Serie.SerieId));
                    filter.SeriesList = serieIds;
                }
                else if (GetChList <Model>().Any(row => row.Name.ToLower().StartsWith(filter.PhraseFilter.ToLower())))
                {
                    List <Model> mod      = GetChList <Model>().Where(q => q.Name.ToLower().StartsWith(filter.PhraseFilter.ToLower())).ToList();
                    List <int>   modelIds = mod.Select(x => x.ModelId).ToList();
                    query             = query.Where(q => modelIds.Contains(q.Model.ModelId));
                    filter.ModelsList = modelIds;
                }
                else
                if (GetChList <DAL.BadBee>().Any(q =>
                                                 (q.BadBeeNo.Replace(" ", "").Replace(".", "").Replace(",", "").Replace("-", "")
                                                  .StartsWith(filter.PhraseFilter.Replace(" ", "").Replace(".", "").Replace(",", "").Replace("-", "")))))
                {
                    List <DAL.BadBee> bb = GetChList <DAL.BadBee>().Where(q => (q.BadBeeNo.Replace(" ", "").Replace(".", "").Replace(",", "").Replace("-", "")
                                                                                .StartsWith(filter.PhraseFilter.Replace(" ", "").Replace(".", "").Replace(",", "").Replace("-", "")))).ToList();

                    List <int> badBeeIds = bb.Select(x => x.BadBeeId).ToList();
                    query = query.Where(q => badBeeIds.Contains(q.BadBee.BadBeeId));
                    if (bb != null)
                    {
                        filter.BadBeeNumbersList = badBeeIds;
                    }
                }
                else if (GetChList <Wva>().Any(q => q.WvaNo.StartsWith(filter.PhraseFilter.Replace(" ", ""))))
                {
                    List <Wva> wva = GetChList <Wva>().Where(q => q.WvaNo.Replace(" ", "").StartsWith(filter.PhraseFilter.Replace(" ", ""))).ToList();

                    List <int> wvaIds = wva.Select(x => x.WvaId).ToList();
                    query = query.Where(q => wvaIds.Contains(q.BadBee.Wva.WvaId));
                    if (wva != null)
                    {
                        filter.WvasList = wvaIds;
                    }
                }
                filter.PhraseFilter = null;
            }

            if (filter != null && filter.PhraseFilter == null)
            {
                if (!string.IsNullOrEmpty(filter.Models))
                {
                    query = query.Where(q => filter.ModelsList.Contains(q.ModelId));
                }

                else if (!string.IsNullOrEmpty(filter.Series))
                {
                    query = query.Where(q => filter.SeriesList.Contains(q.Model.Serie.SerieId));
                }
                else if (!string.IsNullOrEmpty(filter.Brands))
                {
                    query = query.Where(q => filter.BrandsList.Contains(q.Model.Serie.Brand.BrandId));
                }
                if (string.IsNullOrEmpty(filter.Brands))
                {
                    filter.Series = null;
                    filter.Models = null;
                }
                if (!string.IsNullOrEmpty(filter.BadBeeNumbers))
                {
                    query = query.Where(q => filter.BadBeeNumbersList.Contains(q.BadBee.BadBeeId));
                }
                //if (filter.DateYear.HasValue)
                //{
                //    DateTime date = new DateTime();
                //    date = date.AddYears(filter.DateYear.Value - 1);

                //    query = query.Where(q => (q.DateFrom <= date && q.DateTo >= date) || (q.DateFrom <= date && q.DateTo == null) || (q.DateFrom == null && q.DateTo >= date));
                //}
                if (!string.IsNullOrEmpty(filter.DateYears))
                {
                    // DateTime date = new DateTime();
                    List <int> yslist = filter.DateYearsList.ToList();

                    query = query.Where(q => yslist.Contains(q.Model.Year.DateFromFK.DateId) || yslist.Contains(q.Model.Year.DateToFK.DateId));
                }
                if (!string.IsNullOrEmpty(filter.Wvas))
                {
                    query = query.Where(q => filter.WvasList.Contains(q.BadBee.Wva.WvaId));
                }
                if (!string.IsNullOrEmpty(filter.Widths))
                {
                    query = query.Where(q => filter.WidthsList.Contains(q.BadBee.Dimension.Width.WidthId));
                }
                if (!string.IsNullOrEmpty(filter.Heights))
                {
                    query = query.Where(q => filter.HeightsList.Contains(q.BadBee.Dimension.Height.HeightId));
                }
                if (!string.IsNullOrEmpty(filter.Thicknesses))
                {
                    query = query.Where(q => filter.ThicknessesList.Contains(q.BadBee.Dimension.Thickness.ThicknessId));
                }
                if (!string.IsNullOrEmpty(filter.Systems))
                {
                    query = query.Where(q => filter.SystemsList.Contains(q.BadBee.Systems.SystemId));
                }

                query = query.OrderBy(q => q.Model.Serie.Brand.Name).ThenBy(q => q.Model.Serie.Name).ThenBy(q => q.Model.Name).ThenBy(q => q.Id);
                results.ItemsCount = query.Count();
                query = query.Skip((page - 1) * itemsPerPage).Take(itemsPerPage);
                var list = query.ToList();
                filter.PhraseFilter = null;

                foreach (Item item in list)
                {
                    string sYears = "";

                    if (item.Model.Year != null && item.Model.Year.DateFromId != 0)
                    {
                        if (item.Model.Year.DateFromFK.Date1 != "0")
                        {
                            sYears += item.Model.Year.DateFromFK.Date1;
                        }


                        if (item.Model.Year.DateToId != 0)
                        {
                            sYears += " - " + item.Model.Year.DateToFK.Date1;
                        }
                        else
                        {
                            sYears += " ->";
                        }
                    }
                    else
                    {
                        if (item.Model.Year != null && item.Model.Year.DateToId != 0)
                        {
                            sYears += "<- " + item.Model.Year.DateToFK.Date1;
                        }
                    }


                    CvlItem newItem = new CvlItem()
                    {
                        Id           = item.Id,
                        BadBeeNumber = item.BadBee.BadBeeNo.TrimEnd(),
                        Brand        = item.Model.Serie.Brand.Name.TrimEnd(),
                        Serie        = item.Model.Serie.Name.TrimEnd(),
                        Model        = item.Model.Name.TrimEnd(),
                        Years        = sYears.TrimEnd(),
                        Fr           = item.BadBee.FR.TrimEnd(),
                        WvaDesc      = item.BadBee.Wva.Description.TrimEnd(),
                        Wva          = item.BadBee.Wva.WvaNo.TrimEnd(),
                        Width        = item.BadBee.Dimension.Width.Width1.ToString(),
                        Height       = item.BadBee.Dimension.Height.Height1.ToString(),
                        Thickness    = item.BadBee.Dimension.Thickness.Thickness1.ToString(),
                        BrakeSystem  = item.BadBee.Systems.Abbreviation.TrimEnd()
                    };
                    results.Items.Add(newItem);
                }
            }
            return(results);
        }
Пример #8
0
        public List <Item> GetList(BadBeeFilter filter, bool brand, bool serie, bool model, bool drum, bool height, bool width,
                                   bool thick, bool system, bool rivet, bool wva, bool wvad, bool bb, bool year)
        {
            if (string.IsNullOrEmpty(GlobalVars.SearchCache.SearchKey) == false && GlobalVars.SearchCache.SearchKey.Equals(filter.SearchKey))
            {
                Debug.WriteLine(DateTime.Now + " Cache search with key " + GlobalVars.SearchCache.SearchKey);

                return(GlobalVars.SearchCache.GetListResult);
            }
            else
            {
                var items = db.Item.Include("Model").Include("Model.Serie").Include("Model.Serie.Brand").Include("Model.Year").Include("Model.Year.DateFromFK")
                            .Include("Model.Year.DateToFK").Include("BadBee").Include("BadBee.Wva").Include("BadBee.Systems").Include("BadBee.Dimension")
                            .Include("BadBee.Dimension.Width").Include("BadBee.Dimension.Height").Include("BadBee.Dimension.Thickness").AsQueryable();

                if (!string.IsNullOrEmpty(filter.Models) && !model)
                {
                    items = items.Where(q => filter.ModelsList.Contains(q.Model.ModelId));
                }
                if (!string.IsNullOrEmpty(filter.Series) && !serie)
                {
                    items = items.Where(q => filter.SeriesList.Contains(q.Model.Serie.SerieId));
                }
                if (!string.IsNullOrEmpty(filter.Brands) && !brand)
                {
                    items = items.Where(q => filter.BrandsList.Contains(q.Model.Serie.Brand.BrandId));
                }
                if (!string.IsNullOrEmpty(filter.Heights) && !height)
                {
                    items = items.Where(q => filter.HeightsList.Contains(q.BadBee.Dimension.Height.HeightId));
                }
                if (!string.IsNullOrEmpty(filter.Widths) && !width)
                {
                    items = items.Where(q => filter.WidthsList.Contains(q.BadBee.Dimension.Width.WidthId));
                }
                if (!string.IsNullOrEmpty(filter.Thicknesses) && !thick)
                {
                    items = items.Where(q => filter.ThicknessesList.Contains(q.BadBee.Dimension.Thickness.ThicknessId));
                }
                if (!string.IsNullOrEmpty(filter.Systems) && !system)
                {
                    items = items.Where(q => filter.SystemsList.Contains(q.BadBee.Systems.SystemId));
                }
                if (!string.IsNullOrEmpty(filter.Wvas) && !wva)
                {
                    items = items.Where(q => filter.WvasList.Contains(q.BadBee.Wva.WvaId));
                }
                if (!string.IsNullOrEmpty(filter.BadBeeNumbers) && !bb)
                {
                    items = items.Where(q => filter.BadBeeNumbersList.Contains(q.BadBeeId));
                }
                if (!string.IsNullOrEmpty(filter.DateYears) && !year)
                {
                    items = items.Where(q => filter.DateYearsList.Contains(q.Model.Year.DateFromFK.DateId) || filter.DateYearsList.Contains(q.Model.Year.DateToFK.DateId));
                }

                var searchCache = new SearchCache();
                searchCache.GetListResult = items.ToList();
                searchCache.SearchKey     = filter.SearchKey;

                GlobalVars.SearchCache = searchCache;

                Debug.WriteLine(DateTime.Now + " New search with key " + GlobalVars.SearchCache.SearchKey);

                return(GlobalVars.SearchCache.GetListResult);
            }
        }
Пример #9
0
 public List <Serie> GetSeriesChList(BadBeeFilter filter)
 {
     return(GetChList <Serie>().Where(q => filter.SeriesList.Contains(q.SerieId)).ToList());
 }
Пример #10
0
 public List <Height> GetHeightsListCh(BadBeeFilter filter)
 {
     return(GetChList <Height>().Where(q => filter.HeightsList.Contains(q.HeightId)).ToList());
 }
Пример #11
0
 public List <Thickness> GetThicknessesListCh(BadBeeFilter filter)
 {
     return(GetChList <Thickness>().Where(q => filter.ThicknessesList.Contains(q.ThicknessId)).ToList());
 }
Пример #12
0
 public List <Width> GetWidthsListCh(BadBeeFilter filter)
 {
     return(GetChList <Width>().Where(q => filter.WidthsList.Contains(q.WidthId)).ToList());
 }
Пример #13
0
 public List <Systems> GetSystemsListCh(BadBeeFilter filter)
 {
     return(GetChList <Systems>().Where(q => filter.SystemsList.Contains(q.SystemId)).ToList());
 }
Пример #14
0
 public List <Wva> GetWvaChList(BadBeeFilter filter)
 {
     return(GetChList <Wva>().Where(q => filter.WvasList.Contains(q.WvaId)).ToList());
 }
Пример #15
0
 public List <DAL.BadBee> GetBadBeeChList(BadBeeFilter filter)
 {
     return(GetChList <DAL.BadBee>().Where(q => (filter.BadBeeNumbersList.Contains(q.BadBeeId))).ToList());
 }
Пример #16
0
 public List <Model> GetModelsChList(BadBeeFilter filter)
 {
     return(GetChList <Model>().Where(q => filter.ModelsList.Contains(q.ModelId)).ToList());
 }
Пример #17
0
 public List <Date> GetYearsListCh(BadBeeFilter filter)
 {
     return(GetChList <Date>().Where(q => filter.DateYearsList.Contains(q.DateId)).ToList());
 }
Пример #18
0
 public List <Brand> GetBrandsChList(BadBeeFilter filter)
 {
     return(GetChList <Brand>().Where(q => filter.BrandsList.Contains(q.BrandId)).OrderBy(q => q.Name).ToList());
 }