private User GetFitBitData(User user) { FitBitClient client = new FitBitClient(Request.Url, HttpContext.Session.SessionID); string content = client.GetProfile(); if (client.isAuthorizated()) { var feedDocument = XDocument.Parse(content); var userXml = feedDocument.Element("result").Element("user"); var fitBitId = userXml.Element("encodedId").Value; //Get data from FitBit user.userId = WebSecurity.GetUserId(User.Identity.Name); user.City = userXml.Element("city").Value; user.FitBitEncodedID = userXml.Element("encodedId").Value; user.DisplayName = userXml.Element("displayName").Value; user.FullName = userXml.Element("fullName").Value; user.City = userXml.Element("city").Value; user.State = "WA"; user.DistanceUnit = userXml.Element("distanceUnit").Value; user.Gender = userXml.Element("gender").Value; user.Avatar = userXml.Element("avatar").Value; user.Height = userXml.Element("height").Value; user.WeightFitBit = userXml.Element("weight").Value; //GET Calories var data = client.GetCalories(); var collection = new List<Calories>(); user.CaloriesList = collection; foreach (KeyValuePair<string, int> kvp in data) { Calories Calories = new Calories(); Calories.date = kvp.Key; Calories.value = kvp.Value; user.CaloriesList.Add(Calories); } user.ActualCalories = data.Values[data.Count - 1]; user = GetCaloriesImage(user); //GET MinutesAsSleep var dataMinutesAsSleep = client.GetMinutesAsSleep(); var collectionMinutesAsSleep = new List<MinutesAsSleep>(); user.MinutesAsSleepList = collectionMinutesAsSleep; foreach (KeyValuePair<string, int> kvp in dataMinutesAsSleep) { MinutesAsSleep MinutesAsSleep = new MinutesAsSleep(); MinutesAsSleep.date = kvp.Key; MinutesAsSleep.value = kvp.Value; user.MinutesAsSleepList.Add(MinutesAsSleep); } user.ActualMinutesAsSleep = dataMinutesAsSleep.Values[dataMinutesAsSleep.Count - 1]; user = GetMinutesAsSleepImage(user); //GET TotalNumberOfSteps var dataTotalNumberOfSteps = client.GetTotalNumberOfSteps(); var collectionTotalNumberOfSteps = new List<TotalNumberOfSteps>(); user.TotalNumberOfStepsList = collectionTotalNumberOfSteps; foreach (KeyValuePair<string, int> kvp in dataTotalNumberOfSteps) { TotalNumberOfSteps TotalNumberOfSteps = new TotalNumberOfSteps(); TotalNumberOfSteps.date = kvp.Key; TotalNumberOfSteps.value = kvp.Value; user.TotalNumberOfStepsList.Add(TotalNumberOfSteps); } user.ActualTotalNumberOfSteps = dataTotalNumberOfSteps.Values[dataTotalNumberOfSteps.Count - 1]; user = GetTotalNumberOfStepsImage(user); //GET TotalFloorsClimbled var dataTotalFloorsClimbled = client.GetTotalFloorsClimbled(); var collectionTotalFloorsClimbled = new List<TotalFloorsClimbled>(); user.TotalFloorsClimbledList = collectionTotalFloorsClimbled; foreach (KeyValuePair<string, int> kvp in dataTotalFloorsClimbled) { TotalFloorsClimbled TotalFloorsClimbled = new TotalFloorsClimbled(); TotalFloorsClimbled.date = kvp.Key; TotalFloorsClimbled.value = kvp.Value; user.TotalFloorsClimbledList.Add(TotalFloorsClimbled); } user.ActualTotalFloorsClimbled = dataTotalFloorsClimbled.Values[dataTotalFloorsClimbled.Count - 1]; user = GetTotalFloorsClimbledImage(user); user.HasFitBitData = true; db.SaveChanges(); return user; } else { Response.Redirect(content); return user; } }
private User GetFitBitData(User user) { FitBitClient client = new FitBitClient(Request.Url, HttpContext.Session.SessionID); string content = client.GetProfile(); if (client.isAuthorizated()) { var feedDocument = XDocument.Parse(content); var userXml = feedDocument.Element("result").Element("user"); var fitBitId = userXml.Element("encodedId").Value; //Get data from FitBit user.userId = WebSecurity.GetUserId(User.Identity.Name); user.City = userXml.Element("city").Value; user.FitBitEncodedID = userXml.Element("encodedId").Value; user.DisplayName = userXml.Element("displayName").Value; user.FullName = userXml.Element("fullName").Value; user.City = userXml.Element("city").Value; user.State = "WA"; user.DistanceUnit = userXml.Element("distanceUnit").Value; user.Gender = userXml.Element("gender").Value; user.Avatar = userXml.Element("avatar").Value; user.Height = userXml.Element("height").Value; user.WeightFitBit = userXml.Element("weight").Value; //GET Calories var data = client.GetCalories(); var collection = new List <Calories>(); user.CaloriesList = collection; foreach (KeyValuePair <string, int> kvp in data) { Calories Calories = new Calories(); Calories.date = kvp.Key; Calories.value = kvp.Value; user.CaloriesList.Add(Calories); } user.ActualCalories = data.Values[data.Count - 1]; user = GetCaloriesImage(user); //GET MinutesAsSleep var dataMinutesAsSleep = client.GetMinutesAsSleep(); var collectionMinutesAsSleep = new List <MinutesAsSleep>(); user.MinutesAsSleepList = collectionMinutesAsSleep; foreach (KeyValuePair <string, int> kvp in dataMinutesAsSleep) { MinutesAsSleep MinutesAsSleep = new MinutesAsSleep(); MinutesAsSleep.date = kvp.Key; MinutesAsSleep.value = kvp.Value; user.MinutesAsSleepList.Add(MinutesAsSleep); } user.ActualMinutesAsSleep = dataMinutesAsSleep.Values[dataMinutesAsSleep.Count - 1]; user = GetMinutesAsSleepImage(user); //GET TotalNumberOfSteps var dataTotalNumberOfSteps = client.GetTotalNumberOfSteps(); var collectionTotalNumberOfSteps = new List <TotalNumberOfSteps>(); user.TotalNumberOfStepsList = collectionTotalNumberOfSteps; foreach (KeyValuePair <string, int> kvp in dataTotalNumberOfSteps) { TotalNumberOfSteps TotalNumberOfSteps = new TotalNumberOfSteps(); TotalNumberOfSteps.date = kvp.Key; TotalNumberOfSteps.value = kvp.Value; user.TotalNumberOfStepsList.Add(TotalNumberOfSteps); } user.ActualTotalNumberOfSteps = dataTotalNumberOfSteps.Values[dataTotalNumberOfSteps.Count - 1]; user = GetTotalNumberOfStepsImage(user); //GET TotalFloorsClimbled var dataTotalFloorsClimbled = client.GetTotalFloorsClimbled(); var collectionTotalFloorsClimbled = new List <TotalFloorsClimbled>(); user.TotalFloorsClimbledList = collectionTotalFloorsClimbled; foreach (KeyValuePair <string, int> kvp in dataTotalFloorsClimbled) { TotalFloorsClimbled TotalFloorsClimbled = new TotalFloorsClimbled(); TotalFloorsClimbled.date = kvp.Key; TotalFloorsClimbled.value = kvp.Value; user.TotalFloorsClimbledList.Add(TotalFloorsClimbled); } user.ActualTotalFloorsClimbled = dataTotalFloorsClimbled.Values[dataTotalFloorsClimbled.Count - 1]; user = GetTotalFloorsClimbledImage(user); user.HasFitBitData = true; db.SaveChanges(); return(user); } else { Response.Redirect(content); return(user); } }