void DrawLineTextForModels(XGraphics gfx, int startX, int startY, CvlItem dataLine, int heightSum, int rowCount, int brandNumber, int serieNumber)
 {
     gfx.DrawString(dataLine.Fr, font5Regular, XBrushes.Black, new System.Drawing.PointF((float)XUnit.FromMillimeter(startX + 146.5).Point, (float)XUnit.FromMillimeter(51 + startY + serieNumber * 10 + brandNumber * 20).Point));
     gfx.DrawString(dataLine.BadBeeNumber, font5, XBrushes.Black, new System.Drawing.PointF((float)XUnit.FromMillimeter(startX + 151.5).Point, (float)XUnit.FromMillimeter(51 + startY + serieNumber * 10 + brandNumber * 20).Point));
     gfx.DrawString(dataLine.BrakeSystem, font5Regular, XBrushes.Black, new System.Drawing.PointF((float)XUnit.FromMillimeter(startX + 166).Point, (float)XUnit.FromMillimeter(51 + startY + serieNumber * 10 + brandNumber * 20).Point));
     gfx.DrawString(dataLine.Wva, font5Regular, XBrushes.Black, new System.Drawing.PointF((float)XUnit.FromMillimeter(startX + 171).Point, (float)XUnit.FromMillimeter(51 + startY + serieNumber * 10 + brandNumber * 20).Point));
     gfx.DrawString(dataLine.Size, font5Regular, XBrushes.Black, new System.Drawing.PointF((float)XUnit.FromMillimeter(startX + 181).Point, (float)XUnit.FromMillimeter(51 + startY + serieNumber * 10 + brandNumber * 20).Point));
 }
        void DrawLineText(XGraphics gfx, int startX, int startY, CvlItem dataLine, int heightSum, int rowCount)
        {
            if (dataLine.Model.Count() > 39)
            {
                gfx.DrawString(dataLine.Model.Replace(",5\"", ",5''").Replace(".5\"", ".5''").Replace("\"", ""), font5, XBrushes.Black, new System.Drawing.PointF((float)XUnit.FromMillimeter(startX + 15).Point, (float)XUnit.FromMillimeter(31 + heightSum + ((rowCount * 5) / 2)).Point));
            }
            else
            {
                gfx.DrawString(dataLine.Model.Replace(",5\"", ",5''").Replace(".5\"", ".5''").Replace("\"", ""), font6, XBrushes.Black, new System.Drawing.PointF((float)XUnit.FromMillimeter(startX + 15).Point, (float)XUnit.FromMillimeter(31 + heightSum + ((rowCount * 5) / 2)).Point));
            }
            gfx.DrawString(dataLine.WvaDesc, font6Regular, XBrushes.Black, new System.Drawing.PointF((float)XUnit.FromMillimeter(startX + 65).Point, (float)XUnit.FromMillimeter(31 + heightSum + ((rowCount * 5) / 2)).Point));

            //else if (!string.IsNullOrEmpty(dataLine[3]) && string.IsNullOrEmpty(dataLine[4]) || dataLine[4] == " ")
            //{
            //    gfx.DrawString(dataLine[3].Replace("10\"", "10''").Replace(".5\"", ".5''").Replace("\"", ""), font6Regular, XBrushes.Black, new System.Drawing.PointF((float)XUnit.FromMillimeter(startX + 65).Point, (float)XUnit.FromMillimeter(31 + heightSum + ((rowCount * 5) / 2)).Point));
            //}
            //else if (!string.IsNullOrEmpty(dataLine[4]) && (string.IsNullOrEmpty(dataLine[3]) || dataLine[3] == " "))
            //{
            //    gfx.DrawString(dataLine[4].Replace("10\"", "10''").Replace(".5\"", ".5''").Replace("\"", ""), font6Regular, XBrushes.Black, new System.Drawing.PointF((float)XUnit.FromMillimeter(startX + 65).Point, (float)XUnit.FromMillimeter(31 + heightSum + ((rowCount * 5) / 2)).Point));
            //}
            gfx.DrawString(GetYears(dataLine.DateFrom, dataLine.DateTo), font6Regular, XBrushes.Black, new System.Drawing.PointF((float)XUnit.FromMillimeter(startX + 128).Point, (float)XUnit.FromMillimeter(31 + heightSum + ((rowCount * 5) / 2)).Point));
        }
Beispiel #3
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);
        }