public HttpResponseMessage ResendEmail(int envelopeCode)
        {
            HttpResponseMessage responseToClient = new HttpResponseMessage();
            //eSign.Web.Controllers.DocumentPackageController doc = new Web.Controllers.DocumentPackageController();
            EnvelopeHelperMain objEnvelope = new EnvelopeHelperMain();
            Guid envelopeId;

            try
            {
                System.Collections.Generic.IEnumerable <string> iHeader;
                Request.Headers.TryGetValues("AuthToken", out iHeader);
                string authToken = iHeader.ElementAt(0);
                using (var dbContext = new eSignEntities())
                {
                    //var helper = new eSign.Web.Helpers.EnvelopeHelper();
                    EnvelopeRepository  envelopeRepository = new EnvelopeRepository(dbContext);
                    UserTokenRepository tokenRepository    = new UserTokenRepository(dbContext);
                    string userEmail = tokenRepository.GetUserEmailByToken(authToken);
                    Guid   UserId    = tokenRepository.GetUserProfileUserIDByID(tokenRepository.GetUserProfileIDByEmail(userEmail));
                    string eId       = envelopeRepository.GetEnvelopeIdByDisplayCode(envelopeCode, UserId);
                    if (string.IsNullOrEmpty(eId))
                    {
                        ResponseMessage responseMessage = new ResponseMessage();
                        responseMessage.StatusCode    = HttpStatusCode.NoContent;
                        responseMessage.StatusMessage = "NoContent";
                        responseMessage.Message       = Convert.ToString(ConfigurationManager.AppSettings["NoContent"].ToString());
                        responseToClient = Request.CreateResponse(HttpStatusCode.NoContent, responseMessage);
                        return(responseToClient);
                    }
                    envelopeId = new Guid(eId);
                    Envelope envelopeObject = envelopeRepository.GetEntity(envelopeId);
                    if (envelopeObject == null)
                    {
                        ResponseMessage responseMessage = new ResponseMessage();
                        responseMessage.StatusCode    = HttpStatusCode.NoContent;
                        responseMessage.StatusMessage = "NoContent";
                        responseMessage.Message       = Convert.ToString(ConfigurationManager.AppSettings["NoContent"].ToString());
                        responseToClient = Request.CreateResponse(HttpStatusCode.OK, responseMessage);
                        return(responseToClient);
                    }
                    if (envelopeObject.StatusID == Constants.StatusCode.Envelope.Incomplete_and_Expired)
                    {
                        ResponseMessage responseMessage = new ResponseMessage();
                        responseMessage.StatusCode    = HttpStatusCode.BadRequest;
                        responseMessage.StatusMessage = "BadRequest";
                        responseMessage.Message       = Convert.ToString(ConfigurationManager.AppSettings["IncompleteAndExpired"].ToString());
                        responseToClient = Request.CreateResponse(HttpStatusCode.BadRequest, responseMessage);
                        return(responseToClient);
                    }
                    else if (envelopeObject.StatusID == Constants.StatusCode.Envelope.Terminated)
                    {
                        ResponseMessage responseMessage = new ResponseMessage();
                        responseMessage.StatusCode    = HttpStatusCode.BadRequest;
                        responseMessage.StatusMessage = "BadRequest";
                        responseMessage.Message       = Convert.ToString(ConfigurationManager.AppSettings["Terminated"].ToString());
                        responseToClient = Request.CreateResponse(HttpStatusCode.BadRequest, responseMessage);
                        return(responseToClient);
                    }
                    var JsonResult = objEnvelope.SendmailReminderAPI(Convert.ToString(envelopeId), tokenRepository.GetUserEmailByToken(authToken));
                    if (JsonResult == "All signers has signed the document")
                    {
                        ResponseMessage responseMessage = new ResponseMessage();
                        responseMessage.StatusCode    = HttpStatusCode.BadRequest;
                        responseMessage.StatusMessage = "BadRequest";
                        responseMessage.Message       = Convert.ToString(ConfigurationManager.AppSettings["AllSigned"].ToString());
                        responseToClient = Request.CreateResponse(HttpStatusCode.BadRequest, responseMessage);
                        return(responseToClient);
                    }
                    else if (JsonResult == "The email has been resent")
                    {
                        ResponseMessage responseMessage = new ResponseMessage();
                        responseMessage.StatusCode    = HttpStatusCode.OK;
                        responseMessage.StatusMessage = "OK";
                        responseMessage.Message       = Convert.ToString(ConfigurationManager.AppSettings["MailResend"].ToString());
                        responseToClient = Request.CreateResponse(HttpStatusCode.OK, responseMessage);
                        return(responseToClient);
                    }
                    else
                    {
                        responseToClient         = Request.CreateResponse((HttpStatusCode)422);
                        responseToClient.Content = new StringContent(JsonResult, Encoding.Unicode);
                        throw new HttpResponseException(responseToClient);
                    }
                }
            }
            catch (Exception ex)
            {
                responseToClient         = Request.CreateResponse((HttpStatusCode)422);
                responseToClient.Content = new StringContent(ex.Message, Encoding.Unicode);
                throw new HttpResponseException(responseToClient);
            }
        }