示例#1
0
        public HttpResponseMessage Upload([FromUri] int annualTaskId, [FromUri] AnnualTaskDocType docType)
        {
            try
            {
                AnnualTaskDoc doc = reciveFile(annualTaskId, (AnnualTaskDocType)docType);

                if (docType == AnnualTaskDocType.BODY)
                {
                    doc = _repository.AddBody(doc);
                }
                else if (docType == AnnualTaskDocType.ANNUAL_REPORT)
                {
                    doc = _repository.AddAnnualReport(doc);

                    //用户上传年度报告
                    //通知打点:发给所在单位所有管理员
                    //_noticeService.AddNoticeList(
                    //    _noticeService.GetInstManagerListByAnnualTaskId(doc.AnnualTaskId.Value), 49);
                    //通知信打点:发给自己
                    //_noticeService.AddNotice(
                    //    _noticeService.GetUserIdByAnnualTaskId(doc.AnnualTaskId.Value), 32);
                }
                else
                {
                    doc = _repository.AddAttachment(doc);
                }
                return(ResponseWrapper.SuccessResponse(doc));
            }
            catch (Exception e)
            {
                return(ResponseWrapper.ExceptionResponse(e));
            }
        }
示例#2
0
        public HttpResponseMessage Download([FromUri] int annualTaskId, [FromUri] AnnualTaskDocType docType)
        {
            try
            {
                var doc = _repository.GetAnnualTaskDocList()
                          .FirstOrDefault(atd => atd.AnnualTaskId == annualTaskId && atd.Type == docType);

                if (doc == null)
                {
                    throw new NotFoundException();
                }

                return(FileHelper.Download(HttpContext.Current, doc.RelativeURL, doc.Name));
            }
            catch (Exception e)
            {
                return(ResponseWrapper.ExceptionResponse(e));
            }
        }
示例#3
0
        private static AnnualTaskDoc reciveFile(int annualTaskId, AnnualTaskDocType docType)
        {
            var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, SystemConfig.AnnualTaskPathWin, annualTaskId.ToString());
            //获取绝对路径
            DirectoryInfo dir = Directory.CreateDirectory(path);
            //保存文件
            string saveName = FileHelper.Upload(HttpContext.Current, dir.FullName);

            //生成AnnualTaskDoc对象
            string url = "/" + Path.Combine(SystemConfig.AnnualTaskPathWeb, annualTaskId.ToString(), saveName).Replace(@"\", @"/");

            AnnualTaskDoc doc = new AnnualTaskDoc()
            {
                RelativeURL  = url,
                Type         = docType,
                Name         = saveName,
                AnnualTaskId = annualTaskId
            };

            return(doc);
        }