Пример #1
0
        public async Task <bool> InsertUpdateEmailSignature(EmailSignature emailSignature)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    using (var formData = new MultipartFormDataContent())
                    {
                        var jsonString = JsonConvert.SerializeObject(emailSignature);
                        var content    = new StringContent(jsonString, System.Text.Encoding.UTF8, "application/json");

                        formData.Add(content, "EmailSignature");

                        var postResult = await client.PostAsync(ConfigurationManager.AppSettings["apiurl"] + "api/General/InsertUpdateEmailSignature", formData);

                        string resultContent = await postResult.Content.ReadAsStringAsync();

                        return(JsonConvert.DeserializeObject <bool>(resultContent));
                    }
                }
            }
            catch (Exception e)
            {
                return(false);
            }
        }
Пример #2
0
        public ActionResult GetEmailSignature()
        {
            ClaimTeamLoginModel client         = Session[SessionHelper.claimTeamLogin] as ClaimTeamLoginModel;
            EmailServices       services       = new EmailServices();
            EmailSignature      emailSignature = services.GetEmailSignature(client.UserId);

            return(Json(emailSignature, JsonRequestBehavior.AllowGet));
        }
Пример #3
0
        public async Task <ActionResult> InsertUpdateEmailSignature()
        {
            try
            {
                var            modelStr = Request["model"];
                EmailSignature model    = JsonConvert.DeserializeObject <EmailSignature>(modelStr);

                byte[] data = Convert.FromBase64String(model.Signature);
                model.Signature = Encoding.UTF8.GetString(data);

                ClaimTeamLoginModel client = Session[SessionHelper.claimTeamLogin] as ClaimTeamLoginModel;
                model.UserId = client.UserId;
                EmailServices services = new EmailServices();
                bool          response = await services.InsertUpdateEmailSignature(model);

                return(Json(response, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(null, JsonRequestBehavior.AllowGet));
            }
        }
Пример #4
0
        /*
         * This method is used to (POST)perform rolebased  to invite the signers to sign on  the document in the SignNow Application
         */
        public string RoleBasedInvite(Oauth2Token token, EmailSignature emailSignature, string id)
        {
            string result = null;

            try
            {
                string requestBody = JsonConvert.SerializeObject(emailSignature, Formatting.Indented);
                var    client      = new RestClient();
                client.BaseUrl = config.GetApiBase();

                var request = new RestRequest("/document" + "/" + id + "/invite", Method.POST)
                              .AddHeader("Accept", "application/json")
                              .AddHeader("Content-Type", "application/json")
                              .AddHeader("Authorization", "Bearer " + token.AccessToken);
                request.AddParameter("text/json", requestBody, ParameterType.RequestBody);


                var     httpResponse = client.Execute(request);
                string  json         = httpResponse.Content.ToString();
                JObject job          = JObject.Parse(json);
                if (httpResponse.StatusCode.Equals(System.Net.HttpStatusCode.OK))
                {
                    result = job["status"].ToString();
                }
                else if (httpResponse.StatusCode.Equals(System.Net.HttpStatusCode.BadRequest))
                {
                    result = job["error"].ToString();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(string.Format("Exception: {0}", ex.Message));
                throw;
            }
            return(result);
        }
        public void RoleBasedInvite()
        {
            string randomEmail = "lukeskywalker" + DateTime.Now.ToBinary().ToString() + "@mailinator.com";
            User   user        = new User();

            user.Email     = randomEmail;
            user.Password  = "******";
            user.FirstName = "firstName";
            user.LastName  = "LastName";

            User resultUser = cudasign.userService.Create(user);

            Assert.IsNotNull("No user id from creating user", resultUser.Id);
            resultUser.Password = "******";

            Oauth2Token requestedToken = cudasign.authenticationService.RequestToken(resultUser);

            Assert.IsNotNull("Access Token", requestedToken.AccessToken);

            Document doc = new Document();

            if (Directory.Exists(InputdirPath))
            {
                string[] DocFilePath = Directory.GetFiles(@InputdirPath);
                doc.FilePath = DocFilePath[0];
            }

            Document document = cudasign.documentService.Create(requestedToken, doc);

            Assert.IsNotNull("DocumentId", document.Id);

            // Build the data for Texts Test
            Text text = new Text();

            text.Size       = 30;
            text.X          = 61;
            text.Y          = 72;
            text.PageNumber = 0;
            text.Font       = "Arial";
            text.Data       = "A SAMPLE TEXT FIELD";
            text.LineHeight = 9.075;

            Text text1 = new Text();

            text1.Size       = 30;
            text1.X          = 61;
            text1.Y          = 72;
            text1.PageNumber = 1;
            text1.Font       = "Arial";
            text1.Data       = "A SAMPLE TEXT FIELD 2";
            text1.LineHeight = 9.075;

            List <Fields> textsList = new List <Fields>();

            textsList.Add(text);
            textsList.Add(text1);

            // Build the data for Checks
            Checkbox checks = new Checkbox();

            checks.Width      = 20;
            checks.Height     = 20;
            checks.X          = 234;
            checks.Y          = 500;
            checks.PageNumber = 0;

            Checkbox checks1 = new Checkbox();

            checks1.Width     = 20;
            checks1.Height    = 20;
            checks1.X         = 200;
            checks1.Y         = 53;
            checks.PageNumber = 1;

            List <Fields> checksList = new List <Fields>();

            checksList.Add(checks);
            checksList.Add(checks1);

            // Creating the Fields

            Radio radiobutton = new Radio();

            radiobutton.PageNumber = 1;
            radiobutton.X          = 150;
            radiobutton.Y          = 65;
            radiobutton.Width      = 40;
            radiobutton.Height     = 40;
            radiobutton.Check      = 0;
            radiobutton.Value      = "apple";
            radiobutton.Created    = "123456789";

            Radio radiobutton1 = new Radio();

            radiobutton1.PageNumber = 1;
            radiobutton1.X          = 250;
            radiobutton1.Y          = 55;
            radiobutton1.Width      = 40;
            radiobutton1.Height     = 40;
            radiobutton1.Check      = 0;
            radiobutton1.Value      = "cherry";
            radiobutton1.Created    = "123456789";

            List <Fields> radioList = new List <Fields>();

            radioList.Add(radiobutton);
            radioList.Add(radiobutton1);

            Fields fields = new Fields();

            fields.X          = 13;
            fields.Y          = 133;
            fields.Width      = 25;
            fields.Height     = 121;
            fields.PageNumber = 1;
            fields.Role       = "signer";
            fields.Required   = true;
            fields.Type       = "radiobutton";
            fields.Radio      = radioList;

            Fields fields1 = new Fields();

            fields1.X          = 20;
            fields1.Y          = 133;
            fields1.Width      = 122;
            fields1.Height     = 60;
            fields1.PageNumber = 0;
            fields1.Role       = "buyer";
            fields1.Required   = true;
            fields1.Type       = "initials";

            Fields fields2 = new Fields();

            fields2.X          = 35;
            fields2.Y          = 133;
            fields2.Width      = 122;
            fields2.Height     = 60;
            fields2.PageNumber = 1;
            fields2.Role       = "TestingRole";
            fields2.Required   = true;
            fields2.Type       = "text";

            List <Fields> fieldsList = new List <Fields>();

            fieldsList.Add(fields);
            fieldsList.Add(fields1);
            fieldsList.Add(fields2);

            Dictionary <string, List <Fields> > fieldsMap = new Dictionary <string, List <Fields> >();

            fieldsMap.Add("texts", textsList);
            fieldsMap.Add("checks", checksList);
            fieldsMap.Add("fields", fieldsList);

            Document resultDoc = cudasign.documentService.UpdateDocument(requestedToken, fieldsMap, document.Id);
            Document getDoc    = cudasign.documentService.GetDocumentbyId(requestedToken, resultDoc.Id);

            Fields[] flds = getDoc.Fields;
            List <System.Collections.Hashtable> roleMapList = new List <System.Collections.Hashtable>();
            EmailSignature emailSignature = new EmailSignature();
            int            counter        = 0;

            //iterate over fields
            for (int i = 0; i < flds.Length; i++)
            {
                string toEmail = "deepak" + DateTime.Now.ToBinary().ToString() + "@mailinator.com";
                System.Collections.Hashtable roleMap = new System.Collections.Hashtable();
                roleMap.Add("email", toEmail);
                roleMap.Add("role_id", flds[i].RoleId);
                roleMap.Add("role", flds[i].Role);
                roleMap.Add("order", ++counter);
                roleMapList.Add(roleMap);
            }
            emailSignature.To   = roleMapList;
            emailSignature.From = resultUser.Email;
            string[] ccuser = new string[] { "*****@*****.**", "*****@*****.**" };
            emailSignature.CC      = ccuser;
            emailSignature.Message = resultUser.Email + " asked you to sign this document";
            emailSignature.Subject = "SignNow Invitation";

            string resinvite = cudasign.documentService.RoleBasedInvite(requestedToken, emailSignature, document.Id);

            Assert.AreEqual("success", resinvite);
        }
        public static EmailSignature GetSignature(string responsePath, ref bool isHTML)
        {
            Pointel.Logger.Core.ILog _logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType,
                                                                                        "AID");
            //string responseContent = string.Empty;
            EmailSignature emailSignature = new EmailSignature();

            try
            {
                if (responsePath.StartsWith("response"))
                {
                    responsePath = responsePath.Substring(("response:").Length);
                    List <string> path = responsePath.Split('\\').ToList <string>();

                    OutputValues outputMsg = Pointel.Interactions.Contact.Core.Request.RequestGetAllResponse.GetResponseContent(ConfigContainer.Instance().TenantDbId);
                    if (outputMsg.IContactMessage != null)
                    {
                        CategoryList          categoryList          = null;
                        EventGetAllCategories eventGetAllCategories = (EventGetAllCategories)outputMsg.IContactMessage;
                        _logger.Info("AllCatageories " + eventGetAllCategories.SRLContent.ToString());
                        categoryList = eventGetAllCategories.SRLContent;
                        if (categoryList != null)
                        {
                            StandardResponse response = GetResponseCategories(categoryList, path);
                            if (response == null)
                            {
                                return(null);
                            }
                            //responseContent = string.Empty;
                            //                            responseContent = !string.IsNullOrEmpty(response.StructuredBody) ? response.StructuredBody : !string.IsNullOrEmpty(response.Body) ? response.Body : string.Empty;
                            emailSignature.EmailBody = !string.IsNullOrEmpty(response.StructuredBody) ? response.StructuredBody : !string.IsNullOrEmpty(response.Body) ? response.Body : string.Empty;
                            isHTML = !string.IsNullOrEmpty(response.StructuredBody);
                            emailSignature.Subject = string.IsNullOrEmpty(response.Subject) ? null : response.Subject;
                            if (response.Attachments != null)
                            {
                                emailSignature.AttachmentList = response.Attachments;
                            }
                        }
                        //LoadResponses(categoryList);
                    }
                }
                else if (responsePath.StartsWith("file"))
                {
                    responsePath = responsePath.Substring(("file:").Length);
                    if (File.Exists(responsePath))
                    {
                        try
                        {
                            using (StreamReader sr = new StreamReader(responsePath))
                            {
                                //responseContent = sr.ReadToEnd();
                                emailSignature.EmailBody = sr.ReadToEnd();
                            }
                        }
                        catch (Exception ex)
                        {
                            //responseContent = string.Empty;
                            emailSignature.EmailBody = string.Empty;
                        }
                    }
                    else
                    {
                        //responseContent = string.Empty;
                        emailSignature.EmailBody = string.Empty;
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.Error("Error occurred as " + ex.Message);
            }
            finally
            {
                _logger = null;
            }
            //return responseContent.Trim();
            return(emailSignature);
        }