Beispiel #1
0
        public ActionResult CreateDrawingSeries(FormCollection form)
        {
            try
            {
                int    engineeringId          = int.Parse(form["engineeringId"]);
                int    drawingCatalogValue    = int.Parse(form["drawingCatalogValue"]);
                int    drawingProfessionValue = int.Parse(form["drawingProfessionValue"]);
                var    blobFile          = Request.Files["blobFile"];
                string drawingSeriesName = form["drawingSeriesName"];
                string fileSize          = form["fileSize"];
                string fileDescription   = form["fileDescription"];

                if (_engineeringFileService.Get(ef => ef.FileName == drawingSeriesName && ef.EngineeringId == engineeringId && ef.DrawingProfessionId == drawingProfessionValue) != null)
                {
                    return(Json(new
                    {
                        Result = false,
                        Message = "图纸名称重复"
                    }));
                }

                if (blobFile != null && blobFile.ContentLength > 0)
                {
                    var parameter = new UploadProjectFileParameterType();

                    var engineeringFile = new EngineeringFile();
                    engineeringFile.DrawingProfessionId = drawingProfessionValue;
                    engineeringFile.DrawingCatalogId    = drawingCatalogValue;
                    engineeringFile.FileType            = FileType.Drawing;
                    //更新文件版本后来纪录最新的文件url
                    engineeringFile.Description    = fileDescription;
                    engineeringFile.EngineeringId  = engineeringId;
                    engineeringFile.FileName       = drawingSeriesName;
                    engineeringFile.IsDistribution = false;
                    engineeringFile.Status         = FlowCode.Pre_DesignCompany_Uploaded;
                    engineeringFile.UpLoadTime     = DateTime.Now;
                    engineeringFile.UploaderId     = CurrentCustomer.Id;
                    new EngineeringFileService().Insert(engineeringFile);

                    parameter.Description   = fileDescription;
                    parameter.FileNameKey   = "blobFile";
                    parameter.FileNameValue = blobFile.FileName;
                    parameter.UploadStream  = blobFile.InputStream;
                    parameter.PostParameters.Add(new KeyValuePair <string, string>("versionNo", "1"));
                    parameter.PostParameters.Add(new KeyValuePair <string, string>("fileSize", fileSize));
                    parameter.PostParameters.Add(new KeyValuePair <string, string>("drawingProfession", engineeringFile.DrawingProfessionId.ToString()));
                    parameter.PostParameters.Add(new KeyValuePair <string, string>("drawingCatalog", engineeringFile.DrawingCatalogId.ToString()));

                    FileVersion currentFile = new FileVersion();
                    DesignCompanyProjectManager designCompanyProjectManager = new DesignCompanyProjectManager(CurrentCustomer, engineeringFile, currentFile);
                    designCompanyProjectManager.UploadBlob(parameter);

                    return(Json(new
                    {
                        Result = true,
                        Message = "上传成功"
                    }));
                }

                return(Json(new
                {
                    Result = false,
                    Message = "表单数据异常"
                }));
            }
            catch (Exception ex)
            {
                return(Json(new
                {
                    Result = false,
                    Message = ex.Message
                }));
            }
        }
Beispiel #2
0
        public ActionResult UpdateDrawingSeries(FormCollection form)
        {
            try
            {
                int    engineeringFileId   = int.Parse(form["engineeringfileid"]);
                int    drawingCatalogId    = int.Parse(form["drawingCatalogValue"]);
                int    drawingProfessionId = int.Parse(form["drawingProfessionValue"]);
                var    blobFile            = Request.Files["blobFile"];
                string drawingSeriesName   = form["drawingSeriesName"];
                string fileSize            = form["fileSize"];
                string fileDescription     = form["fileDescription"];

                var engineeringFile = _engineeringFileService.Get(ef => ef.Id == engineeringFileId);
                if (engineeringFile == null)
                {
                    return(Json(new
                    {
                        Result = false,
                        Message = "未找到项目文件"
                    }));
                }

                if (engineeringFile.FileName != drawingSeriesName && _engineeringFileService.Get(ef => ef.FileName == drawingSeriesName && ef.EngineeringId == engineeringFile.Engineering.Id && ef.DrawingProfessionId == drawingProfessionId) != null)
                {
                    return(Json(new
                    {
                        Result = false,
                        Message = "图纸名称重复"
                    }));
                }

                //更新图纸系列
                engineeringFile.FileName            = drawingSeriesName;
                engineeringFile.DrawingCatalogId    = drawingCatalogId;
                engineeringFile.DrawingProfessionId = drawingProfessionId;
                _engineeringFileService.Update(engineeringFile);

                if (blobFile != null && blobFile.ContentLength > 0)
                {
                    var parameter = new UploadProjectFileParameterType();

                    parameter.Description   = fileDescription;
                    parameter.FileNameKey   = "blobFile";
                    parameter.FileNameValue = blobFile.FileName;
                    parameter.UploadStream  = blobFile.InputStream;
                    var lastestDrawing = engineeringFile.FileVersions.OrderByDescending(fv => fv.UpLoadeTime).ToList()
                                         .FirstOrDefault();
                    string versionNo = lastestDrawing == null ? "1" : (int.Parse(lastestDrawing.VersionNo) + 1).ToString();
                    parameter.PostParameters.Add(new KeyValuePair <string, string>("versionNo", versionNo));
                    parameter.PostParameters.Add(new KeyValuePair <string, string>("fileSize", fileSize));
                    parameter.PostParameters.Add(new KeyValuePair <string, string>("drawingProfession", engineeringFile.DrawingProfessionId.ToString()));
                    parameter.PostParameters.Add(new KeyValuePair <string, string>("drawingCatalog", engineeringFile.DrawingCatalogId.ToString()));

                    FileVersion currentFile = new FileVersion();
                    DesignCompanyProjectManager designCompanyProjectManager = new DesignCompanyProjectManager(CurrentCustomer, engineeringFile, currentFile);
                    designCompanyProjectManager.UploadBlob(parameter);

                    return(Json(new
                    {
                        Result = true,
                        Message = "更新,并上传成功"
                    }));
                }

                return(Json(new
                {
                    Result = true,
                    Message = "更新成功"
                }));
            }
            catch (Exception ex)
            {
                return(Json(new
                {
                    Result = false,
                    Message = ex.Message
                }));
            }
        }