public IActionResult Put(int id, [FromForm] vmRecipeRequest model) { ResponseItem <Recipe> retVal = new ResponseItem <Recipe>() { code = (int)HttpStatusCode.BadRequest, message = "bad request" }; try { Recipe existingRecipe = this.recipeService.GetById(id); if (existingRecipe != null) { existingRecipe.RecipeStep = JsonConvert.DeserializeObject <List <RecipeStep> >(model.RecipeStep); existingRecipe.RecipeIngredient = JsonConvert.DeserializeObject <List <RecipeIngredient> >(model.RecipeIngredient); existingRecipe.Title = model.Title; existingRecipe.Levels = model.Levels; //recipe.CreatedDate = DateTime.Now; if (!Directory.Exists(webHostEnvironment.ContentRootPath + "\\Upload\\")) { Directory.CreateDirectory(webHostEnvironment.ContentRootPath + "\\Upload\\"); } ; string uploadsFolder = Path.Combine(webHostEnvironment.ContentRootPath, "Upload"); if (model.File1 != null) { string fileExtenstion = Path.GetExtension(model.File1.FileName); string uniqueFileName = (!string.IsNullOrEmpty(existingRecipe.Filename1) ? Path.GetFileNameWithoutExtension(existingRecipe.Filename1) : DateTime.Now.ToString("yyyyMMddHHmmssfff")) + fileExtenstion; string filepath = Path.Combine(uploadsFolder, uniqueFileName); using (FileStream fileStream = System.IO.File.Create(filepath)) { model.File1.CopyTo(fileStream); fileStream.Flush(); existingRecipe.Filename1 = uniqueFileName; } } if (model.File2 != null) { string fileExtenstion = Path.GetExtension(model.File2.FileName); string uniqueFileName = (!string.IsNullOrEmpty(existingRecipe.Filename2) ? Path.GetFileNameWithoutExtension(existingRecipe.Filename2) : DateTime.Now.ToString("yyyyMMddHHmmssfff")) + fileExtenstion; string filepath = Path.Combine(uploadsFolder, uniqueFileName); using (FileStream fileStream = System.IO.File.Create(filepath)) { model.File2.CopyTo(fileStream); fileStream.Flush(); existingRecipe.Filename2 = uniqueFileName; } } if (model.File3 != null) { string fileExtenstion = Path.GetExtension(model.File3.FileName); string uniqueFileName = (!string.IsNullOrEmpty(existingRecipe.Filename3) ? Path.GetFileNameWithoutExtension(existingRecipe.Filename3) : DateTime.Now.ToString("yyyyMMddHHmmssfff")) + fileExtenstion; string filepath = Path.Combine(uploadsFolder, uniqueFileName); using (FileStream fileStream = System.IO.File.Create(filepath)) { model.File3.CopyTo(fileStream); fileStream.Flush(); existingRecipe.Filename3 = uniqueFileName; } } retVal.response = this.recipeService.UpdateRecipe(existingRecipe); retVal.code = (int)HttpStatusCode.OK; retVal.message = "recipe Item"; } else { retVal.code = (int)HttpStatusCode.NotFound; retVal.message = "recipe Item"; } } catch (Exception ex) { retVal.code = (int)HttpStatusCode.InternalServerError; retVal.message = "Exception" + ex.Message; } return(Ok(retVal)); }
public IActionResult Post([FromForm] vmRecipeRequest model) { ResponseItem <Recipe> retVal = new ResponseItem <Recipe>() { code = (int)HttpStatusCode.BadRequest, message = "bad request" }; try { if (ModelState.IsValid) { Recipe recipe = new Recipe(); recipe.Title = model.Title; recipe.CreatedDate = DateTime.Now; recipe.Levels = model.Levels; recipe.RecipeStep = JsonConvert.DeserializeObject <List <RecipeStep> >(model.RecipeStep); recipe.RecipeIngredient = JsonConvert.DeserializeObject <List <RecipeIngredient> >(model.RecipeIngredient); if (!Directory.Exists(webHostEnvironment.ContentRootPath + "\\Upload\\")) { Directory.CreateDirectory(webHostEnvironment.ContentRootPath + "\\Upload\\"); } ; string uploadsFolder = Path.Combine(webHostEnvironment.ContentRootPath, "Upload"); if (model.File1 != null) { string fileExtenstion = Path.GetExtension(model.File1.FileName); string uniqueFileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + fileExtenstion; //Guid.NewGuid().ToString() + "_" + model.File1.FileName; string filepath = Path.Combine(uploadsFolder, uniqueFileName); using (FileStream fileStream = System.IO.File.Create(filepath)) { model.File1.CopyTo(fileStream); fileStream.Flush(); recipe.Filename1 = uniqueFileName; } } if (model.File2 != null) { string fileExtenstion = Path.GetExtension(model.File2.FileName); string uniqueFileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + fileExtenstion; //Guid.NewGuid().ToString() + "_" + model.File2.FileName; string filepath = Path.Combine(uploadsFolder, uniqueFileName); using (FileStream fileStream = System.IO.File.Create(filepath)) { model.File2.CopyTo(fileStream); fileStream.Flush(); recipe.Filename2 = uniqueFileName; } } if (model.File3 != null) { string fileExtenstion = Path.GetExtension(model.File3.FileName); string uniqueFileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + fileExtenstion;//Guid.NewGuid().ToString() + "_" + model.File3.FileName; string filepath = Path.Combine(uploadsFolder, uniqueFileName); using (FileStream fileStream = System.IO.File.Create(filepath)) { model.File3.CopyTo(fileStream); fileStream.Flush(); recipe.Filename3 = uniqueFileName; } } retVal.response = this.recipeService.CreateRecipe(recipe); retVal.code = (int)HttpStatusCode.Created; retVal.message = "recipe Item"; } else { retVal.code = (int)HttpStatusCode.BadRequest; retVal.message = "invalid form"; } } catch (Exception ex) { retVal.code = (int)HttpStatusCode.InternalServerError; retVal.message = "Exception" + ex.Message; } return(Ok(retVal)); }