public IPayDay GetPayDay(int recordId)
        {
            // guard clause - not found
            IPayDay payDay = PayDays.FirstOrDefault(pd => pd.RecordId == recordId);

            return(payDay);
        }
Beispiel #2
0
        public void AddPayDay(PayDayModel model)
        {
            PayDaySaveFacade facade = new PayDaySaveFacade();
            IPayDay          payDay = facade.Apply(model);

            PayDayService.AddPayDay(payDay);
        }
Beispiel #3
0
        public IPayDay GetPayDay(int recordId)
        {
            // guard clause - not found
            IPayDay payDayTobuild = Get <IPayDay>(recordId);

            return(payDayTobuild);
        }
Beispiel #4
0
        private PayDayModel CreateModel(IPayDay payday)
        {
            PayDayModel model = new PayDayModel();

            model.CopyFrom(payday);
            return(model);
        }
Beispiel #5
0
        public PayDayModel GetPayDay(int recordId)
        {
            PayDayModel model  = new PayDayModel();
            IPayDay     payDay = Service.GetPayDay(recordId);

            model.CopyFrom(payDay);
            return(model);
        }
Beispiel #6
0
        public void UpdatePayDay(PayDayModel model)
        {
            IPayDay payDay = Service.GetPayDay(model.RecordId);

            payDay.Date   = model.Date;
            payDay.Amount = model.Amount;
            Service.UpdatePayDay(payDay);
        }
Beispiel #7
0
 public PayPeriodBuilder(IPayDay payday, DateTime?nextPayDate)
 {
     Bills       = new List <IBill>();
     Expenses    = 0;
     NextPayDate = nextPayDate;
     PayDay      = payday;
     Service     = ServiceFactoryProxy.Singleton.ServiceFactory.CreateAccountService();
     StartDate   = payday.Date;
     Surplus     = payday.Amount;
 }
Beispiel #8
0
        public void AddPayDay(IPayDay payDay)
        {
            // guard clause - invalid input
            if (payDay == null)
            {
                return;
            }

            Save(payDay);
        }
Beispiel #9
0
        public void UpdatePayDay(IPayDay payDay)
        {
            // guard clause - invalid input
            if (payDay == null)
            {
                return;
            }

            Update(payDay);
        }
Beispiel #10
0
        private void CreateBuilder(IPayDay payDay)
        {
            if (PayDays[0].RecordId == payDay.RecordId)
            {
                Builders.Add(new PayPeriodBuilder(payDay, null));
                return;
            }

            int previousItem = PayDays.FindIndex(pd => pd.RecordId == payDay.RecordId) - 1;

            Builders.Add(new PayPeriodBuilder(payDay, PayDays[previousItem].Date));
        }
        public void DeletePayDay(int recordId)
        {
            // guard clause - not found
            IPayDay foundPayDay = PayDays.FirstOrDefault(pd => pd.RecordId == recordId);

            if (foundPayDay == null)
            {
                return;
            }

            PayDays.Remove(foundPayDay);
        }
        public void AddPayDay(IPayDay payDay)
        {
            // guard clause - invalid input
            if (payDay == null)
            {
                return;
            }

            payDay.RecordId = RecordIdGenerator;
            PayDays.Add(payDay);
            RecordIdGenerator++;
        }
Beispiel #13
0
        public void DeletePayDay(int recordId)
        {
            // guard clause - not found
            IPayDay foundPayDay = Get <IPayDay>(recordId);

            if (foundPayDay == null)
            {
                return;
            }

            Delete(foundPayDay);
        }
Beispiel #14
0
        public void TestBlueSky_GetPayDay()
        {
            // set-up
            IPayDay payDay = CreatePayDay();

            PayDayService.AddPayDay(payDay);

            // exercise
            IPayDay persistedPayDay = PayDayService.GetPayDay(payDay.RecordId);

            // post-conditions
            Assert.AreEqual(persistedPayDay, payDay);
        }
