public void SetLaggingValues(AssemblyMonitorOverviewViewResult data)
 {
     LaggingKit    = data.NoKitsLate.GetValueOrDefault();
     LaggingComp   = data.NoCompsLate.GetValueOrDefault();
     Laggingweight = data.WeightLate.GetValueOrDefault();
     Laggingvolume = data.VolumeLate.GetValueOrDefault();
 }
            public void IncValuesInTimeSlot(AssemblyMonitorOverviewViewResult data)
            {
                noKit  += data.NoKits.GetValueOrDefault();
                noComp += data.NoComps.GetValueOrDefault();
                weight += data.Weight.GetValueOrDefault();
                volume += data.Volume.GetValueOrDefault();

                noKitLate  += data.NoKitsLate.GetValueOrDefault();
                noCompLate += data.NoCompsLate.GetValueOrDefault();
                weightLate += data.WeightLate.GetValueOrDefault();
                volumeLate += data.VolumeLate.GetValueOrDefault();

                noUsersCapacity += data.NoUsersInc.GetValueOrDefault();
                noKitCapacity   += data.NoKitsCapacity.GetValueOrDefault();
                noCompCapacity  += data.NoCompsCapacity.GetValueOrDefault();
                weightCapacity  += data.WeightCapacity.GetValueOrDefault();
                volumeCapacity  += data.VolumeCapacity.GetValueOrDefault();

                //noKitBurnDown += data.NoKitInc.GetValueOrDefault() + data.NoKitLateInc.GetValueOrDefault();
                //noCompBurnDown += data.NoCompInc.GetValueOrDefault() + data.NoCompLateInc.GetValueOrDefault();
                //weightBurnDown += data.WeightInc.GetValueOrDefault() + data.WeightLateInc.GetValueOrDefault();
                //volumeBurnDown += data.VolumeInc.GetValueOrDefault() + data.VolumeLateInc.GetValueOrDefault();
            }
 public void RecalcSaldoInTimeSlot(AssemblyMonitorOverviewViewResult data)
 {
     noUsersCapacitySaldo += (data.NoUsersInc.GetValueOrDefault() - data.NoUsersDec.GetValueOrDefault());
 }
        private IList <AssemblyMonitorOverviewViewResult> UpdateChartData()
        {
            List <AssemblyMonitorOverviewViewResult> tmpData = new List <AssemblyMonitorOverviewViewResult>();

            ChartDataValues chartValues = new ChartDataValues();

            int index = 0;

            if (_originalData != null)
            {
                foreach (AssemblyMonitorOverviewViewResult data in _originalData)
                {
                    if (data.TimeStamp == null)
                    {
                        chartValues.SetLaggingValues(data);

                        continue;
                    }

                    index++;

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

                        chartValues.LoadSaldoToNewTimeSlot();
                    }


                    chartValues.IncValuesInTimeSlot(data);

                    chartValues.RecalcSaldoInTimeSlot(data);

                    if (index == _duration)
                    {
                        //chartValues.CalcBurnDown();

                        AssemblyMonitorOverviewViewResult newData = new AssemblyMonitorOverviewViewResult();

                        newData.NoKits  = Math.Round(chartValues.noKit);
                        newData.NoComps = Math.Round(chartValues.noComp);
                        newData.Weight  = chartValues.weight;
                        newData.Volume  = chartValues.volume;

                        newData.NoKitsLate  = Math.Round(chartValues.noKitLate);
                        newData.NoCompsLate = Math.Round(chartValues.noCompLate);
                        newData.WeightLate  = chartValues.weightLate;
                        newData.VolumeLate  = chartValues.volumeLate;

                        newData.NoUsersInc      = chartValues.noUsersCapacity;
                        newData.NoKitsCapacity  = Math.Round(chartValues.noKitCapacity);
                        newData.NoCompsCapacity = Math.Round(chartValues.noCompCapacity);
                        newData.WeightCapacity  = chartValues.weightCapacity;
                        newData.VolumeCapacity  = chartValues.volumeCapacity;

                        //newData.NoKitCapacityDec = chartValues.noKitBurnDown == 0 ? null : (decimal?)chartValues.noKitBurnDown;
                        //newData.NoCompCapacityDec = chartValues.noCompBurnDown == 0 ? null : (decimal?)chartValues.noCompBurnDown;
                        //newData.WeightCapacityDec = chartValues.weightBurnDown == 0 ? null : (decimal?)chartValues.weightBurnDown;
                        //newData.VolumeCapacityDec = chartValues.volumeBurnDown == 0 ? null : (decimal?)chartValues.volumeBurnDown;

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

                        tmpData.Add(newData);

                        chartValues.ResetValues();

                        index = 0;
                    }
                }
            }

            try
            {
                if (tmpData.Count > 0)
                {
                    AssemblyMonitorOverviewViewResult laggingWork = new AssemblyMonitorOverviewViewResult();

                    laggingWork.TimeStamp    = tmpData[0].TimeStamp.GetValueOrDefault().AddMinutes(-_duration);
                    laggingWork.TimeSpanText = "<";

                    AssemblyMonitorOverviewViewResult laggingWorkDummy = new AssemblyMonitorOverviewViewResult();

                    laggingWorkDummy.TimeStamp    = laggingWork.TimeStamp;
                    laggingWorkDummy.TimeSpanText = "<";

                    tmpData.Insert(0, laggingWorkDummy);

                    laggingWork.NoKitsLate  = chartValues.LaggingKit;
                    laggingWork.NoCompsLate = chartValues.LaggingComp;
                    laggingWork.WeightLate  = chartValues.Laggingweight;
                    laggingWork.VolumeLate  = chartValues.Laggingvolume;

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

                    laggingSerie.ItemsSource = new AssemblyMonitorOverviewViewResult[] { laggingWork };


                    workloadSerie.ValueBinding = new Telerik.Windows.Controls.ChartView.PropertyNameDataPointBinding()
                    {
                        PropertyName = _valueBinding
                    };
                    workloadLateSerie.ValueBinding = new Telerik.Windows.Controls.ChartView.PropertyNameDataPointBinding()
                    {
                        PropertyName = _valueBinding + "Late"
                    };
                    _capacitySerie.ValueBinding = new Telerik.Windows.Controls.ChartView.PropertyNameDataPointBinding()
                    {
                        PropertyName = _valueBinding + "Capacity"
                    };
                    //_burndownSerie.ValueBinding = new Telerik.Windows.Controls.ChartView.PropertyNameDataPointBinding() { PropertyName = _valueBinding.Substring(0, _valueBinding.Length - 3) + "CapacityDec" };

                    //_burndownSerie.ItemsSource = tmpData;
                    _capacitySerie.ItemsSource    = tmpData;
                    workloadSerie.ItemsSource     = tmpData;
                    workloadLateSerie.ItemsSource = tmpData;

                    tmpData.RemoveAt(0);
                }
                else
                {
                    //_burndownSerie.ItemsSource = null;
                    laggingSerie.ItemsSource      = null;
                    _capacitySerie.ItemsSource    = null;
                    workloadSerie.ItemsSource     = null;
                    workloadLateSerie.ItemsSource = null;
                }
            }
            catch (Exception ex)
            {
            }

            return(tmpData);
        }