/// <summary> /// Add new document version /// </summary> /// <param name="model"></param> /// <returns></returns> public override async Task <ResultModel> AddNewDocumentVersionAsync(AddNewVersionDocumentViewModel model) { var addNewVersionRequest = await base.AddNewDocumentVersionAsync(model); if (!addNewVersionRequest.IsSuccess) { return(addNewVersionRequest); } var entryId = (Guid)addNewVersionRequest.Result; return(await WorkFlowExecutorService.SetStartStateForEntryAsync("DocumentVersion", entryId.ToString())); }
public async Task <JsonResult> AddNewDocumentVersion(AddNewVersionDocumentViewModel model) { var result = new ResultModel(); //if (!ModelState.IsValid) //{ // result.IsSuccess = false; // result.Result = model; // result.Errors.Add(new ErrorModel { Message = "model is not valid" }); // return Json(result); //} result = await _documentService.AddNewDocumentVersionAsync(model); return(Json(result)); }
/// <summary> /// Add new document version /// </summary> /// <param name="model"></param> /// <returns></returns> public virtual async Task <ResultModel> AddNewDocumentVersionAsync(AddNewVersionDocumentViewModel model) { var result = new ResultModel(); var userRequest = await _userManager.GetCurrentUserAsync(); if (!userRequest.IsSuccess) { result.Errors.Add(new ErrorModel { Message = "User not found" }); result.IsSuccess = false; return(result); } var user = userRequest.Result; var document = await _documentContext.Documents.FirstOrDefaultAsync(x => x.Id == model.DocumentId); if (document == null) { result.Errors.Add(new ErrorModel { Message = "document not fount" }); result.IsSuccess = false; return(result); } Guid?fileId = null; if (model.File != null) { fileId = FileManager.AddFile(new UploadFileViewModel { File = model.File }, user.Id).Result; } var newDocumentVersion = new DocumentVersion { DocumentId = model.DocumentId, FileStorageId = fileId, IsArhive = false, Comments = model.Comments, OwnerId = user.Id, IsMajorVersion = model.IsMajorVersion, FileName = model.File?.FileName ?? "", Url = model.Url, }; var lastVersion = await GetLastDocVersion(model.DocumentId); if (model.IsMajorVersion) { newDocumentVersion.VersionNumber = (int)lastVersion + 1; } else { newDocumentVersion.VersionNumber = lastVersion + 0.1; } await _documentContext.DocumentVersions.AddAsync(newDocumentVersion); result = await _documentContext.PushAsync(); result.Result = newDocumentVersion.Id; return(result); }