public static void UpdateSubscriber(Subscriber subscriber, Company company) { Subscriber currentSubscriber = GetSubscriber(subscriber.LicencePlates); DateTime oldSubscription = currentSubscriber.ValidTo; int months = Convert.ToInt32(Math.Ceiling((subscriber.ValidTo - oldSubscription).Days / 31.0)); DateTime validTo = currentSubscriber.ValidTo.AddMonths(months); currentSubscriber.ValidTo = validTo; if (months > 0) { ChargeSubscriberController.ChargeSubscription(subscriber.LicencePlates, months, validTo, company); Database.Subscribers.UpdateSubscriber(currentSubscriber); } else { throw new Exception("Pretplata se ne može ukinuti."); } }
public static void AddSubscriber(string licencePlates, DateTime validTo, Company company) { int months = 0; if (((validTo - DateTime.Now).Days / 31.0) == 0) { months = 1; validTo = DateTime.Now; } else { months = Convert.ToInt32(Math.Ceiling((validTo - DateTime.Now).Days / 31.0)); validTo = DateTime.Now; } DateTime newValidTo = validTo.AddMonths(months); Database.Subscribers.AddSubscriber(licencePlates, newValidTo); if (months > 0) { ChargeSubscriberController.ChargeSubscription(licencePlates, months, newValidTo, company); } }