public int Update(DbProvider db, StampEntity stamp) { string sql = SqlHelper.MakeUpdateDML(typeof(StampEntity)); var parameters = SqlHelper.GetEntityBindparameters(stamp); return(db.ExecuteNonQuery(sql, parameters)); }
public StampEntity ReadEntities(DbProvider db, int stampId) { StampEntity entity = new StampEntity(); #if DEBUG if (999999 == stampId) { entity = new StampEntity() { StampId = stampId, WorkspaceId = 1, StampName = "ayamini", StampLocalName = "SD丸山彩", CanvasWidth = 300, CanvasHeight = 300, DateOfCreate = DateTime.Today.ToString(), DateOfUpdate = DateTime.Today.ToString() }; using (var stream = new MemoryStream(File.ReadAllBytes(@"C:\Users\morita\Pictures\ayamini_128.png"))) { entity.ImageSource = stream.ToArray(); } } #endif return(entity); }
public void SaveAsLocal(string directory, StampEntity stamp, IEnumerable <FragmentEntity> fragments) { if (string.IsNullOrWhiteSpace(directory) || null == stamp || null == fragments || false == fragments.Any()) { throw new ArgumentException(); } var stampDirectory = $"{directory}{Path.DirectorySeparatorChar}{stamp.StampName}"; if (false == Directory.Exists(stampDirectory)) { Directory.CreateDirectory(stampDirectory); } var dir = new DirectoryInfo(stampDirectory); // 断片画像の書き込み var parent = $"{dir.FullName}{Path.DirectorySeparatorChar}"; foreach (var f in fragments) { using (var imageStream = File.Open($"{parent}{f.EmojiName}.png", FileMode.Create, FileAccess.Write)) { imageStream.Write(f.Image, 0, f.Image.Length); imageStream.Flush(); } } // スタンプと断片をYAMLにシリアライズする using (var yamlWriter = new StreamWriter($"{parent}definitions.yaml")) { var serializer = new YamlDotNet.Serialization.Serializer(); var graph = new { title = stamp.StampName, emojis = fragments.Select(f => new { name = f.EmojiName, src = $"{parent}{f.EmojiName}.png" }), }; serializer.Serialize(yamlWriter, graph); } }