コード例 #1
0
        private void csoGrid_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            try
            {
                WorkData ma = csoGrid[0, e.RowIndex].Value as WorkData;

                switch (e.ColumnIndex)
                {
                case 0:
                    e.Value = string.Format("{0} - Info: {1}", ma.Cim, ma.Megjegyzes);
                    break;

                case 3:
                    e.Value = ma.HazSzam;
                    break;

                case 4:
                    e.Value = ma.CsoHossz.ToString();
                    break;
                }
                e.FormattingApplied = true;
            }
            catch (Exception ex)
            {
            }
        }
コード例 #2
0
        public void AddFuvar(WorkData ma, int tav)
        {
            Fuvar fuv = new Fuvar();

            fuv.Distance = tav;

            ma.Kiosztott = true;
            csohossz    += ma.CsoHossz;
            osszM3      += ma.WorkCapacity;
            if (ma.WorkCapacity >= WorkData.BigCapacityLimit)
            {
                nagyCim++;
            }
            else
            {
                kicsiCim++;
            }

            if (ma.CsoHossz > 0)
            {
                if (ma.CsoHossz <= 8)
                {
                    csovek[0]++;
                }
                else if (ma.CsoHossz <= 16)
                {
                    csovek[1]++;
                }
                else if (ma.CsoHossz <= 24)
                {
                    csovek[2]++;
                }
                else if (ma.CsoHossz <= 32)
                {
                    csovek[3]++;
                }
                else if (ma.CsoHossz <= 40)
                {
                    csovek[4]++;
                }
                else if (ma.CsoHossz <= 48)
                {
                    csovek[5]++;
                }
                else
                {
                    csovek[6]++;
                }
            }

            if (ma.Jozsai)
            {
                jozsaiFuvarok[ma.Napszak - 1]++;
            }

            fuv.AddWorkData(ma);
            managers[ma.Napszak - 1].AddFuvarAt(fuv);
        }
コード例 #3
0
        public NapszakCorrector(WorkData adat)
        {
            InitializeComponent();

            this.adat             = adat;
            cimBox.Text           = adat.GetInfo(true, true, true, false);
            info.Text             = adat.Megjegyzes;
            napszak.SelectedIndex = 0;
        }
コード例 #4
0
        public void AddJozsaiFuvar(WorkData ma)
        {
            Fuvar fuv = new Fuvar();

            ma.Kiosztott = true;
            fuv.AddWorkData(ma);

            jozsaiFuvarok[ma.Napszak - 1]++;
            managers[ma.Napszak - 1].AddFuvarAt(fuv);
        }
コード例 #5
0
 private void csoGrid_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.RowIndex >= 0 && e.ColumnIndex == Koord.Index && BeginCoordinateEdit != null)
     {
         WorkData ma = (WorkData)csoGrid[0, e.RowIndex].Value;
         BeginCoordinateEdit(ma.Number, ma.Utca);
         DialogResult = DialogResult.Abort;
         Close();
     }
 }
