Example #1
0
            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());
            }
        }