public void AssignCashDeskInfo(CashDeskPlanningInfo cashdeskinfo, DateTime weekMondayDate)
        {
            CashDeskPlanningInfo CashDeskInfo = cashdeskinfo;

            if (CashDeskInfo != null)
            {
                DateTime sunday     = DateTimeHelper.GetSunday(weekMondayDate);
                DateTime index_date = DateTimeHelper.GetMonday(weekMondayDate);
                int      index      = 0;
                while (index_date <= sunday)
                {
                    index = (int)index_date.DayOfWeek;
                    DateCashDeskPeoplePerHour datecashdesk = cashdeskinfo.GetDayCashDeskData(index_date);
                    days_calculators[index] = new CashDeskDailyPlanningCalculator2();
                    days_calculators[index].AssignCashDeskInfo(cashdeskinfo, index_date);

                    if (datecashdesk != null)
                    {
                        TargetUnits[index] = datecashdesk.Calculate2(CashDeskInfo.CashDeskAmount, CashDeskInfo.MinimumPresence, CashDeskInfo.MaximumPresence);
                    }
                    else
                    {
                        TargetUnits[index] = 0;
                    }

                    index_date = index_date.AddDays(1);
                }
                TargetUnits.Calculate();
            }
            else
            {
                Clear();
            }
        }
Exemplo n.º 2
0
        public void AddCashDeskItem(CashDeskPeoplePerHourEstimateShort item)
        {
            if (item == null)
            {
#if DEBUG
                throw new ArgumentNullException();
#else
                return;
#endif
            }

            DateCashDeskPeoplePerHour val = GetItem(item.Date, true);

            val.AddCashDeskPeoplePerHour(item);
        }
Exemplo n.º 3
0
        //public void AddBusinessVolume(BusinessVolumeCRRSum item)
        //{
        //    if (item == null)
        //    {
        //        throw new ArgumentNullException();
        //    }

        //    DateCashDeskPeoplePerHour val = GetItem(item.Date, true);

        //    val.AddBusinessVolume (item);

        //}

        private DateCashDeskPeoplePerHour GetItem(DateTime date, bool bCreate)
        {
            DateCashDeskPeoplePerHour value = null;

            if (_diction == null)
            {
                _diction = new Dictionary <DateTime, DateCashDeskPeoplePerHour>();
            }

            if (!_diction.TryGetValue(date, out value))
            {
                if (bCreate)
                {
                    value          = new DateCashDeskPeoplePerHour(date);
                    _diction[date] = value;
                    _daycashdeskpeoples.Add(value);
                }
            }
            return(value);
        }
        public void AssignCashDeskInfo(CashDeskPlanningInfo cashdeskinfo, DateTime date)
        {
            _CashDeskInfo = cashdeskinfo;

            TargetedCashDeskUnits.Clear();

            if (CashDeskInfo != null)
            {
                AvgCashDeskAmount = CashDeskInfo.CashDeskAmount;
                MinPercent        = CashDeskInfo.MinimumPresence;
                MaxPercent        = CashDeskInfo.MaximumPresence;

                DateCashDeskPeoplePerHour datecashdesk = CashDeskInfo.GetDayCashDeskData(date);
                TargetedCashDeskUnits = new DblArray50MinMax(24, MinPercent, MaxPercent);
                if (datecashdesk != null)
                {
                    //Random n = new Random(5000);

                    for (int i = 0; i < 24; i++)
                    {
                        if (AvgCashDeskAmount != 0)
                        {
                            //TargetedCashDeskUnits.Elements[i] = n.NextDouble () / AvgCashDeskAmount;
                            TargetedCashDeskUnits.Elements[i] = datecashdesk.GetReceipt(i) / AvgCashDeskAmount;

                            // _GetPeoplePerHour(datecashdesk.GetReceipt(i), AvgCashDeskAmount);
                        }
                        else
                        {
                            TargetedCashDeskUnits.Elements[i] = 0;
                        }
                    }
                }

                TargetedCashDeskUnits.Calculate();
            }
        }