Esempio n. 1
0
        public async Task <Signature> CreateOrUpdateSignatureAsync(Signature signature)
        {
            using (var ctx = new SmsServiceDbEntities(this.connectionString))
            {
                var entity = await ctx.Signatures.SingleOrDefaultAsync(
                    s => s.EngagementAccount == signature.EngagementAccount &&
                    s.Signature == signature.Value);

                if (entity == null)
                {
                    entity                   = new SignatureEntity();
                    entity.Signature         = signature.Value;
                    entity.ChannelType       = signature.ChannelType.ToString();
                    entity.EngagementAccount = signature.EngagementAccount;
                    entity.ExtendedCode      = signature.ExtendedCode;
                    entity.State             = signature.State.ToString();
                    entity.Message           = signature.Message;
                    entity.Created           = entity.Modified = DateTime.UtcNow;

                    ctx.Signatures.Add(entity);
                }
                else
                {
                    entity.ChannelType  = signature.ChannelType.ToString();
                    entity.ExtendedCode = signature.ExtendedCode;
                    entity.State        = signature.State.ToString();
                    entity.Message      = signature.Message;
                    entity.Modified     = DateTime.UtcNow;
                }

                await ctx.SaveChangesAsync();

                return(entity.ToModel());
            }
        }
        public Signature EntityToSignature(SignatureEntity toConvert)
        {
            UserAndEntityConverter userEntityConverter = new UserAndEntityConverter();
            Architect dataTransfer = new Architect(toConvert.SignerName, toConvert.SignerSurname, toConvert.SignerUserName, "irrelevant", DateTime.Now);
            Signature conversion   = new Signature(dataTransfer, toConvert.SignatureDate);

            return(conversion);
        }
Esempio n. 3
0
        public void Insert(string description, string publicKey, string privateKey)
        {
            var signature = new SignatureEntity()
            {
                Description = description, PublicKey = publicKey, PrivateKey = privateKey
            };

            db.Insert(signature);
        }
        public SignatureEntity SignatureToEntity(Signature toConvert, BlueprintEntity bearer)
        {
            UserAndEntityConverter userEntityConverter = new UserAndEntityConverter();

            SignatureEntity conversion = new SignatureEntity()
            {
                SignerName      = toConvert.ArchitectName,
                SignerSurname   = toConvert.ArchitectSurname,
                SignerUserName  = toConvert.ArchitectUserName,
                SignatureDate   = toConvert.Date,
                BlueprintSigned = bearer
            };

            return(conversion);
        }
Esempio n. 5
0
        public bool SignComment(int signatureId, int commentId)
        {
            CommentEntity commentToSign = commentModel.SelectWithID(commentId);

            if (commentToSign.SignedBy != 0)
            {
                return(false);
            }
            SignatureEntity signatureToSign = SelectWithID(signatureId);

            if (signatureToSign == null)
            {
                return(false);
            }
            commentToSign.SignedData = SignString(commentToSign.Title, signatureToSign.PrivateKey);
            commentToSign.SignedBy   = signatureId;
            if (commentModel.Update(commentToSign) == 0)
            {
                return(false);
            }
            return(true);
        }
