public virtual ActionResult Edit(DietEditVM vm) { if (!ModelState.IsValid) { return Json(new { success = false }); } try { var diet = unitOfWork.DietRepository.GetByID(vm.DietId); if (diet == null) diet = unitOfWork.DietRepository.Insert(new Diet() { DietId = vm.DietId, DateCreated = DateTime.Now }); DietMapper.GetDiet(vm, ref diet); if (diet.DietsHashtagsXRefs == null) diet.DietsHashtagsXRefs = new List<DietsHashtagsXRef>(); if (vm.HashtagIds == null) vm.HashtagIds = new List<Guid>(); ChangeHashtags(diet.DietId, diet.DietsHashtagsXRefs.Select(e => e.HashtagId).ToList(), vm.HashtagIds); // Image save HttpPostedFileBase file = Request.Files["uploadPhoto"]; if (file != null && file.ContentLength > 0) { string extension = Path.GetExtension(file.FileName); string dietPath = Server.MapPath(Constants.DietImagesDir); string path = Path.Combine( dietPath, diet.DietId.ToString() + extension); //Check if file is image if (file.ContentType.StartsWith("image/")) { //Delete old image var oldPath = Path.Combine( dietPath, diet.DietId.ToString() + diet.FileExtension); if (System.IO.File.Exists(oldPath)) { System.IO.File.Delete(oldPath); } diet.FileExtension = extension; file.SaveAs(path); } } unitOfWork.Save(); return Json(new { success = true }); } catch { return Json(new { success = false }); } }
public static void GetDiet(DietEditVM vm, ref Diet diet) { if (diet == null) { diet = new Diet(); } if (vm != null) { diet.HeaderBG = vm.HeaderBG; diet.HeaderEN = vm.HeaderEN; diet.TextBG = vm.TextBG; diet.TextEN = vm.TextEN; diet.IsImportant = vm.IsImportant; } }
public static DietEditVM GetVM(Diet diet) { var vm = new DietEditVM(); if (diet == null) diet = new Diet() { DietId = Guid.NewGuid() }; vm.DietId = diet.DietId; vm.FileName = diet.FileName; vm.HeaderBG = diet.HeaderBG; vm.HeaderEN = diet.HeaderEN; vm.TextBG = diet.TextBG; vm.TextEN = diet.TextEN; vm.IsImportant = diet.IsImportant; vm.HashtagIds = diet.DietsHashtagsXRefs.Select(e => e.HashtagId).ToList(); return vm; }