मैं PaymentFrequency
जिनके मान से संकेत मिलता है कि कितने भुगतान प्रति वर्ष किए जा रहे हैं कहा जाता है एक enum प्रकार है ... तो मैं पर NumberOfPayments
आधारकितने दिन के लिए जोड़ने के लिए "अर्द्ध मासिक"
public enum PaymentFrequency
{
None = 0,
Annually = 1,
SemiAnnually = 2,
EveryFourthMonth = 3,
Quarterly = 4,
BiMonthly = 6,
Monthly = 12,
EveryFourthWeek = 13,
SemiMonthly = 24,
BiWeekly = 26,
Weekly = 52
}
है, PaymentFrequency
, और FirstPaymentDate
(दिनांक दिनांक प्रकार ऑफसेट) का प्रकार मैं LastPaymentDate
की गणना करना चाहता हूं। लेकिन मैं कितने समय इकाइयों (दिन, महीने) दो हफ़्ते का के मामले में जोड़ने के लिए पता लगाना मुद्दा हो रहा है ...
switch (paymentFrequency)
{
// add years...
case PaymentFrequency.Annually:
LastPaymentDate = FirstPaymentDate.AddYears(NumberOfPayments - 1);
break;
// add months...
case PaymentFrequency.SemiAnnually:
LastPaymentDate = FirstPaymentDate.AddMonths((NumberOfPayments - 1) * 6); // 6 months
break;
case PaymentFrequency.EveryFourthMonth:
LastPaymentDate = FirstPaymentDate.AddMonths((NumberOfPayments - 1) * 4); // 4 months
break;
case PaymentFrequency.Quarterly:
LastPaymentDate = FirstPaymentDate.AddMonths((NumberOfPayments - 1) * 3); // 3 months
break;
case PaymentFrequency.BiMonthly:
LastPaymentDate = FirstPaymentDate.AddMonths((NumberOfPayments - 1) * 2); // 2 months
break;
case PaymentFrequency.Monthly:
LastPaymentDate = FirstPaymentDate.AddMonths(NumberOfPayments - 1);
break;
// add days...
case PaymentFrequency.EveryFourthWeek:
LastPaymentDate = FirstPaymentDate.AddDays((NumberOfPayments - 1) * 4 * 7); // 4 weeks (1 week = 7 days)
break;
case PaymentFrequency.SemiMonthly:
// NOTE: how many days in semi month? AddMonths (0.5) does not work :)
LastPaymentDate = FirstPaymentDate.AddMonths((NumberOfPayments - 1) * 0.5); // 2 weeks (1 week = 7 days)
break;
case PaymentFrequency.BiWeekly:
LastPaymentDate = FirstPaymentDate.AddDays((NumberOfPayments - 1) * 2 * 7); // 2 weeks (1 week = 7 days)
break;
case PaymentFrequency.Weekly:
LastPaymentDate = FirstPaymentDate.AddDays((NumberOfPayments - 1) * 7); // 1 week (1 week = 7 days)
break;
case PaymentFrequency.None:
default:
throw new ArgumentException("Payment frequency is not initialized to valid value!", "paymentFrequency");
}
तो, कितने दिन/महीने मैं जब दो हफ़्ते का उपयोग करते हुए इस्तेमाल करना चाहिए? क्या यह हर महीने के लिए सटीक # दिनों के बिना भी संभव है? या यह वास्तव में सरल है, और मैंने सिर्फ कैफीन से बाहर भाग लिया है और मैं पेड़ों के लिए जंगल नहीं देख रहा हूं :)
सेमी-मासिक के लिए आपकी व्यावसायिक आवश्यकता क्या है? हर महीने कौन सा दो दिन? क्या वे तय हैं? या बस हमेशा 2 अलग-अलग दिन 15 दिन अलग (यानी।2 और 17, 3 और 18, 4 और 1 9, 5 और 20, आदि) –
@ जेम्स माइकल हारे प्रश्न के लिए 1 और 16 वें कहते हैं। मुझे लगता है कि मुझे पता है कि यह कहां जा रहा है ... – zam6ak
और क्या आप जानते हैं कि आपका पहला भुगतान महीना हमेशा सही ढंग से 1 पर गिर जाएगा? –