Пример #1
0
        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));
        }
Пример #2
0
        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));
        }