///<summary> /// Метод конвертации xlsx по xml sheme FullInnCount.xsd /// <![CDATA[ /// <?xml version="1.0" encoding="UTF-8"?> ///<INNList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FullInnCount.xsd"> /// <ListInn NumColection = "1" CountInn="4"> /// <MyInnn>d500306578530/503009784020/504601612560/772904428090</MyInnn> /// </ListInn> /// <ListInn NumColection = "2" CountInn="2"> /// <MyInnn>500303703461/775101147891/</MyInnn> /// </ListInn> /// <ListInn NumColection = "3" CountInn="3"> /// <MyInnn >500303703461/775101147891/772809074772</MyInnn> /// </ListInn> ///</INNList>]]> /// </summary> /// <param name="pathFilexlsx">Выбранный файл</param> /// <param name="listfile">Выбранный лист</param> /// <param name="letter">Буква в xlsx</param> /// <param name="numrow">Номер строки</param> /// <param name="countinn">Количество по сколько формируем списки</param> /// <param name="path">Путь сохранения</param> public void ConvertInnMassList(string pathFilexlsx, string listfile, string letter, int numrow, int countinn, string path) { var j = 1; //Количество в массиве var m = 0; //Номер коллекции var ws = ListXlsx(pathFilexlsx, listfile); var countcell = CountUseRow(ws, letter); var maxmassiv = Convert.ToInt32(Math.Ceiling(Convert.ToDecimal(countcell) / Convert.ToDecimal(countinn))); //расчет максимального массива округлить в большую сторону List <string> listinn = new List <string>(); var fullinn = new INNList() { ListInn = new ListInn[maxmassiv] }; for (int i = numrow; i <= countcell; i++) { listinn.Add(ws.Cell(letter + i).Value.ToString()); if ((j == countinn) || (i == countcell)) { ListInn list = new ListInn() { CountInn = j, NumColection = m, MyInnn = string.Join("/", listinn.ToArray()), CountInnSpecified = true, NumColectionSpecified = true }; fullinn.ListInn[m] = list; listinn.Clear(); m++; j = 0; } j++; } SerializerClassToXml(path, fullinn, typeof(INNList)); }
/// <summary> /// Авто кликер для ветки /// Налоговое администрирование\Физические лица\1.06. Формирование и печать CНУ\ /// 1. Создание заявки на формирование СНУ для массовой печати /// </summary> /// <param name="statusButton">Кнопка контроля состояний</param> /// <param name="pathfileinn">Путь к файлу с массовыми ИНН</param> /// <param name="pathjurnalerror">Путь к журналу с ошибками</param> /// <param name="pathjurnalok">Путь к отаботаным спискам</param> public void AutoClicerSnuMassInnForm(StatusButtonMethod statusButton, string pathfileinn, string pathjurnalerror, string pathjurnalok) { DispatcherHelper.Initialize(); if (File.Exists(pathfileinn)) { Task.Run(delegate { DispatcherHelper.CheckBeginInvokeOnUI(statusButton.StatusRed); KclicerButton clickerButton = new KclicerButton(); Exit exit = new Exit(); WindowsAis3 ais3 = new WindowsAis3(); LibaryXMLAuto.ReadOrWrite.XmlReadOrWrite read = new LibaryXMLAuto.ReadOrWrite.XmlReadOrWrite(); object obj = read.ReadXml(pathfileinn, typeof(INNList)); INNList snumodelmass = (INNList)obj; if (ais3.WinexistsAis3() == 1) { foreach (var inn in snumodelmass.ListInn) { if (statusButton.Iswork) { clickerButton.Click4(pathjurnalerror, pathjurnalok, inn.MyInnn); read.DeleteAtributXml(pathfileinn, LibaryXMLAuto.GenerateAtribyte.GeneratorAtribute.GenerateAtributeMassNumCollection(inn.NumColection.ToString())); statusButton.Count++; } else { break; } } var status = exit.Exitfunc(statusButton.Count, snumodelmass.ListInn.Length, statusButton.Iswork); statusButton.Count = status.IsCount; statusButton.Iswork = status.IsWork; DispatcherHelper.CheckBeginInvokeOnUI(delegate { statusButton.StatusGrinandYellow(status.Stat); }); } else { MessageBox.Show(LibraryAIS3Windows.Status.StatusAis.Status1); DispatcherHelper.CheckBeginInvokeOnUI(statusButton.StatusGrin); } }); } else { MessageBox.Show(LibraryAIS3Windows.Status.StatusAis.Status5); } }