Esempio n. 6
0
        //ILog logs = LogManager.GetLogger("Signature");
        //string configPath = ConfigSetting.configPath + "NCD.SNS.Signature.config";

        //public CacheItemRemovedCallback onRemove = null;

        public string Get(string url, string encode)
        {
            string r = "";

            if (encode == "true")
            {
                url = HttpUtility.UrlDecode(url);
            }

            string checkurl = "";// url.Replace("http://", "");


            if (url.IndexOf("http://") != -1)
            {
                checkurl = url.Replace("http://", "");
            }
            else if (url.IndexOf("https://") != -1)
            {
                checkurl = url.Replace("https://", "");
            }


            if (checkurl.IndexOf("/") != -1)
            {
                checkurl = checkurl.Substring(0, checkurl.IndexOf("/"));
            }

            if (url != "")
            {
                if (CheckConfig(checkurl))
                {
                    string ticket    = new JsApiTicket().Get().ticket;
                    string timestamp = Util.GetTimestamp();//Convert.ToInt64((DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds).ToString();
                    string noncestr  = Util.GetRandomString(36, true, true, true, false, "");
                    string str       = "jsapi_ticket=" + ticket +
                                       "&noncestr=" + noncestr +
                                       "&timestamp=" + timestamp +
                                       "&url=" + url;

                    //logs.Fatal("before signature str:" + str);

                    string signature = Sha1.Encrypt(str);

                    //logs.Fatal("signature:" + signature);

                    SignatureEntity signatureEntity = new SignatureEntity();
                    signatureEntity.appId     = GZH.CL.Config.ConfigSetting.GetWeixin().AppID;
                    signatureEntity.timestamp = timestamp;
                    signatureEntity.nonceStr  = noncestr;
                    signatureEntity.signature = signature.ToLower();
                    signatureEntity.url       = url;

                    //System.Web.Script.Serialization.JavaScriptSerializer j = new System.Web.Script.Serialization.JavaScriptSerializer();

                    r = JsonHelper.ScriptSerialize(signatureEntity, false);
                }
                else
                {
                    r = "abort config";
                }
            }
            else
            {
                r = "abort request";
            }

            return(r);
        }
Esempio n. 7
0
        public async Task <JsonResult <SignatureEntity> > GetSignature(string name, SignatureEnum signature)
        {
            try
            {
                var url = "http://www.jiqie.com";

                var fromUrlContent = new StringContent($"id={name}&idi=jiqie&id1=800&id2={(int)signature}&id3=#000000&id4=#000000&id5=#000000&id6=#000000");
                fromUrlContent.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");

                using (var http = new HttpClient())
                {
                    var responseMsg = await http.PostAsync(new Uri(url + "/a/re22.php"), fromUrlContent);

                    var htmlContent = await responseMsg.Content.ReadAsStringAsync();

                    var signUrl = htmlContent.Replace("<img src=\"", url + "/").Replace("\">", "");

                    var originalImgPath = $"{_hostingEnvironment.WebRootPath}/signature/{name}.jpg";

                    FileHelper.DownLoad(signUrl, originalImgPath);

                    var random_num       = new Random();
                    var num              = random_num.Next(1, 3);
                    var watermarkImgPath = $"{_hostingEnvironment.WebRootPath}/images/qrcode{num}.jpg";

                    var originalImgBytes = await System.IO.File.ReadAllBytesAsync(originalImgPath);

                    var watermarkImgBytes = await System.IO.File.ReadAllBytesAsync(watermarkImgPath);

                    var originalImg  = Image.Load(originalImgBytes, out IImageFormat format);
                    var watermarkImg = Image.Load(watermarkImgBytes);

                    originalImg.Mutate(x =>
                    {
                        x.DrawImage(watermarkImg, 1, new Point(390, 90));
                    });

                    var imgBase64 = originalImg.ToBase64String(format);
                    var reg       = new Regex("data:image/(.*);base64,");
                    imgBase64 = reg.Replace(imgBase64, "");
                    var bytes = Convert.FromBase64String(imgBase64);

                    var signaturePath = $"{_hostingEnvironment.WebRootPath}/signature/{name}{signature}.jpg";

                    FileHelper.SaveFile(bytes, signaturePath);

                    var entity = new SignatureEntity
                    {
                        Name = name,
                        Type = signature
                               .GetType()
                               .GetMember(signature.ToString())
                               .FirstOrDefault()
                               .GetCustomAttribute <DescriptionAttribute>()
                               .Description,
                        Url = $"{_settings.Domain}/signature/{name}{signature}.jpg"
                    };

                    System.IO.File.Delete(originalImgPath);

                    return(new JsonResult <SignatureEntity> {
                        Result = entity
                    });
                }
            }
            catch (Exception e)
            {
                return(new JsonResult <SignatureEntity> {
                    Reason = e.Message
                });
            }
        }
 /// <summary>
 /// Преобразовать идентификатор с подписью в трансферную модель
 /// </summary>
 private static SignatureDto SignatureToDto(SignatureEntity signatureEntity) =>
 new SignatureDto(signatureEntity.PersonId, PersonInformationToDto(signatureEntity.PersonInformation),
                  signatureEntity.SignatureSource.ToArray());