public void AddIdeaArchiveHistory(IIdeaDatabaseDataContext dc, IdeaArchiveHistory ideaArchiveHistory)
 {
     if (ideaArchiveHistory != null)
     {
         dc.IdeaArchiveHistories.Add(ideaArchiveHistory);
     }
 }
        public void ArchiveIdea(RestAPIArchiveIdeaResponse response, int UserID, int IdeaId, string Description, bool isArchive = false)
        {
            IdeaArchiveHistory ideaArchiveHistory = null;

            DatabaseWrapper.databaseOperation(response,
                                              (context, query) =>
            {
                Idea idea = query.GetIdeaArchive(context, IdeaId);

                if (idea != null)
                {
                    idea.IsActive      = !isArchive;
                    ideaArchiveHistory = new IdeaArchiveHistory()
                    {
                        IdeaId = IdeaId, Description = Description, UserId = UserID, ArchiveDate = DateTime.UtcNow
                    };

                    query.AddIdeaArchiveHistory(context, ideaArchiveHistory);
                    response.Status = Success;
                }
                else
                {
                    response.ErrorList.Add(Faults.IdeaNotFound);
                    response.Status = Failure;
                    return;
                }
                context.SubmitChanges();
            }
                                              , readOnly: false
                                              );

            if (response == null && response.ErrorList.Count != 0)
            {
                response.ErrorList.Add(Faults.ServerIsBusy);
            }
        }