Ejemplo n.º 1
0
        // Skaiciuojant siuntos dydi sumuoju prekiu maziausią matmenį ('kraunu į aukštį')
        // Likę du siuntos matmenys bus didžiausi kitų prekių matmenys
        public void SiuntaSkaiciavimas(List <Preke> krp)
        {
            SiuntosMatmenys = new Gabaritai
            {
                GabaritaiX = 0,
                GabaritaiY = 0,
                GabaritaiZ = 0
            };
            int        maxY = 0;
            int        maxZ = 0;
            List <int> coord;

            foreach (var item in krp)
            {
                coord = new List <int> {
                    item.Ilgis, item.Plotis, item.Aukstis
                };
                SiuntosMatmenys.GabaritaiX += coord.Min();
                coord.Remove(coord.Where(p => p == coord.Min()).First());

                if (maxY > maxZ)
                {
                    if (coord.Min() > maxZ)
                    {
                        maxZ = coord.Min();
                        coord.Remove(coord.Where(p => p == coord.Min()).First());
                        if (coord.Min() > maxY)
                        {
                            maxY = coord.Min();
                        }
                    }
                    else if (coord.Min() > maxY)
                    {
                        maxY = coord.Min();
                        coord.Remove(coord.Where(p => p == coord.Min()).First());
                    }
                }
                else
                {
                    if (coord.Min() > maxY)
                    {
                        maxY = coord.Min();
                        coord.Remove(coord.Where(p => p == coord.Min()).First());
                        if (coord.Min() > maxZ)
                        {
                            maxZ = coord.Min();
                        }
                    }
                    else if (coord.Min() > maxZ)
                    {
                        maxZ = coord.Min();
                        coord.Remove(coord.Where(p => p == coord.Min()).First());
                    }
                }
            }
            SiuntosMatmenys.GabaritaiZ = maxZ;
            SiuntosMatmenys.GabaritaiY = maxY;

            SiuntosDydis = SiuntosDydzioNustatymas(SiuntosMatmenys);
        }
Ejemplo n.º 2
0
 public char SiuntosDydzioNustatymas(Gabaritai matmenys)
 {
     if (matmenys.GabaritaiX <= 9 & matmenys.GabaritaiY <= 38 & matmenys.GabaritaiZ <= 64)
     {
         return('S');
     }
     if (matmenys.GabaritaiX <= 19 & matmenys.GabaritaiY <= 38 & matmenys.GabaritaiZ <= 64)
     {
         return('M');
     }
     if (matmenys.GabaritaiX <= 39 & matmenys.GabaritaiY <= 38 & matmenys.GabaritaiZ <= 64)
     {
         return('L');
     }
     return('X');
 }