コード例 #6
0
        public void InsertLatLng(WorkData wd)
        {
            int res = 0;

            if (connection == null)
            {
                Init();
            }

            try
            {
                insertLatLng.Parameters[0].Value = wd.Utca;
                insertLatLng.Parameters[1].Value = wd.Lat;
                insertLatLng.Parameters[2].Value = wd.Lng;

                res = insertLatLng.ExecuteNonQuery();
            }
            catch (MySqlException ole)
            {
                if (ole.Number == 1062)
                {
                    if (MessageBox.Show("A bejegyzés már szerepel: " + wd.Utca + "\nKívánja felülírni a koordinátákat?",
                                        "Létező bejegyzés", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
                    {
                        try
                        {
                            updateLatLng.Parameters[0].Value = wd.Lat;
                            updateLatLng.Parameters[1].Value = wd.Lng;
                            updateLatLng.Parameters[2].Value = wd.Utca;

                            res = updateLatLng.ExecuteNonQuery();
                        }
                        catch (MySqlException ole2)
                        {
                            AppLogger.WriteException(ole2);
                            AppLogger.WriteEvent("A kivétel elkapva.");
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Adatbázis elérési hiba.\nKérem ellenőrizze, hogy az adatbázist más alkalmazás nem használja-e!", "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    AppLogger.WriteException(ole);
                    AppLogger.WriteEvent("A kivétel elkapva.");
                }
            }

            /*if (res == 1)
             * {
             *  MessageBox.Show("Az adatbázisban a következő bejegyzés módosult:\nUtca: " + wd.Utca +
             *      "\nSzélesség: " + wd.Lat + "\nHosszúság: " + wd.Lng, "Sikeres frissítés", MessageBoxButtons.OK, MessageBoxIcon.Information);
             * }*/
        }
コード例 #7
0
ファイル: BatchProcessor.cs プロジェクト: mkbiltek2019/turmix
        public void ParseUj(DateTime date)
        {
            Auto            tmpCar;
            WorkData        tmpData;
            List <WorkData> tmpFordulo = new List <WorkData>();
            string          tmpRsz;
            int             tmpTav;

            try
            {
                tempDoc.Load(string.Format("{0}\\{1}.tmx", pathRoot, date.ToString("yyyy_MM_dd")));
                foreach (XmlNode carNode in tempDoc.DocumentElement.FirstChild.ChildNodes)
                {
                    tmpRsz = carNode.Attributes[0].Value;

                    tmpCar = new Auto(tmpRsz);
                    autok.Add(tmpRsz, tmpCar);

                    foreach (XmlNode fordNode in carNode.ChildNodes)
                    {
                        tmpTav = int.Parse(fordNode.Attributes[0].Value);
                        tmpFordulo.Clear();

                        foreach (XmlNode cimNode in fordNode.ChildNodes)
                        {
                            tmpData                   = new WorkData();
                            tmpData.Lat               = double.Parse(cimNode.Attributes[0].Value);
                            tmpData.Lng               = double.Parse(cimNode.Attributes[1].Value);
                            tmpData.WorkCapacity      = int.Parse(cimNode.Attributes[2].Value);
                            tmpData.TenylegesKobmeter = int.Parse(cimNode.Attributes[3].Value);
                            tmpData.Napszak           = int.Parse(cimNode.Attributes[4].Value);
                            tmpData.Utca              = cimNode.Attributes[6].Value;
                            tmpData.HazSzam           = cimNode.Attributes[7].Value;
                            tmpData.IranyitoSzam      = int.Parse(cimNode.Attributes[8].Value);
                            tmpData.CsoHossz          = int.Parse(cimNode.Attributes[9].Value);
                            tmpData.WorksheetNumber   = long.Parse(cimNode.Attributes[10].Value);

                            osszesito.UpdateWith(tmpData);

                            tmpFordulo.Add(tmpData);
                            workList.Add(tmpData);
                        }
                        tmpCar.AddFuvar(tmpFordulo, tmpTav);
                    }
                }
            }
            catch (Exception e)
            {
            }
        }
コード例 #8
0
 public bool RemoveId(WorkData ma)
 {
     foreach (Fuvar fu in fuvarok)
     {
         if (fu.RemoveWorkData(ma))
         {
             if (fu.Length == 0)
             {
                 fuvarok.Remove(fu);
             }
             return(true);
         }
     }
     return(false);
 }
コード例 #9
0
        private void streetGrid_SortCompare(object sender, DataGridViewSortCompareEventArgs e)
        {
            WorkData w1 = streetGrid.Rows[e.RowIndex1].Tag as WorkData,
                     w2 = streetGrid.Rows[e.RowIndex2].Tag as WorkData;

            switch (e.Column.Index)
            {
            case 0:
                e.SortResult = w1.WorksheetNumber.CompareTo(w2.WorksheetNumber);
                break;

            case 1:
                e.SortResult = w1.Cim.CompareTo(w2.Cim);
                break;
            }
            e.Handled = true;
        }
コード例 #10
0
ファイル: MainForm.cs プロジェクト: mkbiltek2019/turmix
        private void ShowInfo(int idInt)
        {
            try
            {
                WorkData wd = fullRepo.Find(idInt);

                infotext.Lines = new string[] { wd.FuvarszamosInfo,
                                                "Info: " + wd.Megjegyzes };

                infotext.Refresh();
            }
            catch (Exception ex)
            {
                AppLogger.WriteException(ex);
                AppLogger.WriteEvent("A kivétel elkapva.");
            }
        }
コード例 #11
0
        private void csoGrid_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            try
            {
                WorkData ma = csoGrid[0, e.RowIndex].Value as WorkData;

                switch (e.ColumnIndex)
                {
                case 0:
                    e.Value = ma.Cim;
                    break;
                }
                e.FormattingApplied = true;
            }
            catch (Exception ex)
            {
            }
        }
コード例 #12
0
        public void GetLatLng(WorkData tempData, MySqlTransaction tr)
        {
            MySqlDataReader latReader = null;

            if (connection == null)
            {
                Init();
            }

            try
            {
                if (tr != null)
                {
                    getLatLongData.Transaction = tr;
                }

                getLatLongData.Parameters[0].Value = tempData.Utca;


                latReader = getLatLongData.ExecuteReader();
                if (latReader.Read())
                {
                    tempData.Lat = latReader.GetDouble(0);

                    tempData.Lng = latReader.GetDouble(1);
                }
            }
            catch (MySqlException ole)
            {
            }
            finally
            {
                if (latReader != null && !latReader.IsClosed)
                {
                    latReader.Close();
                }
            }
        }
コード例 #13
0
        public bool GetLatLngProb(WorkData tempData)
        {
            bool            success   = false;
            MySqlDataReader latReader = null;

            if (connection == null)
            {
                Init();
            }

            try
            {
                selectProbCim.Parameters[0].Value = tempData.Cim;
                tempData.Problematic = selectProbCim.ExecuteScalar() != null;

                getLatLongData.Parameters[0].Value = tempData.Utca;

                latReader = getLatLongData.ExecuteReader();
                if (latReader.Read() && tempData.Lat == 0 && tempData.Lng == 0)
                {
                    tempData.Lat = latReader.GetDouble(0);

                    tempData.Lng = latReader.GetDouble(1);
                    success      = true;
                }
            }
            catch (MySqlException ole)
            {
            }
            finally
            {
                if (latReader != null && !latReader.IsClosed)
                {
                    latReader.Close();
                }
            }
            return(success);
        }
コード例 #14
0
        private void csoGrid_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            WorkData wd = repo.Find((int)csoGrid[8, e.RowIndex].Value);

            switch (e.ColumnIndex)
            {
            case 4:
                //Utca
                dao.GetLatLngProb(wd);
                if (OnStreetChange != null)
                {
                    OnStreetChange(wd.Number);
                }
                break;

            case 7:
                if (OnProbChange != null)
                {
                    OnProbChange(wd.Number, wd.Problematic);
                }
                break;
            }
        }
コード例 #15
0
        private void csoGrid_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            WorkData ma = (WorkData)csoGrid[0, e.RowIndex].Value;

            switch (e.ColumnIndex)
            {
            case 2:
                string ujutca = csoGrid[ValosCim.Index, e.RowIndex].Value.ToString();
                if (ma.Utca != ujutca)
                {
                    ma.Utca = ujutca;
                }
                break;

            case 3:
                ma.HazSzam = csoGrid[ValosHsz.Index, e.RowIndex].Value.ToString();
                break;

            case 4:
                int newal = ma.CsoHossz;
                try
                {
                    newal = int.Parse(csoGrid[ValosCsohossz.Index, e.RowIndex].Value.ToString());
                    if (newal < 0)
                    {
                        throw new FormatException();
                    }
                    ma.CsoHossz = newal;
                }
                catch (FormatException fe)
                {
                    MessageBox.Show("A csőhossz pozitív egész szám kell hogy legyen!", "Hibás érték", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    csoGrid[ValosCsohossz.Index, e.RowIndex].Value = ma.CsoHossz;
                }
                break;
            }
        }
コード例 #16
0
        private void RestoreState(string sourceFile)
        {
            Reset();
            fileName = sourceFile;
            List <WorkData> allWork = new List <WorkData>();

            Auto        car;
            XmlDocument sourceDoc = new XmlDocument();
            WorkData    wd;

            int maxVehIndex = 0;

            try
            {
                FileStream fs = new FileStream(sourceFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                sourceDoc.Load(fs);

                DateTime sourceDate = DateTime.Parse(sourceDoc.DocumentElement.Attributes["date"].Value);
                dateChooser.Value = sourceDate;

                //Autók
                XmlNode         xmlNode  = sourceDoc.DocumentElement.ChildNodes[0];
                List <WorkData> workList = new List <WorkData>();
                int             dest;

                foreach (XmlNode node in xmlNode.ChildNodes)
                {
                    car = new Auto(node.Attributes[0].Value);

                    car.Kapacitas  = int.Parse(node.Attributes[1].Value);
                    car.Lizingdij  = float.Parse(node.Attributes[8].Value);
                    car.Fogyasztas = float.Parse(node.Attributes[9].Value);

                    car.SetNapszakFordulok(0, int.Parse(node.Attributes[2].Value));
                    car.SetNapszakFordulok(1, int.Parse(node.Attributes[3].Value));
                    car.SetNapszakFordulok(2, int.Parse(node.Attributes[4].Value));

                    car.Index = int.Parse(node.Attributes[5].Value);
                    if (car.Index > maxVehIndex)
                    {
                        maxVehIndex = car.Index;
                    }

                    car.Sofor = node.Attributes[6].Value;
                    car.Seged = node.Attributes[7].Value;



                    //Fordulók

                    foreach (XmlNode groupNode in node.ChildNodes)
                    {
                        workList.Clear();
                        dest = int.Parse(groupNode.Attributes[0].Value);
                        foreach (XmlNode workNode in groupNode.ChildNodes)
                        {
                            wd = new WorkData();
                            wd.ParseFromXml(workNode);

                            wd.ParseFold(workNode);
                            wd.ParseKoord(workNode);

                            summary.UpdateWith(wd);

                            workList.Add(wd);
                            allWork.Add(wd);
                        }

                        car.AddFuvar(workList, dest);
                    }

                    vehicles.Add(car);
                }

                if (!Properties.Settings.Default.mentettAuto)
                {
                    dao.GetAutoAdat(vehicles);
                }

                Auto.AutoIndex = maxVehIndex + 1;

                //Csórikák
                xmlNode = sourceDoc.DocumentElement.ChildNodes[1];

                foreach (XmlNode cimNode in xmlNode.ChildNodes)
                {
                    wd = new WorkData();
                    wd.ParseFromXml(cimNode);

                    wd.ParseFold(cimNode);
                    wd.ParseKoord(cimNode);

                    summary.UpdateWith(wd);
                    allWork.Add(wd);

                    if (wd.WorkCapacity <= WorkData.BigCapacityLimit)
                    {
                        if (!wd.Jozsai)
                        {
                            unfive[wd.Napszak - 1]++;
                            m3small[0] += wd.WorkCapacity;
                        }
                        else
                        {
                            unfive[wd.Napszak + 2]++;
                            m3small[1] += wd.WorkCapacity;
                        }
                    }
                    else
                    {
                        if (!wd.Jozsai)
                        {
                            unbig[wd.Napszak - 1]++;
                            m3big[0] += wd.WorkCapacity;
                        }
                        else
                        {
                            unbig[wd.Napszak + 2]++;
                            m3big[1] += wd.WorkCapacity;
                        }
                    }
                }

                if (!Properties.Settings.Default.mentettFold)
                {
                    dao.GetFoldLatLng(allWork);
                }
                if (!Properties.Settings.Default.mentettKoord)
                {
                    dao.GetLatLng(allWork);
                }

                Properties.Settings.Default.lastDir = sourceFile.Substring(0, sourceFile.LastIndexOf('\\'));
                LoadMarkersFromData(allWork);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Állomány megnyitása sikertelen.\nEz a verzió valószínűleg nem kompatibilis a régebbi mentésekkel.",
                                "Megnyitás sikertelen", MessageBoxButtons.OK, MessageBoxIcon.Error);

                AppLogger.WriteException(ex);
                AppLogger.WriteEvent("A kivétel elkapva.");
                Reset();
            }

            AppLogger.WriteOpen(fileName);
        }
コード例 #17
0
        public bool RemoveFuvar(WorkData ma)
        {
            bool ret = false;

            //if (!ma.Jozsai)
            {
                ret = managers[ma.Napszak - 1].RemoveId(ma);
                if (ret)
                {
                    csohossz -= ma.CsoHossz;
                    osszM3   -= ma.WorkCapacity;

                    if (ma.WorkCapacity >= WorkData.BigCapacityLimit)
                    {
                        nagyCim--;
                    }
                    else
                    {
                        kicsiCim--;
                    }

                    if (ma.CsoHossz > 0)
                    {
                        if (ma.CsoHossz <= 8)
                        {
                            csovek[0]--;
                        }
                        else if (ma.CsoHossz <= 16)
                        {
                            csovek[1]--;
                        }
                        else if (ma.CsoHossz <= 24)
                        {
                            csovek[2]--;
                        }
                        else if (ma.CsoHossz <= 32)
                        {
                            csovek[3]--;
                        }
                        else if (ma.CsoHossz <= 40)
                        {
                            csovek[4]--;
                        }
                        else if (ma.CsoHossz <= 48)
                        {
                            csovek[5]--;
                        }
                        else
                        {
                            csovek[6]--;
                        }
                    }
                    if (ma.Jozsai)
                    {
                        jozsaiFuvarok[ma.Napszak - 1]--;
                    }
                    ma.Kiosztott = ma.Processed = false;
                }
            }
            return(ret);
        }
コード例 #18
0
 public bool RemoveWorkData(WorkData wd)
 {
     return(ids.Remove(wd));
 }
コード例 #19
0
 public void AddWorkData(WorkData wd)
 {
     ids.Add(wd);
 }
コード例 #20
0
        public void UpdateWith(WorkData tempData)
        {
            bool jozsai = tempData.Jozsai;


            switch (tempData.Napszak)
            {
            case 1:
                if (tempData.WorkCapacity <= WorkData.BigCapacityLimit)
                {
                    elsoLE5++;
                    if (jozsai)
                    {
                        elsoLE5Jo++;
                    }
                }
                else
                {
                    elsoTizes++;
                    if (jozsai)
                    {
                        elsoTizesJo++;
                    }
                }
                break;

            case 2:
                if (tempData.WorkCapacity <= WorkData.BigCapacityLimit)
                {
                    deLE5++;
                    if (jozsai)
                    {
                        deLE5Jo++;
                    }
                }
                else
                {
                    deTizes++;
                    if (jozsai)
                    {
                        deTizesJo++;
                    }
                }
                break;

            case 3:
                if (tempData.WorkCapacity <= WorkData.BigCapacityLimit)
                {
                    duLE5++;
                    if (jozsai)
                    {
                        duLE5Jo++;
                    }
                }
                else
                {
                    duTizes++;
                    if (jozsai)
                    {
                        duTizesJo++;
                    }
                }
                break;
            }
            if (tempData.WorkCapacity <= WorkData.BigCapacityLimit)
            {
                kism3 += tempData.WorkCapacity;
                if (jozsai)
                {
                    kism3Jo += tempData.WorkCapacity;
                }
            }
            else
            {
                nagym3 += tempData.WorkCapacity;
                if (jozsai)
                {
                    nagym3Jo += tempData.WorkCapacity;
                }
            }
        }
コード例 #21
0
ファイル: MunkaAdat.cs プロジェクト: mkbiltek2019/turmix
        /*public string TrimmedUtca
         * {
         *      get
         *      {
         *              return utca.EndsWith(" U") || utca.EndsWith(" U.") ? utca.Substring(0, utca.LastIndexOf(' ')).Trim(' ') :
         *
         *      }
         * }*/

        public static int CompareByNumber(WorkData m1, WorkData m2)
        {
            return(m1.number.CompareTo(m2.number));
        }
コード例 #22
0
ファイル: UtilityMethods.cs プロジェクト: mkbiltek2019/turmix
        private void LoadMarker(WorkData data)
        {
            int a = data.Number, b;

            Dictionary <int, WorkData> adat = fullRepo.GetOsszAdat();

            for (b = 0; b < worksTotal; b++)
            {
                distances[a, b] = Distance(data.Lat, data.Lng, adat[b].Lat, adat[b].Lng);
                distances[b, a] = distances[a, b];
            }

            distances[a, worksTotal] = Distance(data.Lat, data.Lng, urx, ury);
            distances[worksTotal, a] = distances[a, worksTotal];

            WorkData      tmp;
            HashSet <int> mult = new HashSet <int>();

            if (multipleAddress.ContainsKey(a) && distances[a, multipleAddress[a].ElementAt(0)] != 0)
            {
                //megszüntetjük
                foreach (int key in multipleAddress[a])
                {
                    multipleAddress[key].Remove(a);
                }
                multipleAddress.Remove(a);
            }

            for (b = 0; b < worksTotal; b++)
            {
                tmp = fullRepo.Find(b);
                if (a != b && distances[a, b] == 0 &&
                    data.Napszak == tmp.Napszak
                    //&& !data.Jozsai && !tmp.Jozsai
                    && data.Lat > 0 && tmp.Lat > 0)
                {
                    if (multipleAddress.ContainsKey(b))
                    {
                        foreach (int key in multipleAddress[b])
                        {
                            multipleAddress[key].Add(a);
                        }
                        try
                        {
                            multipleAddress.Add(a, multipleAddress[b]);
                        }
                        catch (ArgumentException)
                        {
                        }
                        break;
                    }
                    else
                    {
                        mult.Add(a);
                        mult.Add(b);
                        multipleAddress.Add(a, mult);
                        multipleAddress.Add(b, mult);
                        break;
                    }
                }
            }

            browser.Document.InvokeScript("setLatLng", new object[] { a, data.Lat, data.Lng, data.Problematic, data.Napszak });
            CheckImageState();
        }
コード例 #23
0
        public List <WorkData> GetWorkData(DateTime date, out List <Auto> autok, out CimOsszesito osszCim)
        {
            DateTime tempDate;
            object   realm3;
            float    rm3;

            string auth = "";
            string host;
            string tmpRsz;
            string tmpRow;

            List <WorkData> data     = new List <WorkData>();
            WorkData        tempData = null;

            Dictionary <string, Auto> autoData = new Dictionary <string, Auto>();

            autok   = new List <Auto>();
            osszCim = new CimOsszesito();

            MySqlDataReader latReader = null;
            MySqlDataReader kapReader = null;

            MySqlTransaction trans = null;

            Auto fordAuto;
            int  forduloszam;
            int  kapacitas;
            int  counter = 0;

            if (connection == null)
            {
                Init();
            }

            try
            {
                Auto.AutoIndex = 0;



                host = SettingsPanel.UpdateURL;
                bool isSecure = host.StartsWith("https://");
                //if (isSecure)
                {
                    System.Net.ServicePointManager.CertificatePolicy = new MyPolicy();
                    auth = string.Format("{0}:{1}", Properties.Settings.Default.userName, Properties.Settings.Default.password);
                }

                try
                {
                    using (WebClient client = new WebClient(), cl2 = new WebClient())
                    {
                        //if (isSecure)
                        {
                            cl2.Headers.Set("Authorization", "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(auth)));
                            client.Headers.Set("Authorization", "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(auth)));
                        }

                        using (StreamReader reader = new StreamReader(cl2.OpenRead(new Uri(string.Format("{0}{1}", Properties.Settings.Default.updateURL2, date.ToString("yyyy-MM"))))))
                        {
                        }
                        using (Stream dataStream = client.OpenRead(host))
                        {
                            using (StreamReader reader = new StreamReader(dataStream, Encoding.UTF7))
                            {
                                while (!reader.EndOfStream)
                                {
                                    tmpRow = reader.ReadLine().Replace('õ', 'ő').Replace('û', 'ű').Replace('Õ', 'Ő').Replace('Û', 'Ű');

                                    string[] parts = tmpRow.Split('\t');

                                    if (parts.Length == 1)
                                    {
                                        if (parts[0].Trim() == "")
                                        {
                                            continue;
                                        }
                                        if (tempData != null)
                                        {
                                            tempData.Megjegyzes += " " + parts[0];
                                        }
                                    }
                                    if (parts.Length < 12)
                                    {
                                        continue;
                                    }

                                    try
                                    {
                                        tempDate = DateTime.Parse(parts[4]);
                                    }
                                    catch (FormatException)
                                    {
                                        continue;
                                    }
                                    if (tempDate.Date > date.Date)
                                    {
                                        break;
                                    }
                                    if (tempDate.Date == date.Date)
                                    {
                                        tempData = new WorkData();
                                        tempData.WorksheetNumber = long.Parse(parts[0]);
                                        tempData.Number          = counter;
                                        tmpRsz = parts[1];

                                        if (tmpRsz == "")
                                        {
                                            tmpRsz = "???";
                                        }
                                        try
                                        {
                                            kapacitas = int.Parse(parts[8]);
                                        }
                                        catch (Exception)
                                        {
                                            kapacitas = 5;
                                        }
                                        if (autoData.ContainsKey(tmpRsz))
                                        {
                                            fordAuto = autoData[tmpRsz];
                                        }
                                        else
                                        {
                                            fordAuto = new Auto(tmpRsz);
                                            getCar.Parameters[0].Value = tmpRsz;

                                            kapReader = getCar.ExecuteReader();
                                            if (kapReader.Read())
                                            {
                                                fordAuto.Kapacitas  = kapReader.GetByte(0);
                                                fordAuto.Fogyasztas = kapReader.GetFloat(1);
                                                fordAuto.Lizingdij  = kapReader.GetFloat(2);
                                            }
                                            else
                                            {
                                                fordAuto.Kapacitas = kapacitas;
                                            }
                                            kapReader.Close();

                                            fordAuto.Index = Auto.AutoIndex++;

                                            fordAuto.Sofor = parts[2];
                                            fordAuto.Seged = parts[3];

                                            autoData.Add(tmpRsz, fordAuto);
                                        }
                                        try
                                        {
                                            tempData.IranyitoSzam = int.Parse(parts[5]);
                                        }
                                        catch (FormatException)
                                        {
                                        }

                                        tempData.Utca    = parts[6];
                                        tempData.HazSzam = parts[7];

                                        try
                                        {
                                            selectProbUtca.Parameters[0].Value = tempData.Utca;
                                            if (selectProbUtca.ExecuteScalar() != null)
                                            {
                                                tempData.Problematic = true;
                                            }
                                            else
                                            {
                                                selectProbCim.Parameters[0].Value = tempData.Cim;
                                                if (selectProbCim.ExecuteScalar() != null)
                                                {
                                                    tempData.Problematic = true;
                                                }
                                            }
                                        }
                                        catch (MySqlException hadit)
                                        {
                                        }

                                        getRealVolume.Parameters[0].Value = tempData.Cim;
                                        realm3 = getRealVolume.ExecuteScalar();

                                        try
                                        {
                                            rm3 = (realm3 == DBNull.Value || realm3 == null) ? 0 : float.Parse(realm3.ToString());
                                        }
                                        catch (FormatException)
                                        {
                                            rm3 = 0;
                                        }

                                        tempData.TenylegesKobmeter = (int)Math.Ceiling(rm3);
                                        tempData.WorkCapacity      = kapacitas;

                                        try
                                        {
                                            tempData.Napszak = int.Parse(parts[11]);
                                        }
                                        catch (FormatException)
                                        {
                                        }
                                        if (tempData.Napszak > 3 || tempData.Napszak < 1)
                                        {
                                            using (NapszakCorrector nc = new NapszakCorrector(tempData))
                                            {
                                                nc.ShowDialog();
                                            }
                                        }
                                        try
                                        {
                                            tempData.CsoHossz = int.Parse(parts[9]);
                                        }
                                        catch (FormatException)
                                        {
                                        }
                                        tempData.CsoStr = parts[9];

                                        if (parts.Length >= 14)
                                        {
                                            tempData.Megjegyzes = parts[13];
                                        }



                                        osszCim.UpdateWith(tempData);

                                        /*if (tempData.Jozsai)
                                         * {
                                         *  forduloszam = fordAuto.GetNapszakFordulok(tempData.Napszak - 1);
                                         *  fordAuto.SetNapszakFordulok(tempData.Napszak - 1, forduloszam + 1);
                                         *  fordAuto.AddJozsaiFuvar(tempData);
                                         * }*/

                                        GetLatLng(tempData, trans);

                                        data.Add(tempData);
                                        counter++;
                                    }
                                }
                            }
                        }
                    }
                    foreach (string s in autoData.Keys)
                    {
                        autok.Add(autoData[s]);
                    }
                }
                catch (WebException se)
                {
                    MessageBox.Show("A program nem tudja az állományt megnyitni.\nEllenőrízze az internetkapcsolatot (vagy az állomány nincs-e más alkalmazással megnyitva) és a Beállítások panelen levő értékeket!",
                                    "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    throw;
                }
                catch (MySqlException ex)
                {
                    MessageBox.Show("Adatbázis elérési hiba.\nKérem ellenőrizze, hogy az adatbázist más alkalmazás nem használja-e!", "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    throw;
                }
            }
            catch (Exception e)
            {
                AppLogger.WriteException(e);
                AppLogger.WriteEvent("A kivétel elkapva.");
                data.Clear();
                osszCim = new CimOsszesito();
                if (ExceptionOccured != null)
                {
                    ExceptionOccured();
                }
            }
            finally
            {
                if (latReader != null)
                {
                    latReader.Close();
                }
                if (kapReader != null)
                {
                    kapReader.Close();
                }
            }
            return(data);
        }
コード例 #24
0
        public List <WorkData> ReadMassData(string file, out List <Auto> autok, out CimOsszesito[] osszCim)
        {
            object realm3;
            float  rm3;

            string tmpRow;

            List <WorkData> data     = new List <WorkData>();
            WorkData        tempData = null;

            Dictionary <string, Auto> autoData = new Dictionary <string, Auto>();

            autok = new List <Auto>();
            autok.Add(new Auto("TMX-000"));
            autok.Add(new Auto("TRZ-000"));
            osszCim = new CimOsszesito[2];

            MySqlDataReader latReader = null;
            MySqlDataReader kapReader = null;

            MySqlTransaction trans = null;

            int kapacitas;
            int counter = 0;

            if (connection == null)
            {
                Init();
            }

            try
            {
                try
                {
                    using (StreamReader reader = new StreamReader(file, Encoding.UTF7))
                    {
                        while (!reader.EndOfStream)
                        {
                            tmpRow = reader.ReadLine().Replace('õ', 'ő').Replace('û', 'ű').Replace('Õ', 'Ő').Replace('Û', 'Ű');

                            string[] parts = tmpRow.Split('\t');

                            if (parts.Length == 1)
                            {
                                if (parts[0].Trim() == "")
                                {
                                    continue;
                                }
                                if (tempData != null)
                                {
                                    tempData.Megjegyzes += " " + parts[0];
                                }
                            }
                            if (parts.Length < 14)
                            {
                                continue;
                            }

                            tempData = new WorkData();
                            tempData.WorksheetNumber = long.Parse(parts[0]);
                            tempData.Number          = counter;

                            try
                            {
                                tempData.IranyitoSzam = int.Parse(parts[5]);
                            }
                            catch (FormatException)
                            {
                            }

                            tempData.Utca    = parts[6];
                            tempData.HazSzam = parts[7];

                            try
                            {
                                selectProbUtca.Parameters[0].Value = tempData.Utca;
                                if (selectProbUtca.ExecuteScalar() != null)
                                {
                                    tempData.Problematic = true;
                                }
                                else
                                {
                                    selectProbCim.Parameters[0].Value = tempData.Cim;
                                    if (selectProbCim.ExecuteScalar() != null)
                                    {
                                        tempData.Problematic = true;
                                    }
                                }
                            }
                            catch (MySqlException hadit)
                            {
                            }

                            getRealVolume.Parameters[0].Value = tempData.Cim;
                            realm3 = getRealVolume.ExecuteScalar();

                            try
                            {
                                rm3 = (realm3 == DBNull.Value || realm3 == null) ? 0 : float.Parse(realm3.ToString());
                            }
                            catch (FormatException)
                            {
                                rm3 = 0;
                            }

                            tempData.TenylegesKobmeter = (int)Math.Ceiling(rm3);
                            try
                            {
                                tempData.WorkCapacity = int.Parse(parts[8]);
                            }
                            catch (Exception)
                            {
                                tempData.WorkCapacity = 5;
                            }

                            try
                            {
                                tempData.Napszak = int.Parse(parts[11]);
                            }
                            catch (FormatException)
                            {
                            }
                            if (tempData.Napszak > 3 || tempData.Napszak < 1)
                            {
                                using (NapszakCorrector nc = new NapszakCorrector(tempData))
                                {
                                    nc.ShowDialog();
                                }
                            }
                            try
                            {
                                tempData.CsoHossz = int.Parse(parts[9]);
                            }
                            catch (FormatException)
                            {
                            }
                            tempData.CsoStr = parts[9];

                            tempData.Megjegyzes = parts[13];

                            tempData.Szolgaltato = parts[10];

                            if (tempData.IsTranzit)
                            {
                                osszCim[1].UpdateWith(tempData);
                            }
                            else
                            {
                                osszCim[0].UpdateWith(tempData);
                            }

                            /*if (tempData.Jozsai)
                             * {
                             *  forduloszam = fordAuto.GetNapszakFordulok(tempData.Napszak - 1);
                             *  fordAuto.SetNapszakFordulok(tempData.Napszak - 1, forduloszam + 1);
                             *  fordAuto.AddJozsaiFuvar(tempData);
                             * }*/

                            GetLatLng(tempData, trans);

                            data.Add(tempData);
                            counter++;
                        }
                    }
                }
                catch (MySqlException ex)
                {
                    MessageBox.Show("Adatbázis elérési hiba.\nKérem ellenőrizze, hogy az adatbázist más alkalmazás nem használja-e!", "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    throw;
                }
            }
            catch (Exception e)
            {
                AppLogger.WriteException(e);
                AppLogger.WriteEvent("A kivétel elkapva.");
                data.Clear();
                osszCim = new CimOsszesito[2];
                if (ExceptionOccured != null)
                {
                    ExceptionOccured();
                }
            }
            finally
            {
                if (latReader != null)
                {
                    latReader.Close();
                }
                if (kapReader != null)
                {
                    kapReader.Close();
                }
            }
            return(data);
        }