public void EditQuestion(TQuestion model) { try { using (var dbContext = new QuestionsDBEntities()) { var modelToUpdate = dbContext.TQuestions.Include(x => x.TChoices).SingleOrDefault(x => x.ID == model.ID); modelToUpdate.Question = model.Question; modelToUpdate.Image_url = model.Image_url; modelToUpdate.Thumb_url = model.Thumb_url; modelToUpdate.Published_at = model.Published_at; var index = Math.Min(model.TChoices.Count(), modelToUpdate.TChoices.Count()); for (int i = 0; i < index; i++) { modelToUpdate.TChoices.ElementAt(i).Choice = model.TChoices.ElementAt(i).Choice; modelToUpdate.TChoices.ElementAt(i).Votes = model.TChoices.ElementAt(i).Votes; } dbContext.SaveChanges(); } } catch (Exception exception) { log.Error(exception); } }
public QuestionViewModel EntityToViewModel(TQuestion entity) { try { var viewModel = new QuestionViewModel(); if (entity != null) { viewModel.ID = entity.ID; viewModel.Question = entity.Question; viewModel.Image_url = entity.Image_url; viewModel.Thumb_url = entity.Thumb_url; viewModel.Published_at = entity.Published_at; foreach (var item in entity.TChoices.ToList()) { viewModel.Choices.Add(new ChoiceModel(item.Choice, item.Votes)); } } return(viewModel); } catch (Exception exception) { log.Error(exception); return(new QuestionViewModel()); } }
public TQuestion ViewModelToEntity(QuestionViewModel viewModel) { try { var entity = new TQuestion(); if (viewModel != null) { entity.ID = viewModel.ID; entity.Question = viewModel.Question; entity.Image_url = viewModel.Image_url; entity.Thumb_url = viewModel.Thumb_url; entity.Published_at = viewModel.Published_at; foreach (var item in viewModel.Choices.ToList()) { entity.TChoices.Add(new TChoice() { FK_TQuestion_ID = entity.ID, Choice = item.Choice, Votes = item.Votes }); } } return(entity); } catch (Exception exception) { log.Error(exception); return(new TQuestion()); } }
public int CreateQuestion(TQuestion model) { try { using (var dbContext = new QuestionsDBEntities()) { dbContext.TQuestions.Add(model); dbContext.SaveChanges(); return(model.ID); } } catch (Exception exception) { log.Error(exception); return(-1); } }