/// <summary> /// Transfer page areas data from passed month page /// </summary> /// <param name="transferDataModel">Transfer data model</param> /// <param name="monthPage">Month page</param> public void MergePageAreas(PageAreaTransferSettings transferDataModel, MonthPage monthPage) { Guard.Against.Null(transferDataModel, nameof(transferDataModel)); Guard.Against.Null(monthPage, nameof(monthPage)); monthPage.TransferAreasIfNecessary(transferDataModel, this); }
/// <summary> /// Creates new month page for next month /// </summary> /// <param name="transferDataModel">Model that represents which page areas need to be transferred</param> public MonthPage TransferDataToNextMonth(PageAreaTransferSettings transferDataModel) { Guard.Against.Null(transferDataModel, nameof(transferDataModel)); var(year, month) = GetNextPageDate(); var nextPage = new MonthPage(year, month, User); //initialize only non transferring areas nextPage.DesiresArea = new DesiresArea(nextPage, !transferDataModel.TransferDesiresArea); nextPage.GoalsArea = new GoalsArea(nextPage, !transferDataModel.TransferGoalsArea); nextPage.PurchasesArea = new PurchasesArea(nextPage, !transferDataModel.TransferPurchasesArea); nextPage.IdeasArea = new IdeasArea(nextPage, !transferDataModel.TransferIdeasArea); TransferAreasIfNecessary(transferDataModel, nextPage); return(nextPage); }
private void TransferAreasIfNecessary(PageAreaTransferSettings transferDataModel, MonthPage nextPage) { nextPage.GoalsArea.TransferAreaDataIfNeeded(transferDataModel, GoalsArea); nextPage.DesiresArea.TransferAreaDataIfNeeded(transferDataModel, DesiresArea); nextPage.PurchasesArea.TransferAreaDataIfNeeded(transferDataModel, PurchasesArea); nextPage.IdeasArea.TransferAreaDataIfNeeded(transferDataModel, IdeasArea); }