public virtual ActionResult Edit(TrainingEditVM vm) { if (!ModelState.IsValid) { return Json(new { success = false }); } try { var training = unitOfWork.TrainingRepository.GetByID(vm.TrainingId); if (training == null) training = unitOfWork.TrainingRepository.Insert(new Training() { TrainingId = vm.TrainingId, DateCreated = DateTime.Now }); TrainingMapper.GetTraining(vm, ref training); if (training.TrainingsHashtagsXRefs == null) training.TrainingsHashtagsXRefs = new List<TrainingsHashtagsXRef>(); if (vm.HashtagIds == null) vm.HashtagIds = new List<Guid>(); ChangeHashtags(training.TrainingId, training.TrainingsHashtagsXRefs.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 trainingPath = Server.MapPath(Constants.TrainingImagesDir); string path = Path.Combine( trainingPath, training.TrainingId.ToString() + extension); //Check if file is image if (file.ContentType.StartsWith("image/")) { //Delete old image var oldPath = Path.Combine( trainingPath, training.TrainingId.ToString() + training.FileExtension); if (System.IO.File.Exists(oldPath)) { System.IO.File.Delete(oldPath); } training.FileExtension = extension; file.SaveAs(path); } } unitOfWork.Save(); return Json(new { success = true }); } catch { return Json(new { success = false }); } }
public static void GetTraining(TrainingEditVM vm, ref Training training) { if (training == null) { training = new Training(); } if (vm != null) { training.HeaderBG = vm.HeaderBG; training.HeaderEN = vm.HeaderEN; training.TextBG = vm.TextBG; training.TextEN = vm.TextEN; training.IsImportant = vm.IsImportant; } }
public static TrainingEditVM GetVM(Training training) { var vm = new TrainingEditVM(); if (training == null) training = new Training() { TrainingId = Guid.NewGuid() }; vm.TrainingId = training.TrainingId; vm.FileName = training.FileName; vm.HeaderBG = training.HeaderBG; vm.HeaderEN = training.HeaderEN; vm.TextBG = training.TextBG; vm.TextEN = training.TextEN; vm.IsImportant = training.IsImportant; vm.HashtagIds = training.TrainingsHashtagsXRefs.Select(e => e.HashtagId).ToList(); return vm; }