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; } }