示例#1
0
        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));
            }
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }