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