Example #1
0
        private static string[] GetListWords(List<Words> words, string[] searchWords, SupplierType type)
        {
            bool finded = false;
            var wp = new List<string>();
            int i;
            for (i = 0; i < searchWords.Length; i++)
            {
                finded = false;
                //берем слово и ищем его в списке слов, если находим забираем все синонимы
                for (int j = 0; j < words.Count; j++)
                {
                    if (words[j]._words.Contains(searchWords[i]))
                    {
                        //забираем все синонимы
                        for (int k = 0; k < words[j]._synonim.Count; k++)
                        {
                            wp.Add(words[j]._synonim[k]);
                            finded = true;
                        }
                    }
                }

                if (!finded)
                    wp.Add(searchWords[i]);

            }

            //добавить/удалить все слова для конкретного поставщика
            //для каждого слова из поисковой строки
            for (i = 0; i < searchWords.Length; i++)
            {
                for (int j = 0; j < type.ListWords._words.Count; j++)
                {
                    //по всем словам поставщика
                    if (type.ListWords._words[j]._words.Contains(searchWords[i]))
                    {
                        //в списке слов поставщика, найдено слово из поисковой строки
                        for (int k = 0; k < type.ListWords._words[j]._synonim.Count; k++)
                        {
                            //для всех синонимов для этого слова из поставщика
                            //если синоним с - убираем его из списка, иначе добавляем
                            //добавляем все слова синонимы, если оно с минусом то убираем из общего списка.
                            var value = type.ListWords._words[j]._synonim[k];

                            if (isAdd(value) && !wp.Contains(value))
                                wp.Add(Normalize(value));

                            if (isRemove(value))
                                wp.Remove(Normalize(value));

                        }
                    }
                }
            }

            return wp.ToArray();
        }
Example #2
0
        public Supplier()
        {
            InitializeComponent();
            localFields = new Fields();
            Supp = new SupplierType();

            listWords.ContextMenuStrip = listWordsMenu;
            listSynonim.ContextMenuStrip = listSynonimMenu;
        }
Example #3
0
        public List<ResultRowCell> SearchByFile(string[] listOfWords, SupplierType supplierType, string priceFileName)
        {
            Application xlApp = new Excel.ApplicationClass();
            xlApp.ReferenceStyle = XlReferenceStyle.xlA1;
            Workbook xlWorkBook = xlApp.Workbooks.Open(priceFileName, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);

            var xlWorkSheet = (Worksheet)xlWorkBook.Worksheets.get_Item(supplierType.SheetNumber);
            int lastUsedRow = xlWorkSheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing).Row;

            //начало поиска
            var searchResult = new List<ResultRowCell>();

            for (int currentRow = supplierType.ListCell[0].Row; currentRow <= lastUsedRow; currentRow++)
            {

                var resultRowCell = new ResultRowCell();
                resultRowCell.Clear();
                for (int iCell = 0; iCell < supplierType.ListCell.Count; iCell++)
                {
                    //для всех ячеек получаем их значения
                    int currentColumn = supplierType.ListCell[iCell].Col;

                    //проверка ячейки на существование.
                    var value = ((Range) xlWorkSheet.Cells[currentRow, currentColumn]).Value;
                    string result = "";
                    if (value != null)
                        result = value.ToString();
                    else
                        result = "";

                    resultRowCell.VSupplierName = supplierType.Name;
                    resultRowCell.Add(new ResultCell(currentRow, currentColumn, result,
                                                     supplierType.ListCell[iCell].Name));
                }

                //ищем по всем словам, по всем ячейкам
                int qty = 0;
                if ((qty = ParseRow(resultRowCell, listOfWords)) > 0)
                {
                    //MessageBox.Show(@"Current row: " + currentRow.ToString());
                    resultRowCell.qty = qty;
                    searchResult.Add(resultRowCell);
                }

            }

            //конец поиска
            xlWorkBook.Close(false, null, null);
            xlApp.Quit();

            ReleaseObject(xlWorkSheet);
            ReleaseObject(xlWorkBook);
            ReleaseObject(xlApp);

            return searchResult;
        }
Example #4
0
 private static SupplierType GetSupplierByName(List<SupplierType> listSupplier, string nameSupplier)
 {
     var value = new SupplierType();
     foreach (SupplierType st in listSupplier)
     {
         if (st.Name.Contains(nameSupplier))
         {
             value = st;
             break;
         }
     }
     return value;
 }