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 = @"خطا در ویرایش اطلاعات پرسنلی" }));
            }
        }