/// <summary>
        /// 打开选定的文件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void OpenFile_PreviewMouseLeftButtonUpAsync(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            e.Handled = true;
            TextBlock curTextBlock = sender as TextBlock;

            Lib.MemberFile SelectFile = curTextBlock.DataContext as Lib.MemberFile;
            if (SelectFile == null)
            {
                AppFuns.ShowMessage("未读到选取文件信息!", Caption: "错误", isErr: true);
                return;
            }
            ProgressMessageHandler progress = new ProgressMessageHandler();

            progress.HttpReceiveProgress += (object sender, HttpProgressEventArgs e) =>
            {
                SelectFile.DownIntProgress = e.ProgressPercentage;
            };

            string theDownFileName = await DataMemberFileRepository.DownloadFile(SelectFile, false, progress);

            if (theDownFileName != null)
            {
                SelectFile.DownIntProgress = 100;
                FileOperation.UseDefaultAppOpenFile(theDownFileName);
            }
            else
            {
                AppFuns.ShowMessage("文件下载失败,可能该文件已被删除!", Caption: "警告");
            }
            curTextBlock.IsEnabled = true;
        }
Exemplo n.º 2
0
        /// <summary>
        /// 初始化各属性值
        /// </summary>
        private async void InitPropsAsync()
        {
            if (string.IsNullOrEmpty(_CurPageViewModel.EntityMember.Id))
            {
                //  AppFuns.ShowMessage("若要开始,请选输入员工身份证号!", "输入不正确")).ShowDialog();
                return;
            }
            var MemberInfo = await DataMemberRepository.ReadEntity(_CurPageViewModel.EntityMember.Id);

            Stream UserHeadStream = null;

            if (MemberInfo != null)  //数据表中已存在该记录。
            {
                _CurPageViewModel.isEditFlag = true;
                _CurPageViewModel            = new CurPageViewModel(MemberInfo);
                //读取用户头像信息
                var UserPhotos = await DataMemberFileRepository.ReadFiles(new MemberFileSearch()
                {
                    UserId   = AppSet.LoginUser.Id,
                    MemberId = _CurPageViewModel.EntityMember.Id,
                    Name     = _CurPageViewModel.EntityMember.Id
                }).ConfigureAwait(false);

                UserPhotos = UserPhotos.OrderByDescending(x => x.UpDateTime);
                if (UserPhotos != null && UserPhotos.Count() > 0)
                {
                    UserHeadStream = await DataMemberFileRepository.DownloadFileStream(UserPhotos.First().Id, null);
                }
            }
            else
            {
                _CurPageViewModel.isEditFlag = false;
            }
            App.Current.Dispatcher.Invoke(() =>
            {
                if (UserHeadStream != null)
                {
                    System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(UserHeadStream);
                    MemoryStream PhotoStream     = new MemoryStream();
                    bitmap.Save(PhotoStream, System.Drawing.Imaging.ImageFormat.Png);
                    _CurPageViewModel.UseHeadImage.BeginInit();
                    //如果希望关闭用于创建 BitmapImage的流,请将 CacheOption 设置为 BitmapCacheOption.OnLoad。
                    //默认 OnDemand 缓存选项保留对流的访问权限,直到需要映像,并且清除由垃圾回收器处理
                    _CurPageViewModel.UseHeadImage.CacheOption  = BitmapCacheOption.OnLoad;
                    _CurPageViewModel.UseHeadImage.StreamSource = PhotoStream;
                    _CurPageViewModel.UseHeadImage.EndInit();
                    PhotoStream.Dispose();
                }

                DataContext = _CurPageViewModel;
            });
        }
        /// <summary>
        /// 从服务器删除文件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void Image_Delete_MouseLeftButtonUpAsync(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            Lib.MemberFile SelectFile = LB_FileList.SelectedItem as Lib.MemberFile;
            if (!AppFuns.ShowMessage($"删除文件《{ SelectFile.Name }》?", Caption: "确认", showYesNo: true))
            {
                return;
            }
            ExcuteResult delResult = await DataMemberFileRepository.DeleteFileInfo(SelectFile);

            if (delResult != null && delResult.State == 0)
            {
                _CurUcViewModel.MFiles.Remove(SelectFile);
            }
        }
            public async System.Threading.Tasks.Task SearchMemberFiles(MemberFileSearch mfsearch)
            {
                if (mfsearch != null)
                {
                    mfsearch.UserId = AppSet.LoginUser.Id;

                    IEnumerable <Lib.MemberFile> MemberPayTemps = await DataMemberFileRepository.ReadFiles(mfsearch);

                    MFiles.Clear();
                    MemberPayTemps?.ToList().ForEach(e =>
                    {
                        MFiles.Add(e);
                    });
                }
            }
