Пример #1
0
 public virtual MailMessage SpendingLimitReachedEmail(SubscriptionDetail sd, string toEmailAddress, string name, string surname)
 {
     var mailMessage = new MailMessage { Subject = "Spending limit reached for your company" };
      mailMessage.Priority = MailPriority.High;
      mailMessage.To.Add(new MailAddress(toEmailAddress, name + " " + surname));
      mailMessage.To.Add(toEmailAddress);
      ViewBag.CompanyName = sd.Companies.FirstOrDefault().Name;
      ViewBag.DearSir = "Mr./Ms. " + surname;
      var today = DateTime.Now;
      ViewBag.ResetDate = sd.GetNextBillingDate(today).ToLongDateString();
      ViewData.Model = sd;
      PopulateBody(mailMessage, viewName: "SpendingLimitReachedEmail");
      return mailMessage;
 }
        public void GetNextBillingDate_ComparisonAfterBillingDay_AND_ComparisonDayIsInDecember_DateIsNextYear()
        {
            var compTime = new DateTime(2012, 12, 17);
             var billingDay = 15;
             var sd = new SubscriptionDetail() { BillingDay = billingDay };
             Company newCompany = new Company() { Name = "Random" };
             newCompany.Invoices.Add(new Invoice() { DateCreated = compTime.Subtract(new TimeSpan(35, 0, 0, 0)), AutoGenerated = true });
             sd.Companies.Add(newCompany);

             var nextBillingDate = sd.GetNextBillingDate(compTime);
             var expectedBillingDate = new DateTime(2013,01,billingDay);
             Assert.AreEqual(expectedBillingDate.Date, nextBillingDate.Date);
        }
 public void GetNextBillingDate_ComparisonOnBillingDay_AND_NoAutoInvoice_DateIsOnComparisonDay()
 {
     var compTime = new DateTime(2012, 01, 15);
      var billingDay = 15;
      var sd = new SubscriptionDetail() { BillingDay = billingDay };
      sd.Companies.Add(new Company() {Name= "Random"});
      var nextBillingDate = sd.GetNextBillingDate(compTime);
      var expectedBillingDate = compTime;
      Assert.AreEqual(expectedBillingDate.Date, nextBillingDate.Date);
 }
        public void GetNextBillingDate_ComparisonOnBillingDay_AND_AutoInvoiceOnThisDay_DateIsNextMonth()
        {
            var compTime = new DateTime(2012, 01, 15);
             var billingDay = 15;
             var sd = new SubscriptionDetail() { BillingDay = billingDay };
             Company newCompany = new Company() { Name = "Random" };
             newCompany.Invoices.Add(new Invoice() {DateCreated = compTime, AutoGenerated=true });
             newCompany.Invoices.Add(new Invoice() { DateCreated = compTime.Subtract(new TimeSpan(35,0,0,0)), AutoGenerated = true });
             sd.Companies.Add(newCompany);

             var nextBillingDate = sd.GetNextBillingDate(compTime);
             var expectedBillingDate = new DateTime(2012,02,billingDay);
             Assert.AreEqual(expectedBillingDate.Date, nextBillingDate.Date);
        }
 public void GetNextBillingDate_ComparisonIsBeforeBillingDay_DateIsThisMonth()
 {
     var compTime = new DateTime(2012, 01, 13);
      var billingDay = 14;
      var sd = new SubscriptionDetail() { BillingDay = billingDay };
      var nextBillingDate = sd.GetNextBillingDate(compTime);
      var expectedBillingDate = new DateTime(2012, 01, billingDay);
      Assert.AreEqual(expectedBillingDate.Date, nextBillingDate.Date);
 }