public void StartImport() { string[] files = Directory.GetFiles(FilePath, "*.txt"); foreach (var file in files) { string[] lines = File.ReadAllLines(file); for (int i = 1; i < lines.Count(); i++) { string[] fields = lines[i].Split(';'); DriverList driverList = DriverList.getInstance(); Driver driver = driverList.getItemByNumber(fields[1]); if (driver == null) driver = new Driver(); driver.Fio = fields[0]; driver.Number = fields[1]; driver.Sex = fields[2]; string regionName = fields[3]; RegionList regionList = RegionList.getInstance(); Region region = regionList.getItem(regionName); if (region == null) { region = new Region(fields[3]); region.Save(); region = regionList.getItem(regionName); } driver.Region = region; driver.CompanyName = fields[4]; driver.Dept = fields[5]; driver.Position = fields[6]; driver.DateBirth = fields[7]; driver.Login = fields[9]; driver.email = fields[10]; driver.Decret = ((fields[15] == "Временно не работает") || (fields[15] == "В декретном отпуске")); driver.Fired = (!string.IsNullOrEmpty(fields[15]) && (fields[15].Split(' ')[0] == "Уволен")); driver.Save(); if (!string.IsNullOrEmpty(fields[11])) { string passportNumber = fields[11].Replace(" ", ""); if (passportNumber.Length == 0) continue; PassportList passportList = PassportList.getInstance(); Passport passport = passportList.GetPassport(driver, passportNumber); passport.Number = passportNumber; string[] fio = fields[0].Split(' '); passport.LastName = fio[0]; passport.FirstName = fio[1]; passport.SecondName = fio[2]; DateTime date; DateTime.TryParse(fields[12], out date); passport.GiveDate = date; passport.GiveOrg = fields[13]; passport.Address = fields[14]; passport.Save(); } } File.Move(file, FilePath + @"\processed\" + DateTime.Today.ToShortDateString() + " " + Path.GetFileName(file)); } }
internal void SendNotification(Driver driver, string message, bool addTransportToCopy = true, List<string> fileNames = null) { _subject = "Уведомление"; _body = message; string[] copyEmails = null; if (addTransportToCopy) { Driver transportEmployee = DriverList.getInstance().GetDriverListByRole(RolesList.Editor).First(); copyEmails = new string[] { transportEmployee.email }; } var listAttachment = new List<Attachment>(); if (fileNames != null) fileNames.ForEach(item => listAttachment.Add(new Attachment(item))); Send(new List<Driver> { driver }, copyEmails, listAttachment); }
public void createWaybill(DateTime date, Driver driver = null) { date = new DateTime(date.Year, date.Month, 1); if (driver == null) { DriverCarList driverCarList = DriverCarList.getInstance(); driver = driverCarList.GetDriver(_car, date); if (driver == null) { driver = driverCarList.GetDriver(_car); InvoiceList invoiceList = InvoiceList.getInstance(); Invoice invoice = invoiceList.getItem(_car); if ((invoice != null) && (!string.IsNullOrEmpty(invoice.DateMove))) { DateTime dateMove; DateTime.TryParse(invoice.DateMove, out dateMove); if ((dateMove.Year == date.Year) && (dateMove.Month == date.Month)) date = new DateTime(date.Year, date.Month, dateMove.Day); } } } _excelDoc = openDocumentExcel("Путевой лист"); _excelDoc.setValue(4, 28, _car.BBNumber.ToString()); MyDateTime myDate = new MyDateTime(date.ToShortDateString()); _excelDoc.setValue(4, 39, driver.ID.ToString() + "/01/" + myDate.MonthSlashYear()); _excelDoc.setValue(6, 15, myDate.DaysRange); _excelDoc.setValue(6, 19, myDate.MonthToStringNominative()); _excelDoc.setValue(6, 32, date.Year.ToString()); _excelDoc.setValue(29, 35, _car.info.Grade.EngineType.ShortName); Owners owners = Owners.getInstance(); string owner = owners.getItem(1); _excelDoc.setValue(8, 8, owner); _excelDoc.setValue(10, 11, string.Concat(_car.Mark.Name, " ", _car.info.Model)); _excelDoc.setValue(11, 17, _car.Grz); _excelDoc.setValue(12, 6, driver.GetName(NameType.Full)); _excelDoc.setValue(44, 16, driver.GetName(NameType.Short)); _excelDoc.setValue(26, 40, driver.GetName(NameType.Short)); LicenseList licencesList = LicenseList.getInstance(); DriverLicense driverLicense = licencesList.getItem(driver); _excelDoc.setValue(14, 10, driverLicense.Number); _excelDoc.setValue(20, 9, owner); string suppyAddressName; if (driver.suppyAddress != string.Empty) { suppyAddressName = driver.suppyAddress; } else { SuppyAddressList suppyAddressList = SuppyAddressList.getInstance(); SuppyAddress suppyAddress = suppyAddressList.getItemByRegion(driver.Region.ID); if (suppyAddress != null) suppyAddressName = suppyAddress.ToString(); else { PassportList passportList = PassportList.getInstance(); Passport passport = passportList.getLastPassport(driver); suppyAddressName = passport.Address; } } string suppyAddressName2 = string.Empty; if (suppyAddressName.Length > 40) { for (int i = 30; i < suppyAddressName.Length; i++) { if (suppyAddressName[i] == ' ') { suppyAddressName2 = suppyAddressName.Substring(i, suppyAddressName.Length - i); suppyAddressName = suppyAddressName.Substring(0, i); } } } _excelDoc.setValue(25, 8, suppyAddressName); _excelDoc.setValue(26, 1, suppyAddressName2); string mechanicName; EmployeesList employeesList = EmployeesList.getInstance(); Employees accountant = employeesList.getItem(driver.Region, "Бухгалтер Б.Браун"); if (driver.IsOne) { mechanicName = driver.GetName(NameType.Short); } else { Employees mechanic = employeesList.getItem(driver.Region, "Механик", true); if (mechanic == null) mechanicName = driver.GetName(NameType.Short); else mechanicName = mechanic.Name; } Employees dispatcher = employeesList.getItem(driver.Region, "Диспечер-нарядчик"); string dispatcherName = dispatcher.Name; _excelDoc.setValue(22, 40, mechanicName); _excelDoc.setValue(44, 40, mechanicName); _excelDoc.setValue(31, 18, dispatcherName); _excelDoc.setValue(35, 18, dispatcherName); _excelDoc.setValue(43, 72, accountant.Name); }