예제 #1
0
        public static Image Parse(TextReader reader, int context)
        {
            var stream = ByteaConverter.ParseStream(reader, context);

            if (stream == null)
            {
                return(null);
            }
            return(Image.FromStream(stream));
        }
예제 #2
0
        public static PostgresTuple ToTuple(SecureString value)
        {
            if (value == null)
            {
                return(null);
            }
            var decoded = Marshal.PtrToStringBSTR(Marshal.SecureStringToBSTR(value));

            return(ByteaConverter.ToTuple(RsaProvider.Encrypt(Encoding.UTF8.GetBytes(decoded), false)));
        }
예제 #3
0
        public static Image FromDatabase(string value)
        {
            if (value == null)
            {
                return(null);
            }
            var bytes = ByteaConverter.FromDatabase(value);
            var ms    = new MemoryStream(bytes);

            return(Image.FromStream(ms));
        }
예제 #4
0
 public static PostgresTuple ToTuple(Image value)
 {
     if (value == null)
     {
         return(null);
     }
     using (var ms = new MemoryStream())
     {
         value.Save(ms, ImageFormat.Png);
         return(ByteaConverter.ToTuple(ms.ToArray()));
     }
 }
예제 #5
0
 public static string ToDatabase(Image value)
 {
     if (value == null)
     {
         return(null);
     }
     using (var ms = new MemoryStream())
     {
         value.Save(ms, ImageFormat.Png);
         ms.Position = 0;
         return(ByteaConverter.ToDatabase(ms.ToArray()));
     }
 }
예제 #6
0
        public static List <Image> ParseCollection(TextReader reader, int context)
        {
            var list = ByteaConverter.ParseStreamCollection(reader, context, true);

            if (list == null)
            {
                return(null);
            }
            var result = new List <Image>(list.Count);

            foreach (var stream in list)
            {
                result.Add(stream != null ? Image.FromStream(stream) : null);
            }
            return(result);
        }
예제 #7
0
        public static SecureString FromDatabase(string value)
        {
            if (value == null)
            {
                return(null);
            }
            var data       = ByteaConverter.FromDatabase(value);
            var ss         = new SecureString();
            var utf8string = Encoding.UTF8.GetString(RsaProvider.Decrypt(data, false));

            foreach (var c in utf8string)
            {
                ss.AppendChar(c);
            }
            return(ss);
        }
예제 #8
0
        public static SecureString Parse(TextReader reader, int context)
        {
            var ss    = new SecureString();
            var bytes = ByteaConverter.Parse(reader, context);

            if (bytes == null)
            {
                return(ss);
            }
            var utf8string = Encoding.UTF8.GetString(RsaProvider.Decrypt(bytes, false));

            foreach (var c in utf8string)
            {
                ss.AppendChar(c);
            }
            return(ss);
        }
예제 #9
0
        public static List <SecureString> ParseCollection(TextReader reader, int context, bool allowNulls)
        {
            var list = ByteaConverter.ParseCollection(reader, context, allowNulls);

            if (list == null)
            {
                return(null);
            }
            var result = new List <SecureString>();

            foreach (var item in list)
            {
                var ss         = new SecureString();
                var utf8string = Encoding.UTF8.GetString(RsaProvider.Decrypt(item, false));
                foreach (var c in utf8string)
                {
                    ss.AppendChar(c);
                }
                result.Add(ss);
            }
            return(result);
        }