private static void SerializeToXml(Recipe recipe, string fileName) { var serializer = new XmlSerializer(typeof(Recipe)); using (TextWriter writer = new StreamWriter(fileName)) { serializer.Serialize(writer, recipe); } }
public void SetRecipe(Recipe recipe) { if (recipe.Id <= 0) { recipe.Id = CreateUniqueRecipeId(); _recipes.Add(recipe); } else { Recipe oldRecipe = GetRecipe(recipe.Id); if (oldRecipe != null) { _recipes.Remove(oldRecipe); } _recipes.Add(recipe); } }
public void SetRecipe(Recipe recipe) { if (recipe.Id <= 0) { recipe.Id = CreateUniqueRecipeId(); } bool isImageRecipe = recipe is ImageRecipe; if (isImageRecipe && (recipe as ImageRecipe).ImageId <= 0) { throw new ArgumentException("Image Id is mandatory for an ImageRecipe."); } // Retrieve reference to blob. CloudBlobContainer container = GetBlobContainer(); string blobId = recipe.Id.ToString(CultureInfo.InvariantCulture); CloudBlob blob = container.GetBlobReference(blobId); // Uplaod recipe byte[] recipeData = SerializeToXml(recipe, isImageRecipe ? typeof(ImageRecipe) : typeof(TextRecipe)); blob.UploadByteArray(recipeData); blob.Metadata.Add("RType", (recipe is ImageRecipe) ? "Image" : "Text"); blob.SetMetadata(); }
private static byte[] SerializeToXml(Recipe recipe, Type recipeType) { var serializer = new XmlSerializer(recipeType); using (var memoryStream = new MemoryStream()) { serializer.Serialize(memoryStream, recipe); return memoryStream.GetBuffer(); } }