/// <summary> /// 设置文件名 /// </summary> /// <param name="info"></param> protected virtual void SetFileProperty(TEntityType info) { if (FileProperties == null || FileProperties.Count == 0 || FileRepository == null) { return; } var rev = FileProperties.Aggregate(false, (current, fileProperty) => current || info.HasSaveProperty(fileProperty.FilePropertyName)); if (!rev) { return; } var server = Winner.Creator.Get <Winner.Base.IProperty>(); var fileroute = Winner.Creator.Get <Winner.Storage.IFile>(); foreach (var fileProperty in FileProperties) { if (!info.HasSaveProperty(fileProperty.FilePropertyName)) { continue; } var fileName = server.GetValue <string>(info, fileProperty.FilePropertyName); if (string.IsNullOrEmpty(fileName)) { continue; } var fileByte = server.GetValue <byte[]>(info, fileProperty.BytePropertyName); if (fileByte == null || fileByte.Length == 0) { continue; } string setValue; if (info.SaveType == SaveType.Add) { setValue = fileroute.CreateFileName(fileName); } else { var dataEntity = Repository.Get <TEntityType>(info.Id); setValue = server.GetValue <string>(dataEntity, fileProperty.FilePropertyName); if (dataEntity == null || string.IsNullOrEmpty(setValue)) { setValue = fileroute.CreateFileName(fileName); } else { var exetion = System.IO.Path.GetExtension(setValue); if (!string.IsNullOrEmpty(exetion)) { setValue = setValue.Replace(exetion, System.IO.Path.GetExtension(fileName)); } } } setValue = setValue ?? ""; server.SetValue(info, fileProperty.FilePropertyName, setValue); } }