partial void DeleteContributionSchedule(ContributionSchedule instance);
partial void UpdateContributionSchedule(ContributionSchedule instance);
private void detach_ContributionSchedules(ContributionSchedule entity) { this.SendPropertyChanging(); entity.Investment = null; }
partial void InsertContributionSchedule(ContributionSchedule instance);
public static void GenerateContributionSchedule(int months, RepaymentFrequency repaymentFrequency, Investment currentLoan) { using (FinanceManagerDataContext db = new FinanceManagerDataContext()) { decimal repaymentIntervals = (decimal)(currentLoan.MaturityDate.Value.Date - currentLoan.InvestmentCalculationStartDate.Value).Days / (repaymentFrequency.ConversionUnit.Value * (decimal)months); DateTime tempScheduleDate = currentLoan.InvestmentCalculationStartDate.Value; DateTime tempDate = currentLoan.InvestmentCalculationStartDate.Value; CompanyProfile cProfile = db.CompanyProfiles.FirstOrDefault(); decimal balance = 0; for (decimal i = 0; i < Math.Round((currentLoan.MaturityDate.Value - currentLoan.InvestmentCalculationStartDate.Value).Days / repaymentIntervals, MidpointRounding.AwayFromZero); i++) { tempScheduleDate = tempDate = tempDate.AddDays((int)repaymentIntervals); if (tempScheduleDate.DayOfWeek == DayOfWeek.Sunday) { tempScheduleDate = tempScheduleDate.AddDays(1); } else if (tempScheduleDate.DayOfWeek == DayOfWeek.Saturday) { tempScheduleDate = tempScheduleDate.AddDays(2); } //decimal totalAmountContributed = db.Contributions.Where<Contribution>(cont => cont.InvestmentId == currentLoan.InvestmentID).Sum<Contribution>(c => c.ContributionAmount).Value; //update balance balance += currentLoan.ContributionFreqAmount.Value; var _contributionSchedule = new ContributionSchedule() { IsContributionMade = false, ExpectedContributionAmount = currentLoan.ContributionFreqAmount, InvestmentId = currentLoan.InvestmentID, ContributionDate = tempScheduleDate, Balance = balance }; db.SubmitChanges(); db.ContributionSchedules.InsertOnSubmit(_contributionSchedule); //audit Utils.logAction("Insert", _contributionSchedule); } //DateTime.Now.Month } }