예제 #1
0
            public void IncValuesInTimeSlot(PickPaceMonitorOverviewViewResult data)
            {
                if (data.PickedQuantity != null)
                {
                    pickedQty = pickedQty.GetValueOrDefault() + data.PickedQuantity.GetValueOrDefault();
                    numOfSlots++;
                }

                if (data.Weight != null)
                {
                    weight = weight.GetValueOrDefault() + data.Weight.GetValueOrDefault();
                }

                if (data.Volume != null)
                {
                    volume = volume.GetValueOrDefault() + data.Volume.GetValueOrDefault();
                }

                if (data.AveragePickedQuantity != null)
                {
                    avgPickedQty = avgPickedQty.GetValueOrDefault() + data.AveragePickedQuantity.GetValueOrDefault();
                    numOfSlotsAvg++;
                }

                if (data.AverageWeight != null)
                {
                    avgWeight = avgWeight.GetValueOrDefault() + data.AverageWeight.GetValueOrDefault();
                }

                if (data.AverageVolume != null)
                {
                    avgVolume = avgVolume.GetValueOrDefault() + data.AverageVolume.GetValueOrDefault();
                }

                if (pickedQty.GetValueOrDefault() > 0 || weight.GetValueOrDefault() > 0 || volume.GetValueOrDefault() > 0)
                {
                    lastDate = date;
                }
            }
예제 #2
0
 public void SetRemaningValues(PickPaceMonitorOverviewViewResult data)
 {
     remaningPickedQty = data.PickedQuantity.GetValueOrDefault();
     remaningWeight    = data.Weight.GetValueOrDefault();
     remaningVolume    = data.Volume.GetValueOrDefault();
 }
예제 #3
0
        private IList <PickPaceMonitorOverviewViewResult> UpdateChartData()
        {
            List <PickPaceMonitorOverviewViewResult> tmpData = new List <PickPaceMonitorOverviewViewResult>();


            ChartDataValues chartValues = new ChartDataValues();

            int index = 0;

            if (_originalData != null)
            {
                foreach (PickPaceMonitorOverviewViewResult data in _originalData)
                {
                    if (data.TimeStamp == null)
                    {
                        chartValues.SetRemaningValues(data);
                        continue;
                    }

                    index++;

                    if (index == 1)
                    {
                        chartValues.SetDateTimeForNewTimeSlot(data.TimeStamp.GetValueOrDefault());
                    }


                    chartValues.IncValuesInTimeSlot(data);


                    if (index == (_duration / 5))
                    {
                        chartValues.ReCalculateValuesInTimeSlot();

                        PickPaceMonitorOverviewViewResult newData = new PickPaceMonitorOverviewViewResult();

                        newData.PickedQuantity = (chartValues.pickedQty != null ? (decimal?)Math.Round(chartValues.pickedQty.GetValueOrDefault(), 2) : null);
                        newData.Weight         = (chartValues.weight != null ? (decimal?)Math.Round(chartValues.weight.GetValueOrDefault(), 2) : null);
                        newData.Volume         = (chartValues.volume != null ? (decimal?)Math.Round(chartValues.volume.GetValueOrDefault(), 2) : null);

                        newData.AveragePickedQuantity = (chartValues.avgPickedQty != null ? (decimal?)Math.Round(chartValues.avgPickedQty.GetValueOrDefault(), 2) : null);
                        newData.AverageWeight         = (chartValues.avgWeight != null ? (decimal?)Math.Round(chartValues.avgWeight.GetValueOrDefault(), 2) : null);
                        newData.AverageVolume         = (chartValues.avgVolume != null ? (decimal?)Math.Round(chartValues.avgVolume.GetValueOrDefault(), 2) : null);

                        newData.LongTimeAvgPickedQuantity = data.LongTimeAvgPickedQuantity;
                        newData.LongTimeAvgWeight         = data.LongTimeAvgWeight;
                        newData.LongTimeAvgVolume         = data.LongTimeAvgVolume;

                        newData.TimeStamp    = chartValues.date;
                        newData.TimeSpanText = chartValues.date.ToString("HH:mm") + "-" + chartValues.date.AddMinutes((_duration)).ToString("HH:mm") + "\r" + chartValues.date.ToString("dd MMM");

                        tmpData.Add(newData);

                        chartValues.ResetValues();

                        index = 0;
                    }
                }

                chartValues.CalcPreliminaryEndTime(_duration, _valueBinding);
            }

            try
            {
                if (tmpData.Count > 0)
                {
                    pickPaceSerie.ValueBinding = new Telerik.Windows.Controls.ChartView.PropertyNameDataPointBinding()
                    {
                        PropertyName = _valueBinding
                    };

                    avgPickPaceSerie.ValueBinding = new Telerik.Windows.Controls.ChartView.PropertyNameDataPointBinding()
                    {
                        PropertyName = "Average" + _valueBinding
                    };

                    longTimeAvgpickPaceSerie.ValueBinding = new Telerik.Windows.Controls.ChartView.PropertyNameDataPointBinding()
                    {
                        PropertyName = "LongTimeAvg" + _valueBinding
                    };

                    pickPaceSerie.ItemsSource            = tmpData;
                    avgPickPaceSerie.ItemsSource         = tmpData;
                    longTimeAvgpickPaceSerie.ItemsSource = tmpData;

                    if (chartValues.lastDate.Date == DateTime.Now.Date) //Show remaining only if last value is today.
                    {
                        RemainingText.Text     = Math.Round(chartValues.remaining, 2).ToString();
                        RemainingTimeText.Text = chartValues.estFinishTime.ToString("t");
                    }
                    else
                    {
                        RemainingText.Text     = string.Empty;
                        RemainingTimeText.Text = string.Empty;
                    }
                }
                else
                {
                    pickPaceSerie.ItemsSource            = null;
                    avgPickPaceSerie.ItemsSource         = null;
                    longTimeAvgpickPaceSerie.ItemsSource = null;

                    RemainingText.Text     = string.Empty;
                    RemainingTimeText.Text = string.Empty;
                }
            }
            catch (Exception ex)
            {
            }

            return(tmpData);
        }