Beispiel #15
0
        public void TestNonBlueSky_AddInvalidPayDay()
        {
            // set-up
            IPayDay payDay = null;

            // pre-conditions
            Assert.AreEqual(0, PayDayService.GetPayDays().Length);

            // exercise
            PayDayService.AddPayDay(payDay);

            // post-conditions
            Assert.AreEqual(0, PayDayService.GetPayDays().Length);
        }
        public void TestBlueSky_Build_Deficit()
        {
            //set-up
            CreateAccounts();
            FirstPayDay           = CreatePayDay(new DateTime(2017, 05, 01), 0);
            SecondPayDay          = CreatePayDay(new DateTime(2017, 05, 05), 10);
            FirstPayPeriodBuilder = new PayPeriodBuilder(FirstPayDay, SecondPayDay.Date);

            //exercise
            FirstPayPeriodBuilder.Build();

            //post-conditions
            Assert.AreEqual(5, FirstPayPeriodBuilder.Deficit);
        }
Beispiel #17
0
        public void SavePayDay(PayDayModel model)
        {
            IPayDay          payDayExists = Service.GetPayDay(model.RecordId);
            PayDaySaveFacade facade       = new PayDaySaveFacade();

            if (payDayExists == null)
            {
                IPayDay payDay = facade.Apply(model);
                Service.AddPayDay(payDay);
                return;
            }

            payDayExists = facade.Apply(model, payDayExists);
            Service.UpdatePayDay(payDayExists);
        }
Beispiel #18
0
        public void TestBlueSky_DeletePayDay()
        {
            // set-up
            IPayDay payDay = CreatePayDay();

            PayDayService.AddPayDay(payDay);

            // pre-conditions
            Assert.AreEqual(1, PayDayService.GetPayDays().Length);

            // exercise
            PayDayService.DeletePayDay(payDay.RecordId);

            // post-conditions
            Assert.AreEqual(0, PayDayService.GetPayDays().Length);
        }
Beispiel #19
0
        public void TestBlueSky_UpdatePayDay()
        {
            // set-up
            IPayDay payDay = CreatePayDay();

            PayDayService.AddPayDay(payDay);

            IPayDay persistedPayDay = PayDayService.GetPayDay(payDay.RecordId);

            // exercise
            //            persistedPayDay.Period.EffectiveStartDate = new DateTime(2017, 04, 17);
            PayDayService.UpdatePayDay(persistedPayDay);

            // post-conditions
            Assert.AreEqual(persistedPayDay, payDay);
        }
        public void TestBlueSky_AddPayDay()
        {
            //set-up
            Model = CreatePayDayModel();
            IPayDay payDayShouldNotBeInDb = Service.GetPayDay(Model.RecordId);

            //Pre-condition
            Assert.IsNull(payDayShouldNotBeInDb);

            //exercise
            Presenter.SavePayDay(Model);
            IPayDay payDayShouldBeInDb = Service.GetPayDay(1);

            //post-condition
            Assert.IsNotNull(payDayShouldBeInDb);
        }
Beispiel #21
0
        public void TestNonBlueSky_UpdateWithInvalidPayDay()
        {
            // set-up
            IPayDay payDay = CreatePayDay();

            PayDayService.AddPayDay(payDay);

            IPayDay persistedPayDay = PayDayService.GetPayDay(payDay.RecordId);

            // exercise
            persistedPayDay = null;
            PayDayService.UpdatePayDay(persistedPayDay);

            // post-conditions
            Assert.AreNotEqual(persistedPayDay, payDay);
        }
        public void UpdatePayDay(IPayDay payDay)
        {
            // guard clause - invalid input
            if (payDay == null)
            {
                return;
            }

            IPayDay foundPayDay = PayDays.FirstOrDefault(pd => pd.RecordId == payDay.RecordId);

            if (foundPayDay == null)
            {
                return;
            }

            foundPayDay.Date   = payDay.Date;
            foundPayDay.Amount = payDay.Amount;
        }
 public virtual void AddPayDay(IPayDay payDay)
 {
     //Do Nothing
 }
 public virtual void UpdatePayDay(IPayDay payDay)
 {
     //Do Nothing
 }
Beispiel #25
0
 public void CopyFrom(IPayDay payDay)
 {
     Date     = payDay.Date;
     Amount   = payDay.Amount;
     RecordId = payDay.RecordId;
 }
 public IPayDay Apply(PayDayModel model, IPayDay payDay)
 {
     payDay.Date   = model.Date;
     payDay.Amount = model.Amount;
     return(payDay);
 }
Beispiel #27
0
 private void DeletePayDay(IPayDay payDay)
 {
     PayDayService.DeletePayDay(payDay.RecordId);
 }