Beispiel #1
0
 /// <summary>
 /// Save row in database
 /// </summary>
 /// <param name="rowNum"></param>
 /// <param name="code"></param>
 private void SaveEntry(Models.LevelRange entry, string FileName)
 {
     using (Models.PhonesDataContext model = new Models.PhonesDataContext())
     {
         Models.PhonesDruzhba phone = new Models.PhonesDruzhba();
         phone.Code     = entry.code;
         phone.FromFile = FileName;
         if (entry.entry.isDep)
         {
             phone.Dep = entry.entry.DepName;
         }
         else
         {
             phone.PIB        = entry.entry.FIO;
             phone.Birthday   = entry.entry.Birthday;
             phone.Post       = entry.entry.post;
             phone.ObjectName = entry.ObjectName;
             phone.Phone      = entry.entry.phone;
             phone.Email      = entry.entry.email;
             phone.Mobile     = entry.entry.mobile;
         }
         model.PhonesDruzhbas.InsertOnSubmit(phone);
         model.SubmitChanges();
     }
 }
Beispiel #2
0
        /// <summary>
        /// return tree from file
        /// </summary>
        /// <param name="range"></param>
        /// <param name="FileName"></param>
        /// <param name="Folder"></param>
        /// <param name="codeOffset"></param>
        /// <returns></returns>
        private List <Models.LevelRange> GetSubRanges(Models.LevelRange range, string FileName, string Folder, int codeOffset)
        {
            #region ---Get sub ranges
            string FileShareResources       = System.Configuration.ConfigurationManager.AppSettings["FileShareResources"].ToString();
            string PhonesDruzhba            = System.IO.Path.Combine(FileShareResources, "Phones", Folder, FileName);
            List <Models.LevelRange> ranges = new List <Models.LevelRange>();

            if (range.endRow > range.startRow)
            {
                using (var sr = System.IO.File.OpenRead(PhonesDruzhba))
                {
                    NPOI.XSSF.UserModel.XSSFWorkbook wb = new NPOI.XSSF.UserModel.XSSFWorkbook(sr);
                    int searchLevel      = range.level + 1;
                    int currPosition     = range.startRow;
                    int endRangePosition = currPosition;
                    int rangeNumber      = 0;

                    while (currPosition <= range.endRow)
                    {
                        if (wb.GetSheet("TDSheet").GetRow(currPosition).Cells[3] != null && wb.GetSheet("TDSheet").GetRow(currPosition).Cells[3].ToString().Trim() == searchLevel.ToString())
                        {
                            ranges.Add(new Models.LevelRange()
                            {
                                startRow                       = currPosition + 1,
                                level                          = searchLevel,
                                code                           = range.level == 0?
                                                    range.code = wb.GetSheet("TDSheet").GetRow(currPosition).Cells[1].ToString()
                                : range.code + "." + (codeOffset + rangeNumber).ToString(),
                                entry = GetEntry(currPosition, FileName, Folder)
                            });
                            if (rangeNumber > 0)
                            {
                                ranges[rangeNumber - 1].endRow = currPosition - 1;
                            }
                            rangeNumber += 1;
                        }
                        currPosition += 1;
                    }
                    ranges[rangeNumber - 1].endRow = currPosition - 1;
                }
            }
            #endregion

            if (ranges.Count > 0)
            {
                range.childLevels = ranges;
                foreach (var cl in range.childLevels)
                {
                    cl.childLevels = GetSubRanges(cl, FileName, Folder, codeOffset);
                    SaveEntry(cl, FileName);
                }
                return(range.childLevels);
            }
            else
            {
                return(new List <Models.LevelRange>());
            }
        }
Beispiel #3
0
        public void importDruzhba()
        {
            string FileName   = "phonesDR_AU.xlsx";
            string Folder     = "DRUZHBA";
            int    codeOffset = 200;

            ///--- import file to Druzhba
            Models.LevelRange range = new Models.LevelRange()
            {
                startRow = 2,
                level    = 0,
                endRow   = GetLastRow(FileName, Folder) - 1,
                code     = "0"
            };
            DeleteRecords(FileName);
            List <Models.LevelRange> ranges = GetSubRanges(range, FileName, Folder, codeOffset);

            UpdateObjects(FileName);
        }