// PUT: api/TagDocument/5
        public IHttpActionResult Put(string id)
        {
            OperationResult operationResult = new OperationResult();
            OperationResult getDocumentArchiveID = new OperationResult();

            DocumentsData documentsData = new DocumentsData();
            CopierData copierData = new CopierData();

            File.Copy(ConfigurationValues.ReviewDocumentPath + id
                , ConfigurationValues.PathToArchiveFolder + id, true);

            File.Copy(ConfigurationValues.ReviewDocumentPath + id
                , ConfigurationValues.ProcessDocumentPath + id, true);

            File.Delete(ConfigurationValues.ReviewDocumentPath + id);

            //CopierData Location
            //PageCount
            //CreationDate
            ReviewScannedDocuments reviewScannedDocuments = new ReviewScannedDocuments();
            //reviewScannedDocuments.CopierLocation = 
            string[] copierLocation = id.Split('_');

            reviewScannedDocuments = new Models.ReviewScannedDocuments();

            FileInfo fileInfo = new FileInfo(ConfigurationValues.ProcessDocumentPath + id);

            //FileAttributes fileAttributes = File.GetAttributes(ConfigurationValues.ProcessDocumentPath + id);

            reviewScannedDocuments.CreationDate = fileInfo.CreationTime.ToShortDateString()
                + " " + fileInfo.CreationTime.ToShortTimeString();
            reviewScannedDocuments.DocumentName = fileInfo.Name;
            reviewScannedDocuments.PageCount = Walden.Medical.Library.Pdf.GetPDFPageCount(ConfigurationValues.ProcessDocumentPath + id);
            reviewScannedDocuments.DocumentPath = ConfigurationValues.PdfFolder + fileInfo.Name;
            reviewScannedDocuments.CopierLocation = copierData.GetCopierLocationName(copierLocation[0]);

            OperationResult operationResult2 = ValidatePageCounts(ConfigurationValues.ProcessDocumentPath + id);

            if (operationResult2.Success != true)
            {

                getDocumentArchiveID = documentsData.ArchiveScannedDocument(reviewScannedDocuments, "F", operationResult2.ErrorMessage);

                File.Copy(ConfigurationValues.ProcessDocumentPath + id,
                    ConfigurationValues.PathToViewErrorFolder + id, true);

                File.Delete(ConfigurationValues.ProcessDocumentPath + id);

                return BadRequest("Please review your documents and try again");
            }

            getDocumentArchiveID = documentsData.ArchiveScannedDocument(reviewScannedDocuments, "T", operationResult2.ErrorMessage);

            documentArchiveID = int.Parse(getDocumentArchiveID.MessageList[0]);

            System.Timers.Timer timer = new System.Timers.Timer();
            timer.Interval = (3000);
            timer.Elapsed += (sender, e) => { HandleTimerElapsed(barCodeText, documentArchiveID); };
            timer.Enabled = true;
            timer.AutoReset = false;

            return Ok();
        }
        public OperationResult ArchiveScannedDocument(ReviewScannedDocuments reviewScannedDocuments, string archived, string errorMessage)
        {
            OperationResult operationResult = new OperationResult();
            string dateTime = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString();
            using (IDbConnection db = new SqlConnection(ConfigurationValues.DeskTopConnection))
            {
                try
                {
                    const string query = "INSERT INTO [ScannedDocumentsArchive]"
                        + " ([UserName],[CopierDataLocation],[PageCount],[Archive],[SubmittedDate],[CreationDate],[ViewDocumentLocation],[ErrorMessage],[SubmittedToGreenway])"
                        + " VALUES("
                        + "@UserName,@CopierDataLocation,@PageCount,@Archive,@SubmittedDate,@CreationDate,@ViewDocumentLocation,@ErrorMessage,@SubmittedToGreenway);"
                        + " SELECT CAST(SCOPE_IDENTITY() as int)";
                    var newIDCreated = db.Query<int>(query, new
                    {
                        @UserName =  Utility.GetUserName(),
                        @CopierDataLocation = reviewScannedDocuments.CopierLocation,
                        @PageCount = reviewScannedDocuments.PageCount,
                        @Archive = archived,
                        @SubmittedDate = dateTime,
                        @CreationDate = reviewScannedDocuments.CreationDate,
                        @ViewDocumentLocation = ConfigurationValues.ViewErrorDocumentPath + reviewScannedDocuments.DocumentName,
                        @ErrorMessage = errorMessage,
                        @SubmittedToGreenway = "F"
                    });
                    operationResult.AddMessage(newIDCreated.ElementAt(0).ToString());
                    return operationResult;
                }
                catch (Exception er)
                {
                    EmployeeDesktop.API.Exceptions.ExceptionHandling.InsertErrorMessage(er.ToString());
                    EmployeeDesktop.API.Exceptions.ExceptionHandling.SendErrorEmail(er.ToString(), ConfigurationValues.EmailFromFriendly, ConfigurationValues.EmailSendToFriendly, ConfigurationValues.EmailSubject);
                    operationResult.AddMessage("0");
                    operationResult.Success = false;
                    operationResult.ErrorMessage = er.ToString();
                    return operationResult;
                }
            }

            //try
            //{
            //    using (IDbConnection db = new SqlConnection(ConfigurationValues.DeskTopConnection))
            //    {
            //        const string query = "SELECT max(ID) from ScannedDocumentsArchive";
            //        operationResult.AddMessage(db.Query<int>(query).Single().ToString());
            //    }
            //}
            //catch (Exception er)
            //{
            //    EmployeeDesktop.API.Exceptions.ExceptionHandling.InsertErrorMessage(er.ToString());
            //    EmployeeDesktop.API.Exceptions.ExceptionHandling.SendErrorEmail(er.ToString(), ConfigurationValues.EmailFromFriendly, ConfigurationValues.EmailSendToFriendly, ConfigurationValues.EmailSubject);
            //    operationResult.AddMessage("0");
            //}
            //return operationResult;
        }