Пример #1
0
        public List <LostProduct> LostProductsByArea;   // Продукты, не имеющие соответсвия с направлениями

        // Правильно было бы сократить шесть этих методов до трёх, так как три пары практически идентичны,
        // но такой код кажется более понятным, хоть он и выглядит объёмным

        public void VendorsFilling(TechBase techBase)
        {
            Vendors = new Dictionary <string, int>();
            List <string> vendorsList = new List <string>();

            foreach (DataRow row in techBase.techBaseTable.Rows)
            {
                if ((string)row[0] != "")
                {
                    vendorsList.Add((string)row[0]); // В первом столбце вендоры
                }
            }
            vendorsList = vendorsList.Distinct().ToList();
            foreach (string vendor in vendorsList)
            {
                Vendors.Add(vendor, 0);
            }
        }
Пример #2
0
        public void AreasFilling(TechBase techBase)
        {
            Areas = new Dictionary <string, int>();
            List <string> areasList = new List <string>();

            foreach (DataRow row in techBase.techBaseTable.Rows)
            {
                try                                    // возможно исключение "нельзя привести DBNull к string"
                {
                    if ((string)row[2] != "")          // В третьем столбце направления
                    {
                        areasList.Add((string)row[2]); // В третьем столбце направления
                    }
                }
                catch (Exception)
                { }
            }
            areasList = areasList.Distinct().ToList <string>(); // с помощью Distinct() отбрасываем повторяющиеся значения
            foreach (string area in areasList)
            {
                Areas.Add(area, 0);
            }
        }