Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
 public void BtnAddRatesToCA()
 {
     RateEntries.Add(new AddRateViewModel(this, false, true, true, true, true, true, true));
 }