Пример #1
0
        public void AddLogMessage(LogMessage logMessage)
        {
            var person = _dbContext.People.Include(l => l.LogProfiles).FirstOrDefault(p => p.Email == logMessage.Email);
            if (person == null)
                throw new ArgumentException("person not found");

            var logProfile = person.LogProfiles.FirstOrDefault(p => p.GlobalId == logMessage.ProfileId);
            if (logProfile == null)
                throw new ArgumentException("logProfile not found");

            AddGlocoseLevel(logMessage, logProfile);
            AddTerapy(logMessage, logProfile);
            AddFood(logMessage, logProfile);
        }
Пример #2
0
        // POST api/log
        public HttpResponseMessage Post([FromBody]LogDto data)
        {
            try
            {
                var foodTypes = new StringBuilder(string.Empty);
                string foodTypesAsString = null;
                if (data.FoodTypes != null && data.FoodTypes.Any())
                {
                    foreach (var foodType in data.FoodTypes)
                    {
                        foodTypes.AppendFormat("{0},",foodType);
                    }
                    foodTypesAsString = foodTypes.ToString().Remove(foodTypes.ToString().LastIndexOf(','));
                }
                var logMessage = new LogMessage
                    {
                        Email = User.Identity.Name,
                        Value = data.Value,
                        Message = data.Message,
                        LogDate = data.LogDate,
                        ProfileId = data.ProfileId,
                        IsSlow = data.IsSlow,
                        TerapyValue = data.TerapyValue,
                        Calories = data.Calories,
                        FoodTypes = foodTypesAsString
                };

                _logManager.LogCommands.AddLogMessage(logMessage);
                _logManager.Save();
                data.GlobalId = logMessage.GlobalId;
                data.TerapyGlobalId = logMessage.TerapyGlobalId;
                return Request.CreateResponse(HttpStatusCode.Created, data);
            }
            catch (Exception ex)
            {
                return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.GetBaseException());
            }
        }
Пример #3
0
 private void AddFood(LogMessage logMessage, LogProfile logProfile)
 {
     if (logMessage.Calories <= 0) return;
     var newFoodId = Guid.NewGuid();
     var item = new Food
     {
         GlobalId = newFoodId,
         LogDate = logMessage.LogDate,
         LogProfile = logProfile,
         Message = logMessage.Message,
         Calories = logMessage.Calories,
         FoodTypes = logMessage.FoodTypes
     };
     _dbContext.Foods.Add(item);
 }
Пример #4
0
 private void AddTerapy(LogMessage logMessage, LogProfile logProfile)
 {
     if (logMessage.TerapyValue <= 0) return;
     var newTerapyId = Guid.NewGuid();
     var terapy = new Terapy
         {
             GlobalId = newTerapyId,
             IsSlow = logMessage.IsSlow,
             LogDate = logMessage.LogDate,
             LogProfile = logProfile,
             Message = logMessage.Message,
             Value = logMessage.TerapyValue
         };
     _dbContext.Terapies.Add(terapy);
     logMessage.TerapyGlobalId = newTerapyId;
 }
Пример #5
0
 private void AddGlocoseLevel(LogMessage logMessage, LogProfile logProfile)
 {
     if (logMessage.Value <= 0) return;
     var newLogId = Guid.NewGuid();
     var glucoseLevel = new GlucoseLevel
         {
             LogDate = logMessage.LogDate,
             Message = logMessage.Message,
             Value = logMessage.Value,
             GlobalId = newLogId,
             LogProfile = logProfile
         };
     _dbContext.GlucoseLevels.Add(glucoseLevel);
     logMessage.GlobalId = newLogId;
 }