public override Model.Cache DoControl(Interface.IView iview, Interface.IController controller) { // Important if controller not should depend to implement stuff through IView view = iview as View.Member; if (controller.Cache.getCrudModeInCache() != Model.Cache.crudMode.Stateless) { // Ok. It's time for crudding. We prepare... // Member to use in all cases. Do not create more than one // Easier to maintain. member = new Model.Member(); switch (controller.Cache.getCrudModeInCache()) { // start region >>>>> // C R U D : : : : : C R U D : : : : : C R U D : : : : : C R U D : : : : : C R U D : : : : : C R U D : : : //- - - - c r e a t e case Model.Cache.crudMode.Create: menuSwitcher(view, controller); // Creates and validates MemberCreator(true, true, true); MemberHasSucessfullyBeenCreatedButNowWeNeedToAskClienAboutCachingUpdates(); return prepareNewCacheFromMenuMember(); // C R U D : : : : : C R U D : : : : : C R U D : : : : : C R U D : : : : : C R U D : : : : : C R U D : : : //- - - - - - r e a d case Model.Cache.crudMode.Read: menuSwitcher(view, controller); // An existing Member is cachded in Cache.CachedMemberCatalog // Member has uniqueness regarding personal number. Qlient get's question for SSN... ClientResponse = view.getResponse(View.Member.NormalMessageFAQNeedSSN, true); getMemberBySSN(true); // Menu ClientDidChooseAndNowSystemNeedsThisMethodForDecideWhatToPresentNext(); return prepareNewCacheFromMenuMember(); // C R U D : : : : : C R U D : : : : : C R U D : : : : : C R U D : : : : : C R U D : : : : : C R U D : : : // - - - -u p d a t e case Model.Cache.crudMode.Update: menuSwitcher(view, controller); ClientResponse = view.getResponse(View.Member.NormalMessageFAQNeedSSN, true); getMemberBySSN(true); // Update firsname and lastname. Leaves SSN untouched :) MemberCreator ( view.clientAnsweredYes(view.getResponse(view.DoYouReallyWantToUpdate(View.Member.WarningMessageUpdateMemberField, Model.FieldInModelMember.firsName, member), true)), view.clientAnsweredYes(view.getResponse(view.DoYouReallyWantToUpdate(View.Member.WarningMessageUpdateMemberField, Model.FieldInModelMember.lastName, member), true)), false ); Cache.setCrudModeInCache(Model.Cache.crudMode.Stateless); return prepareNewCacheFromMenuMember(); // C R U D : : : : : C R U D : : : : : C R U D : : : : : C R U D : : : : : C R U D : : : : : C R U D : : : //- - - - d e l e t e case Model.Cache.crudMode.Delete: menuSwitcher(view, controller); ClientResponse = view.getResponse(View.Member.NormalMessageFAQNeedSSN, true); getMemberBySSN(true); DeleteMemberBySSN(true); Cache.setCrudModeInCache(Model.Cache.crudMode.Stateless); return prepareNewCacheFromMenuMember(); // C R U D : : : : : C R U D : : : : : C R U D : : : : : C R U D : : : : : C R U D : : : : : C R U D : : : // <<<<< end region default: throw new ApplicationException("Something weird. What happened. C-R-U-D is all we need here..."); } } else { menuSwitcher(view, controller); ClientResponse = view.getResponse(); SelectedInMenuMember = (Model.Cache.menuMember)int.Parse(ClientResponse); return prepareNewCacheFromMenuMember(); } }
public Member() { // Interface cast to appropirate Member view = new View.Member(); }