Problem : How does pro rate work for rental.
*Note : Its different from all company.
There are 6 Condition will hit when u do pro rate calculation
1. Rental Start <= Charge Start, Rental Start < Rental End < Charge End.
2. Rental End> Rental Start < Charge End., Rental End >= Charge End.
3. Rental Start <= Charge Start, Rental End >= Charge End.
4. Rental Start > Charge Start, Rental End < Charge End.
5. Rental Start < Charge Start, Rental End = Charge End.
6. Rental Start = Rental End.
Int32 DropdownMonth = 8;
Int32 DropdownYear = 2013;
int32 DaysActualPerMonth = 0;
int32 DaysPerMonth = 0;
// Eg. August bill September Rental
Int32 DaysInMonth = DateTime.DaysInMonth(DropdownYear, DropdownMonth + 1);
DateTime FirstDayOfTheMonth = GetFirstDayOfMonth(DropdownYear, DropdownMonth + 1);
DateTime LastDayOfTheMonth = GetLastDayOfMonth(DropdownYear, DropdownMonth + 1);
DateTime RentalCommenceDate = RentalCostCommenceDate; //Get Rental Commence Date
DateTime RentalDueDate = RentalCostDueDate; // Get Rental Due Date
//ParameterSetDateTime; Equal to previous generation date. May bill invoice date = Invoice date (June Date)
if (RentalCommenceDate <= FirstDayOfTheMonth && RentalDueDate > RentalCommenceDate && RentalDueDate < LastDayOfTheMonth)
{
//Return Partial Rental Amount (A)
DaysActualPerMonth = DaysInMonth;
DaysPerMonth = GetDaysBetweenDates(FirstDayOfTheMonth, RentalDueDate) + 1;
}
else if (RentalCommenceDate > FirstDayOfTheMonth && RentalCommenceDate < LastDayOfTheMonth && RentalDueDate >= LastDayOfTheMonth)
{
//Return Partial Rental Amount (B)
DaysActualPerMonth = DaysInMonth;
DaysPerMonth = GetDaysBetweenDates(RentalCommenceDate, LastDayOfTheMonth) + 1;
}
else if (RentalCommenceDate <= FirstDayOfTheMonth && RentalDueDate >= LastDayOfTheMonth)
{
//Return Full Rental Amount (C)
DaysActualPerMonth = DaysInMonth;
DaysPerMonth = DaysInMonth;
}
else if (RentalCommenceDate > FirstDayOfTheMonth && RentalDueDate > RentalCommenceDate && RentalDueDate < LastDayOfTheMonth)
{
//Return Partial Rental Amount (D)
DaysActualPerMonth = DaysInMonth;
DaysPerMonth = GetDaysBetweenDates(RentalCommenceDate, RentalDueDate) + 1;
}
else if (RentalCommenceDate < FirstDayOfTheMonth && RentalDueDate > RentalCommenceDate && RentalDueDate == LastDayOfTheMonth)
{
//Return Partial Rental Amount (E)
DaysActualPerMonth = DaysInMonth;
DaysPerMonth = 1;
}
else if (RentalCommenceDate == RentalDueDate)
{
//Return Partial Rental Amount = One Day Rental (F)
DaysActualPerMonth = DaysInMonth;
DaysPerMonth = 1;
}
else
{
//Nothing
}
Pro Rate Calculation (Rental And Service Cost)
0 commentsPosted by Unknown at 8/30/2013 12:16:00 pm
Labels: ASP.net C#, C#, CRM 2011, Javascript
C# Set DateTime Variables Time to Default Time (12:00:00:00)
0 commentsTo Standardize the Time for all DateTime Value.
String NewRentalCommenceDate = RentalCommenceDate.ToShortDateString();
RentalCommenceDate = Convert.ToDateTime(NewRentalCommenceDate);
String NewRentalDueDate = RentalDueDate.ToShortDateString();
RentalDueDate = Convert.ToDateTime(NewRentalDueDate);
Posted by Unknown at 8/30/2013 11:54:00 am
Labels: ASP.net C#, C#
C# Get 1 Day of The Month And Last Day of The Month
0 commentsProblem : Getting first and last day of the month.
Solution :
// Get Last Day Of The Month
public static DateTime GetLastDayOfMonth(int year, int month)
{
return new DateTime(year, month, DateTime.DaysInMonth(year, month));
}
// Get 1 Day Of The Month
public static DateTime GetFirstDayOfMonth(int year, int month)
{
return new DateTime(year, month, 1);
}
Posted by Unknown at 8/30/2013 11:46:00 am
Labels: ASP.net C#, C#
C# Get Duration of Days Between 2 Dates
0 commentsProblem : How to get duration of days between two dates.
Solution :
// Get Date Between Two Dates
private int GetDaysBetweenDates(DateTime firstDate, DateTime secondDate)
{
return secondDate.Subtract(firstDate).Days;
}
Posted by Unknown at 8/30/2013 11:45:00 am
Labels: ASP.net C#, C#
C# Get Week Number In Year
0 commentsProblem : How do I get number of week per year.
Solution :
// Get Num Of Week Per Year
public static int Iso8601WeekNumber(DateTime dt)
{
System.Globalization.CultureInfo ci = System.Threading.Thread.CurrentThread.CurrentCulture;
int weekNumOnMonth = ci.Calendar.GetWeekOfYear(dt, ci.DateTimeFormat.CalendarWeekRule, ci.DateTimeFormat.FirstDayOfWeek);
return weekNumOnMonth;
}
Reference:
using System.Globalization;
Posted by Unknown at 8/30/2013 11:43:00 am
Labels: ASP.net C#, C#
C# Get Week Number In Month
0 commentsProblem : How do I get number of week per month for the particular date?
Solution :
// Get Num of Week Per Month
public static int GetWeekInMonth(DateTime date)
{
DateTime tempdate = date.AddDays(-date.Day + 1);
CultureInfo ciCurr = CultureInfo.CurrentCulture;
int weekNumStart = ciCurr.Calendar.GetWeekOfYear(tempdate, CalendarWeekRule.FirstFourDayWeek, ciCurr.DateTimeFormat.FirstDayOfWeek);
int weekNum = ciCurr.Calendar.GetWeekOfYear(date, CalendarWeekRule.FirstFourDayWeek, ciCurr.DateTimeFormat.FirstDayOfWeek);
return weekNum - weekNumStart + 1;
}
Reference :
using System.Globalization;
Posted by Unknown at 8/30/2013 11:40:00 am
Labels: ASP.net C#, C#