public virtual ActionResult SaveProfile(ProfileModel profileModel, HttpPostedFileBase avatarFile) { try { if (!ModelState.IsValid) { return(Json(new { isError = true, Message = @"ورودی نامعتبر!" })); } using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { var addressUrlFile = new AddressUrlFile(Server.MapPath("~//")); var path = addressUrlFile.Image; // ذخیره تصویر شخصی if (avatarFile != null) { if (Useful.CreateFolderIfNeeded(addressUrlFile.Image)) { // اگر قبلا فایل وجود دارد حذف شود if (System.IO.File.Exists(path + profileModel.Avatar)) { System.IO.File.Delete(path + profileModel.Avatar); } if (profileModel.Avatar == null) { path += Guid.NewGuid() + Path.GetExtension(avatarFile.FileName); } else { path += profileModel.Avatar; } avatarFile.SaveAs(path); profileModel.Avatar = Path.GetFileName(path); } } var levelId = Convert.ToInt64(User.LevelId()); var data = _personManagementService.AddOrUpdateProfile(profileModel, levelId); scope.Complete(); return(Json(new { isError = !data.Item1, Message = data.Item2 })); } } catch (Exception) { return(Json(new { isError = true, Message = @"خطا در ویرایش اطلاعات پرسنلی" })); } }