public async Task LoadResponse(Mbes mbes)
        {
            response = await mbesService.GetResponseByMbesId(mbes.MbesId.Value);

            Logger.Debug(response);

            /*
             * response = new MbesResponse()
             * {
             *      ScaleValues = new System.Collections.Generic.List<int>() {
             *      0, 1, 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
             *      }
             * };
             */

            // get average scores
            Score score = new Score()
            {
                BingeScore    = GetBingeEatingAverageScore(),
                BulimiaScore  = GetBulimiaNervosaAverageScore(),
                AnorexiaScore = GetAnorexiaNervosaAverageScore()
            };

            // display the response with the scores
            view.DisplayResponse(response, score);
        }
Example #2
0
        public void LaunchViewResponse(Mbes mbes)
        {
            Logger.Log("LaunchViewResponse");
            //TODO Dito ung Pag view nung journal
            FragmentTransaction ft       = Activity.SupportFragmentManager.BeginTransaction();
            Fragment            fragment = new ClientViewResponseView(mbes);

            ft.Replace(Resource.Id.fragment_container, fragment);
            ft.AddToBackStack(null);
            ft.Commit();
        }
Example #3
0
        public async Task <int> AddMbes(Mbes mbes)
        {
            string url = ApiUri.AddClientMbes.ToUrl();

            var response = await httpService.PostReadResponse
                           <string, Mbes>(url, mbes);

            if (int.TryParse(response, out int mbesId))
            {
                return(mbesId);
            }

            return(-1);
        }
        public async Task AddClientMbesResponse(List <int> scaleValueList)
        {
            if (!CacheProvider.IsSet(CacheKey.LoggedClient))
            {
                // get client info given session username
                ClientSession cliSession = SessionFactory.ReadSession <ClientSession> (SessionKeys.LoggedClient);

                //TOdo show error, session has been lost login again
                if (cliSession == null || !cliSession.IsSet)
                {
                    return;
                }

                client = await cliService.GetClientByUsername(cliSession.Username);
            }
            else
            {
                client = CacheProvider.Get <Client> (CacheKey.LoggedClient);
            }

            // build the mbes response
            int clientId  = client.ClientId.GetValueOrDefault();
            int attemptId = ++client.MbesAttemptCount;

            client.MbesAllowAttempt = false;
            List <int> qids = Enumerable.Range(0, 21).ToList();

            // cm -> m
            float mheight = client.Height.Value / 100;

            // bmi = kg/m^2
            float bmi = client.Weight.Value / (mheight * mheight);

            //TODO UNG BMI
            Mbes mbes = new Mbes()
            {
                MbesClientId = clientId,
                Height       = client.Height,
                Weight       = client.Weight,
                BMI          = bmi,
                DateCreated  = DateTime.Now.Date
            };

            // save muna tong mbes
            // then get mbes id
            // then saka isend ung mbes response
            int mbesId = await mbesService.AddMbes(mbes);

            Logger.Log("MBES ID: " + mbesId);
            if (mbesId == -1)
            {
                return;
            }

            MbesResponse mbesResponse = new MbesResponse()
            {
                MbesResponseId = mbesId,
                AttemptId      = attemptId,
                QuestionIds    = qids,
                ScaleValues    = scaleValueList
            };

            // add an attempt count
            var countResponses = await cliService.AddMbesAttemptCount(client);

            // add the response to db
            var mbesResponses = await mbesService.AddClientMbesResponse(mbesResponse);

            CacheProvider.Set(CacheKey.LoggedClient, client);

            //TODO CHECK IF RESPONSE IS SUCCESSFUL
        }
 public ClientViewResponseView(Mbes mbes)
 {
     this.mbes = mbes;
 }
        public void ViewMbesClicked(object sender, int position)
        {
            Mbes m = mbes[position];

            view.LaunchViewResponse(m);
        }