protected void RefreshSpinButtons(IBottlesRepository bottlesRepository, IDepositRepository depositRepository)
        {
            if (depositRepository == null)
            {
                throw new ArgumentNullException(nameof(depositRepository));
            }
            if (bottlesRepository == null)
            {
                throw new ArgumentNullException(nameof(bottlesRepository));
            }

            int     bottlesMax           = bottlesRepository.GetBottlesDebtAtCouterpartyAndDeliveryPoint(UoWGeneric, Entity.FromClient, Entity.FromDeliveryPoint, Entity.TimeStamp);
            decimal depositsBottlesMax   = depositRepository.GetDepositsAtCounterpartyAndDeliveryPoint(UoWGeneric, Entity.FromClient, Entity.FromDeliveryPoint, DepositType.Bottles, Entity.TimeStamp);
            decimal depositsEquipmentMax = depositRepository.GetDepositsAtCounterpartyAndDeliveryPoint(UoWGeneric, Entity.FromClient, Entity.FromDeliveryPoint, DepositType.Equipment, Entity.TimeStamp);

            if (Entity.OutBottlesOperation != null)
            {
                spinBottles.Value = Entity.OutBottlesOperation.Returned != 0 ? Entity.OutBottlesOperation.Returned : (Entity.OutBottlesOperation.Delivered * -1);
            }
            else
            {
                spinBottles.Value = 0;
            }

            if (Entity.OutBottlesDepositOperation != null)
            {
                spinDepositsBottles.Value = (double)(Entity.OutBottlesDepositOperation.RefundDeposit != 0 ? Entity.OutBottlesDepositOperation.RefundDeposit : (Entity.OutBottlesDepositOperation.ReceivedDeposit * -1));
            }
            else
            {
                spinDepositsBottles.Value = 0;
            }

            if (Entity.OutEquipmentDepositOperation != null)
            {
                spinDepositsEquipment.Value = (double)(Entity.OutEquipmentDepositOperation.RefundDeposit != 0 ? Entity.OutEquipmentDepositOperation.RefundDeposit : (Entity.OutEquipmentDepositOperation.ReceivedDeposit * -1));
            }
            else
            {
                spinDepositsEquipment.Value = 0;
            }

            if (Math.Abs(bottlesMax) < Math.Abs(spinBottles.Value) ||
                Math.Abs(depositsBottlesMax) < Math.Abs((decimal)spinDepositsBottles.Value) ||
                Math.Abs(depositsEquipmentMax) < Math.Abs((decimal)spinDepositsEquipment.Value))
            {
                checkbuttonLock.Active = false;
            }

            spinBottles.Sensitive     = Entity.FromClient != null;
            labelBottlesMax.LabelProp = bottlesMax.ToString();

            spinDepositsBottles.Sensitive     = Entity.FromClient != null;
            labelDepositsBottlesMax.LabelProp = depositsBottlesMax.ToString();

            spinDepositsEquipment.Sensitive     = Entity.FromClient != null;
            labelDepositsEquipmentMax.LabelProp = depositsEquipmentMax.ToString();

            if (checkbuttonLock.Active)
            {
                spinBottles.Adjustment.Upper = bottlesMax > 0 ? bottlesMax : 0;
                spinBottles.Adjustment.Lower = bottlesMax < 0 ? bottlesMax : 0;

                spinDepositsBottles.Adjustment.Upper = (double)(depositsBottlesMax > 0 ? depositsBottlesMax : 0);
                spinDepositsBottles.Adjustment.Lower = (double)(depositsBottlesMax < 0 ? depositsBottlesMax : 0);

                spinDepositsEquipment.Adjustment.Upper = (double)(depositsEquipmentMax > 0 ? depositsEquipmentMax : 0);
                spinDepositsEquipment.Adjustment.Lower = (double)(depositsEquipmentMax < 0 ? depositsEquipmentMax : 0);
            }
            else
            {
                spinBottles.Adjustment.Upper = 1000;
                spinBottles.Adjustment.Lower = -1000;

                spinDepositsBottles.Adjustment.Upper = 100000;
                spinDepositsBottles.Adjustment.Lower = -100000;

                spinDepositsEquipment.Adjustment.Upper = 100000;
                spinDepositsEquipment.Adjustment.Lower = -100000;
            }
        }