Exemplo n.º 5
0
        private async void BtnUploadFile_ClickAsync(object sender, RoutedEventArgs e)
        {
            ExcuteResult JsonResult = new ExcuteResult();

            if (_CurWinViewModel.EntityFile.ContentType == null)
            {
                AppFuns.ShowMessage("请选择文件内容类型!", Caption: "警告");
                return;
            }
            _CurWinViewModel.EntityFile.CanReadUserIds = _CurWinViewModel.GetSelectUserIds();

            if (!_CurWinViewModel.EntityFile.CanReadUserIds.Contains(AppSet.LoginUser.Id))
            {
                if (!AppFuns.ShowMessage("你本人没有读取该文件的权限?", Caption: "确认", showYesNo: true))
                {
                    return;
                }
            }

            BtnUpFile.IsEnabled = false;
            ProgressMessageHandler progress = new ProgressMessageHandler();

            progress.HttpSendProgress += (object sender, HttpProgressEventArgs e) =>
            {
                _CurWinViewModel.EntityFile.UpIntProgress = e.ProgressPercentage;
            };

            JsonResult = await DataMemberFileRepository.UpLoadFileInfo(_CurWinViewModel.EntityFile, _CurWinViewModel.UpFileInfo.OpenRead(), "upfilekey", "upfilename", progress);

            if (JsonResult.State == 0)
            {
                _CurWinViewModel.EntityFile.Id              = JsonResult.Tag;
                _CurWinViewModel.EntityFile.UpIntProgress   = 100;
                _CurWinViewModel.EntityFile.DownIntProgress = 0;
                _CallBackFunc(_CurWinViewModel.EntityFile);
                this.Close();
            }
            else
            {
                AppFuns.ShowMessage(JsonResult.Msg, Caption: "错误", isErr: true);
                BtnUpFile.IsEnabled = true;
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// 查询待发放信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void BtnSearchClickAsync(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrWhiteSpace(mSearch.Id))
            {
                return;
            }
            List <Lib.MemberInfoEntity> Members = await DataMemberRepository.ReadMembers(mSearch);

            if (Members == null || Members.Count < 1)
            {
                return;
            }
            //读取用户头像信息
            MemoryStream             UserHeadStream = null;
            IEnumerable <MemberFile> UserPhotos     = await DataMemberFileRepository.ReadFiles(new MemberFileSearch()
            {
                UserId   = AppSet.LoginUser.Id,
                MemberId = Members[0].Id,
                Name     = Members[0].Id
            });

            UserPhotos = UserPhotos.OrderByDescending(x => x.UpDateTime);
            if (UserPhotos != null && UserPhotos.Count() > 0)
            {
                Stream TempStream = await DataMemberFileRepository.DownloadFileStream(UserPhotos.First().Id, null);

                System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(TempStream);
                UserHeadStream = new MemoryStream();
                bitmap.Save(UserHeadStream, System.Drawing.Imaging.ImageFormat.Png);
                TempStream.Dispose();

                //TempBitMap = new BitmapImage();
                //TempBitMap.BeginInit();
                //TempBitMap.CacheOption = BitmapCacheOption.OnLoad;
                //TempBitMap.StreamSource = UserHeadStream;
                //TempBitMap.EndInit();
                //TempBitMap.Freeze();
                //UserHeadStream.Dispose();
            }
            string DateStr = $"打印日期:{DateTime.Now:yyy-MM-dd}";

            CreateFlowDoc("PrintMemberSheetFlowDot.xaml", null, DateStr, UserHeadStream, Members[0], P_DocWidth: 793, P_DocHeight: 1122);
        }
        /// <summary>
        /// 读取用户的各类信息
        /// </summary>
        /// <returns></returns>
        public async Task InitPropsAsync()
        {
            //读取用户头像信息
            IEnumerable <MemberFile> UserPhotos = await DataMemberFileRepository.ReadFiles(new MemberFileSearch()
            {
                UserId   = AppSet.LoginUser.Id,
                MemberId = CurMember.Id,
                Name     = CurMember.Id
            });

            UserPhotos = UserPhotos.OrderByDescending(x => x.UpDateTime);
            if (UserPhotos != null && UserPhotos.Count() > 0)
            {
                MemoryStream UserHeadStream = null;
                MemoryStream TempStream     = await DataMemberFileRepository.DownloadFileStream(UserPhotos.First().Id, null);

                if (TempStream != null)
                {
                    System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(TempStream);
                    UserHeadStream = new MemoryStream();
                    bitmap.Save(UserHeadStream, System.Drawing.Imaging.ImageFormat.Png);
                    HeadImage = new BitmapImage();
                    HeadImage.BeginInit();
                    HeadImage.CacheOption  = BitmapCacheOption.OnLoad;
                    HeadImage.StreamSource = UserHeadStream;
                    HeadImage.EndInit();
                    HeadImage.Freeze();
                    //UserHeadStream.Dispose();导出时要用此流
                }
            }
            //读取用户简历
            var Resumes = await DataMemberResumeRepository.GetRecords(new MemberResumeSearch()
            {
                MemberId = CurMember.Id,
                UserId   = AppSet.LoginUser.Id
            }).ConfigureAwait(false);

            Resumes      = Resumes?.OrderBy(x => x.BeginDate);
            this.Resumes = Resumes?.ToList();
            //读取用户社会关系
            var Relations = await DataMemberRelationsRepository.GetRecords(new MemberRelationsSearch()
            {
                MemberId = CurMember.Id,
                UserId   = AppSet.LoginUser.Id
            }).ConfigureAwait(false);

            Relations      = Relations?.OrderBy(x => x.OrderIndex);
            this.Relations = Relations?.ToList();
            //读取用户奖惩信息
            var PrizePunishs = await DataMemberPrizePunishRepository.GetRecords(new MemberPrizePunishSearch()
            {
                MemberId = CurMember.Id,
                UserId   = AppSet.LoginUser.Id
            }).ConfigureAwait(false);

            PrizePunishs      = PrizePunishs?.OrderByDescending(x => x.OccurDate).Take(5);
            this.PrizePunishs = PrizePunishs?.ToList();
            //读取用户近三年考核情况
            var Appraises = await DataMemberAppraiseRepository.GetRecords(new MemberAppraiseSearch()
            {
                MemberId = CurMember.Id,
                UserId   = AppSet.LoginUser.Id
            }).ConfigureAwait(false);

            Appraises      = Appraises?.OrderByDescending(x => x.Year).Take(3);
            this.Appraises = Appraises?.ToList();
            //确保各类集合不为空
            if (this.Resumes == null)
            {
                this.Resumes = new List <MemberResume>();
            }
            if (this.Relations == null)
            {
                this.Relations = new List <MemberRelations>();
            }
            if (this.PrizePunishs == null)
            {
                this.PrizePunishs = new List <MemberPrizePunish>();
            }
            if (this.Appraises == null)
            {
                this.Appraises = new List <MemberAppraise>();
            }
        }