public void AddValue(DateTime Date, SteamStatus Status) { if (Status != previousAddition) { switch (previousAddition) { case SteamStatus.InGame: InGameValues.Add(new DateModel { DateTime = Date, Value = 4 }); InGameValues.Add(new DateModel { DateTime = Date, Value = Double.NaN }); break; case SteamStatus.Online: OnlineValues.Add(new DateModel { DateTime = Date, Value = 3 }); OnlineValues.Add(new DateModel { DateTime = Date, Value = Double.NaN }); break; case SteamStatus.Away: AwayValues.Add(new DateModel { DateTime = Date, Value = 2 }); AwayValues.Add(new DateModel { DateTime = Date, Value = Double.NaN }); break; case SteamStatus.Snooze: SnoozeValues.Add(new DateModel { DateTime = Date, Value = 1 }); SnoozeValues.Add(new DateModel { DateTime = Date, Value = Double.NaN }); break; case SteamStatus.Offline: OfflineValues.Add(new DateModel { DateTime = Date, Value = 0 }); OfflineValues.Add(new DateModel { DateTime = Date, Value = Double.NaN }); break; } previousAddition = Status; } switch (Status) { case SteamStatus.InGame: InGameValues.Add(new DateModel { DateTime = Date, Value = 4 }); break; case SteamStatus.Online: OnlineValues.Add(new DateModel { DateTime = Date, Value = 3 }); break; case SteamStatus.Away: AwayValues.Add(new DateModel { DateTime = Date, Value = 2 }); break; case SteamStatus.Snooze: SnoozeValues.Add(new DateModel { DateTime = Date, Value = 1 }); break; case SteamStatus.Offline: OfflineValues.Add(new DateModel { DateTime = Date, Value = 0 }); break; } }
public IHttpActionResult PostOnlineQuestion(QuestionDTO question) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (question == null) { return(NotFound()); } if (question.Id != null) { var onQ = db.OnlineQuestion.Find(question.Id); if (question.type != "text" && question.type != "textarea") { onQ.is_required = question.required; onQ.question_desc = question.description; onQ.question_text = question.title; onQ.question_type = question.type; List <OnlineValues> listToDelete = db.OnlineValues.Where(x => x.question_id == question.Id).ToList(); foreach (var val in listToDelete) { db.OnlineValues.Remove(val); } db.SaveChanges(); foreach (var val in question.values) { var newVal = new OnlineValues { Value = val, OnlineQuestion = onQ }; db.OnlineValues.Add(newVal); } db.SaveChanges(); } else { if (question.values != null) { List <OnlineValues> listToDelete = db.OnlineValues.Where(x => x.question_id == question.Id).ToList(); foreach (var val in listToDelete) { db.OnlineValues.Remove(val); } db.SaveChanges(); } onQ.is_required = question.required; onQ.question_desc = question.description; onQ.question_text = question.title; onQ.question_type = question.type; } db.Entry(onQ).State = EntityState.Modified; db.SaveChanges(); return(Ok(onQ)); } else { if (question.type != "text" && question.type != "textarea") { var newQ = new OnlineQuestion { question_desc = question.description, question_text = question.title, question_type = question.type, is_required = question.required, id_online_survey = question.survey_id }; db.OnlineQuestion.Add(newQ); db.SaveChanges(); //List<OfflineValues> listToDelete = db.OfflineValues.Where(x => x.question_id == question.Id).ToList(); //foreach(var val in listToDelete) //{ // db.OfflineValues.Remove(val); //} //db.SaveChanges(); foreach (var val in question.values) { var newVal = new OnlineValues { Value = val, OnlineQuestion = newQ }; db.OnlineValues.Add(newVal); } db.SaveChanges(); } else { var newQ = new OnlineQuestion { question_desc = question.description, question_text = question.title, question_type = question.type, is_required = question.required, id_online_survey = question.survey_id }; db.OnlineQuestion.Add(newQ); } db.SaveChanges(); return(Ok()); } }