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