private void SaveCollectiveAgreement() { // Add the predefined rates to the collective agreements rate list ColAgreement.Rates.Add(ChildIllnessRate); ColAgreement.Rates.Add(DisplacedTimeRate); ColAgreement.Rates.Add(PaidLeaveInRate); ColAgreement.Rates.Add(PaidLeaveOutRate); ColAgreement.Rates.Add(HolidayRate); ColAgreement.Rates.Add(HolidayFreeRate); ColAgreement.Rates.Add(ShDayRate); ColAgreement.Rates.Add(IllnessRate); ColAgreement.Rates.Add(DietRate); ColAgreement.Rates.Add(LogiRate); ColAgreement.Rates.Add(KørselRate); ColAgreement.Rates.Add(NormRate); // Open db connection and add rates to db using (var ctx = new Database()) { // Iterate through all rates in RateEntries foreach (AddRateViewModel rate in RateEntries.ToList()) { if (rate.Rate.EndTime < rate.Rate.StartTime && rate.Rate.EndTime != new DateTime()) { // Creation and adding of extra rates Rate Rate = rate.Rate; Rate extraRate = new Rate { Name = Rate.Name, VismaID = Rate.VismaID, StartTime = new DateTime(), EndTime = Rate.EndTime, RateValue = Rate.RateValue, CollectiveAgreementID = Rate.CollectiveAgreementID, DaysPeriod = Rate.DaysPeriod, SaveAsMoney = Rate.SaveAsMoney, Type = Rate.Type }; ColAgreement.Rates.Add(extraRate); // Adding the original Rate.EndTime = new DateTime(1, 1, 1, 23, 59, 0); ColAgreement.Rates.Add(Rate); } else { if (rate.Rate.StartTime != new DateTime() && rate.Rate.EndTime == new DateTime()) { rate.Rate.EndTime = new DateTime(1, 1, 1, 23, 59, 0); } ColAgreement.Rates.Add(rate.Rate); } } ctx.CollectiveAgreements.Add(ColAgreement); ctx.SaveChanges(); } _agreementViewModel.Svm.BtnAgreements(); }
public void BtnAddRatesToCA() { RateEntries.Add(new AddRateViewModel(this, false, true, true, true, true, true, true)); }