public ResultOperation IsValid(Guid?EntityDefID, Guid?EntityID, System.IO.Stream InputStream, string FileName, Guid DocumentDefID) { ResultOperation resultOperation = new ResultOperation(); sysBpmsDocumentDef documentDef = new DocumentDefService(base.UnitOfWork).GetInfo(DocumentDefID); if (InputStream != null && InputStream.Length > 0) { string fe = System.IO.Path.GetExtension(FileName).Trim('.').ToLower(); if (!string.IsNullOrWhiteSpace(documentDef.ValidExtentions) && !documentDef.ValidExtentions.ToStringObj().Trim().ToLower().Split(',').Any(c => c.Trim('.') == fe)) { resultOperation.AddError(string.Format(LangUtility.Get("FileNotValid.Text", "Engine"), documentDef.DisplayName)); return(resultOperation); } if (documentDef.MaxSize > 0 && documentDef.MaxSize * 1024 < InputStream.Length) { resultOperation.AddError(string.Format(LangUtility.Get("FileSizeError.Text", "Engine"), documentDef.DisplayName)); return(resultOperation); } } if (InputStream == null && documentDef.IsMandatory && ((EntityDefID.HasValue && !EntityID.HasValue) || !this.DocumentService.GetList(documentDef.ID, EntityDefID, EntityID, "", false, null, (EntityDefID.HasValue ? (Guid?)null : base.EngineSharedModel.CurrentThreadID)).Any())) { resultOperation.AddError(string.Format(LangUtility.Get("RequiredFile.Text", "Engine"), documentDef.DisplayName)); } return(resultOperation); }
public ResultOperation Delete(Guid documentFolderId) { ResultOperation resultOperation = new ResultOperation(); try { if (resultOperation.IsSuccess) { //delete all sysBpmsDocumentDef. List <sysBpmsDocumentDef> list = new DocumentDefService(base.UnitOfWork).GetList(documentFolderId, "", "", null, null); foreach (sysBpmsDocumentDef item in list) { if (resultOperation.IsSuccess) { resultOperation = new DocumentDefService(base.UnitOfWork).Delete(item.ID); } } //delete children List <sysBpmsDocumentFolder> children = this.GetList(documentFolderId, "", "", null); foreach (sysBpmsDocumentFolder item in children) { if (resultOperation.IsSuccess) { resultOperation = this.Delete(item.ID); } } if (resultOperation.IsSuccess) { this.UnitOfWork.Repository <IDocumentFolderRepository>().Delete(documentFolderId); this.UnitOfWork.Save(); } } } catch (Exception ex) { return(base.ExceptionHandler(ex)); } base.FinalizeService(resultOperation); return(resultOperation); }
/// <summary> /// this method make a list of DocumentDefs name and Entity.PropertyName from DocumentDef which are object. /// </summary> public List <ComboTreeModel> HelperGetTreeList(bool forCodding = false) { List <ComboTreeModel> Items = new List <ComboTreeModel>(); List <sysBpmsDocumentFolder> folders = new DocumentFolderService(this.UnitOfWork).GetList(null, "", "", true); List <sysBpmsDocumentDef> Defs = new DocumentDefService(base.UnitOfWork).GetList(null, "", "", true, null); foreach (sysBpmsDocumentFolder item in folders) { Items.Add(new ComboTreeModel() { title = item.DisplayName, id = item.ID.ToString(), state = "closed", }); foreach (sysBpmsDocumentDef documentDef in Defs.Where(c => c.DocumentFolderID == item.ID)) { Items.LastOrDefault().subs.Add(new ComboTreeModel() { title = documentDef.DisplayName, id = documentDef.ID.ToString(), }); } } return(Items); }
public ResultOperation SaveFile(System.IO.Stream inputStream, string fileName, Guid?entityID, Guid?entityDefID, Guid documentDefID, string captionOF, bool replace) { ResultOperation resultOperation = new ResultOperation(); if (inputStream == null || inputStream.Length <= 0) { return(resultOperation); } sysBpmsDocument PostDocument = null; sysBpmsDocumentDef documentDef = new DocumentDefService(base.UnitOfWork).GetInfo(documentDefID); try { Guid Guid = System.Guid.NewGuid(); string fe = System.IO.Path.GetExtension(fileName).Trim('.').ToLower(); if (!string.IsNullOrWhiteSpace(documentDef.ValidExtentions) && !documentDef.ValidExtentions.ToStringObj().Trim().ToLower().Split(',').Any(c => c.Trim('.') == fe)) { resultOperation.AddError(string.Format(LangUtility.Get("FileNotValid.Text", "Engine"), documentDef.DisplayName)); return(resultOperation); } if (documentDef.MaxSize > 0 && documentDef.MaxSize * 1024 < inputStream.Length) { resultOperation.AddError(string.Format(LangUtility.Get("FileSizeError.Text", "Engine"), documentDef.DisplayName)); return(resultOperation); } if (!System.IO.Directory.Exists(BPMSResources.FilesRoot.Trim('\\'))) { System.IO.DirectoryInfo DirectoryInfoObject = System.IO.Directory.CreateDirectory(BPMSResources.FilesRoot.Trim('\\')); } using (System.IO.FileStream saveStream = System.IO.File.Create(BPMSResources.FilesRoot.Trim('\\') + "\\" + Guid)) { byte[] bytes = new byte[1024]; int lenght = 0; while ((lenght = inputStream.Read(bytes, 0, bytes.Length)) > 0) { saveStream.Write(bytes, 0, lenght); } } PostDocument = new sysBpmsDocument() { IsDeleted = false, AtachDateOf = DateTime.Now, CaptionOf = string.IsNullOrWhiteSpace(captionOF) ? documentDef.DisplayName : captionOF, EntityID = entityID, EntityDefID = entityDefID, DocumentDefID = documentDefID, FileExtention = fe, GUID = Guid, ThreadID = base.EngineSharedModel.CurrentThreadID, }; if (replace) { var _Document = this.DocumentService.GetList(documentDefID, entityDefID, entityID, "", false, null, null).FirstOrDefault(); if (_Document != null) { _Document.IsDeleted = true; this.DocumentService.Update(_Document); } } this.DocumentService.Add(PostDocument); } catch { resultOperation.AddError(LangUtility.Get("FileSaveError.Text", "Engine")); } resultOperation.CurrentObject = PostDocument; return(resultOperation); }