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