private bool TryCreateNewPetDbRecord(NopePet requestData, out IResponse response)
        {
            var newPet = requestData.ToNewPetModel();

            ErrorMessage errorMessage;

            if (!_petPersister.TryPersist(ref newPet, out errorMessage))
            {
                response = new UserSessionPetResponse().SetErrorResponse(errorMessage);
                return(false);
            }

            return(TryCreateNewPetMetricsDbRecord(ref newPet, out response));
        }
Beispiel #2
0
        public UserSessionPetResponse GetMyPets(int userId)
        {
            var sessionRequest = new UserSessionRequest <IUserSessionData>()
            {
                RequestType = RequestType.Read
            };
            var userSessionState = _state.GetUserSession(userId);

            if (userSessionState == null)
            {
                var response = new UserSessionPetResponse();
                return((UserSessionPetResponse)response.SetErrorResponse(new ErrorMessage(ErrorCode.UserSessionNotFound)));
            }
            {
                IResponse response;
                userSessionState.ProcessRequest(sessionRequest, out response);
                return((UserSessionPetResponse)response);
            }
        }
        private bool TryCreateNewPetMetricsDbRecord(ref Pet newPet, out IResponse response)
        {
            var nopePet   = _userSessionBuilder.CreatePet(newPet, _user);
            var petName   = newPet.Name;
            var petVitals = nopePet.First(pet => pet.PetName == petName).PetHealth;

            foreach (var petVital in petVitals)
            {
                var          newPetVitals = petVital.ToPetMetricModel();
                ErrorMessage errorMessage;
                if (!_petMetricPersister.TryPersist(ref newPetVitals, out errorMessage))
                {
                    response = new UserSessionPetResponse().SetErrorResponse(errorMessage);
                    return(false);
                }
            }
            response = new UserSessionPetResponse().SetSuccessResponse(nopePet);
            return(true);
        }
Beispiel #4
0
        public UserSessionPetResponse PetRegistrationForm()
        {
            var response = new UserSessionPetResponse();

            return(response.SetSuccessResponse(NopePet.Empty));
        }