示例#1
0
        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();
            }
        }
示例#2
0
 public Member()
 {
     // Interface cast to appropirate Member
     view = new View.Member();
 }