public RestAPIArchiveIdeaResponse ArchiveIdea(RestAPIArchiveIdeaRequest req)
        {
            RestAPIArchiveIdeaResponse response = new RestAPIArchiveIdeaResponse();

            submitIdeaUtil.ArchiveIdea(response, UserID, req.IdeaId, req.Description, req.IsArchive);

            return(response);
        }
        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);
            }
        }