Exemple #1
0
        private void btn_get30DaysBefore_Click(object sender, EventArgs e)
        {
            if (Functions.IsNull(this.date_get30DaysBefore.Text))
            {
                MessageBox.Show("تاریخی انتخاب نشده است", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            try
            {
                DateTime date = Functions.solarToMiladi(this.date_get30DaysBefore.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show("خطا در تاریخ انتخاب شده", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            List <long?> lstWagonNo = new List <long?>();

            using (var entityLogistic = new Model.logisticEntities())
            {
                if (!string.IsNullOrEmpty(this.txtbx_get30DaysBeforeWagonNo.Text))
                {
                    long wagonNo;
                    if (!long.TryParse(this.txtbx_get30DaysBeforeWagonNo.Text, out wagonNo))
                    {
                        MessageBox.Show("WagonNo is not an integer value", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    else if (wagonNo < 0)
                    {
                        MessageBox.Show("WagonNo should be a positive value", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    lstWagonNo.Add(wagonNo);
                }
                else
                {
                    lstWagonNo = entityLogistic.Wagons.Select(o => o.wagonNo).ToList();
                }

                wagonInfoTrackingDetail trackingDetail = new wagonInfoTrackingDetail();
                for (int i = 0; i <= lstWagonNo.Count - 1; i++)
                {
                    trackingDetail.readAndSaveWagonToDB(lstWagonNo[i].Value, this.date_get30DaysBefore.Text, (int)this.numeric_cycleNumber.Value);
                }
            }
        }
Exemple #2
0
        private void btn_trackWagons_Click(object sender, EventArgs e)
        {
            long?wagonNoStart, wagonNoEnd;

            wagonNoStart = wagonNoEnd = null;
            long temp;

            if (!string.IsNullOrEmpty(this.txtbx_wagonNoStart.Text))
            {
                if (!long.TryParse(this.txtbx_wagonNoStart.Text, out temp))
                {
                    MessageBox.Show("WagonNoStart is not an integer value", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                else if (temp < 0)
                {
                    MessageBox.Show("WagonNoStart should be a positive value", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                wagonNoStart = temp;
            }
            if (!string.IsNullOrEmpty(this.txtbx_wagonNoEnd.Text))
            {
                if (!long.TryParse(this.txtbx_wagonNoEnd.Text, out temp))
                {
                    MessageBox.Show("WagonNoEnd is not an integer value", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                else if (temp < 0)
                {
                    MessageBox.Show("WagonNoEnd should be a positive value", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                wagonNoEnd = temp;
            }

            if (wagonNoStart.HasValue && wagonNoEnd.HasValue &&
                wagonNoStart.Value >= wagonNoEnd.Value)
            {
                MessageBox.Show("WagonNoEnd should be greater than than WagonNoStart", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            wagonInfoTrackingResult trackingResult = new wagonInfoTrackingResult();

            using (var entityLogistic = new Model.logisticEntities())
            {
                do
                {
                    wagonNoStart = entityLogistic.Wagons.Where(o => !wagonNoStart.HasValue || o.wagonNo >= wagonNoStart.Value).Min(o => o.wagonNo);
                    if (wagonNoStart.HasValue)
                    {
                        wagonNoEnd = entityLogistic.Wagons.Where(o => o.wagonNo <= wagonNoStart.Value + 50).Max(o => o.wagonNo);
                        if (wagonNoEnd.HasValue)
                        {
                            trackingResult.readAndSaveWagonToDB(wagonNoStart.Value, wagonNoEnd.Value
                                                                , int.Parse(this.numeric_cycleNumber.Value.ToString()), this.chkbx_trackWagons_get30DaysAgo.Checked);
                            wagonNoStart = wagonNoEnd.Value + 1;
                        }
                    }
                } while (wagonNoStart.HasValue && wagonNoEnd.HasValue);
            }
        }
Exemple #3
0
        private void btn_history_Click(object sender, EventArgs e)
        {
            if (Functions.IsNull(this.date_history_fromDate.Text))
            {
                MessageBox.Show("تاریخ شروع مشخص نشده است", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            DateTime fromDate, toDate;

            fromDate = DateTime.MinValue;
            toDate   = DateTime.MaxValue;
            try
            {
                fromDate = Functions.solarToMiladi(this.date_history_fromDate.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show("خطا در تاریخ انتخاب شده شروع", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (Functions.IsNull(this.date_history_toDate.Text))
            {
                MessageBox.Show("تاریخ پایان مشخص نشده است", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            try
            {
                toDate = Functions.solarToMiladi(this.date_history_toDate.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show("خطا در تاریخ انتخاب شده شروع", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            if (fromDate > toDate)
            {
                MessageBox.Show("تاریخ شروع باید قبل از تاریخ پایان باشد", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            List <long?> lstWagonNo = new List <long?>();

            using (var entityLogistic = new Model.logisticEntities())
            {
                if (!string.IsNullOrEmpty(this.txtbx_history_wagonNo.Text))
                {
                    long wagonNo;
                    if (!long.TryParse(this.txtbx_history_wagonNo.Text, out wagonNo))
                    {
                        MessageBox.Show("WagonNo is not an integer value", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    else if (wagonNo < 0)
                    {
                        MessageBox.Show("WagonNo should be a positive value", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    lstWagonNo.Add(wagonNo);
                }
                else
                {
                    lstWagonNo = entityLogistic.Wagons.Select(o => o.wagonNo).ToList();
                }

                wagonInfoSeirHistory trackingHistory = new wagonInfoSeirHistory();
                for (int i = 0; i <= lstWagonNo.Count - 1; i++)
                {
                    trackingHistory.readAndSaveWagonToDB(lstWagonNo[i].Value, this.date_history_fromDate.Text, this.date_history_toDate.Text, (int)this.numeric_cycleNumber.Value);
                }
            }
        }