Example #1
0
        public Widget CreateNewSurprisePaymentMonitorWidget(string bucketCode, DateTime paymentDate,
                                                            WeeklyOrFortnightly frequency)
        {
            if (string.IsNullOrWhiteSpace(bucketCode))
            {
                throw new ArgumentNullException(nameof(bucketCode));
            }

            if (paymentDate == DateTime.MinValue)
            {
                throw new ArgumentException("Payment date is not set.", nameof(paymentDate));
            }

            var bucket = this.bucketRepository.GetByCode(bucketCode);

            if (bucket == null)
            {
                throw new ArgumentException(
                          string.Format(CultureInfo.CurrentCulture, "No Bucket with code {0} exists", bucketCode),
                          nameof(bucketCode));
            }

            var widget        = this.widgetService.Create(typeof(SurprisePaymentWidget).FullName, bucket.Code);
            var paymentWidget = (SurprisePaymentWidget)widget;

            paymentWidget.StartPaymentDate = paymentDate;
            paymentWidget.Frequency        = frequency;
            return(UpdateWidgetCollectionWithNewAddition((Widget)widget));
        }
        public Widget CreateNewSurprisePaymentMonitorWidget(string bucketCode, DateTime paymentDate,
                                                            WeeklyOrFortnightly frequency)
        {
            if (string.IsNullOrWhiteSpace(bucketCode))
            {
                throw new ArgumentNullException(nameof(bucketCode));
            }

            if (paymentDate == DateTime.MinValue)
            {
                throw new ArgumentException("Payment date is not set.", nameof(paymentDate));
            }

            var bucket = this.bucketRepository.GetByCode(bucketCode);
            if (bucket == null)
            {
                throw new ArgumentException(
                    string.Format(CultureInfo.CurrentCulture, "No Bucket with code {0} exists", bucketCode),
                    nameof(bucketCode));
            }

            var widget = this.widgetService.Create(typeof(SurprisePaymentWidget).FullName, bucket.Code);
            var paymentWidget = (SurprisePaymentWidget) widget;
            paymentWidget.StartPaymentDate = paymentDate;
            paymentWidget.Frequency = frequency;
            return UpdateWidgetCollectionWithNewAddition((Widget) widget);
        }