public RestAPIUpdateIntellectResponse UpdateIntellectual(InMemoryMultipartFormDataStreamProvider provider, int UserID) { RestAPIUpdateIntellectResponse updateIntellectualResponse = new RestAPIUpdateIntellectResponse() { Status = Success }; UpdateIntellectualRequest updateIntellectual = provider.UpdateIntellectualRequest; updateIntellectual.UserID = UserID; try { if (provider.attachFileCount != 0) { updateIntellectual.IsAttachment = true; updateIntellectual.AttachmentCount = provider.attachFileCount; } ideautils.UpdateIntellectProperty(updateIntellectualResponse, updateIntellectual); if (updateIntellectualResponse.ErrorList.Count != 0) { updateIntellectualResponse.Status = Failure; } if (provider.UpdateIntellectualRequest.files.Count == 0) { return(updateIntellectualResponse); } fileUtil.UploadIntellectualAttachmentAsync(updateIntellectualResponse, provider); if (updateIntellectualResponse.ErrorList.Count != 0) { updateIntellectualResponse.Status = Failure; } } catch (Exception ex) { updateIntellectualResponse.Status = Failure; throw new Exception(ex.Message, ex); } return(updateIntellectualResponse); }
public void UploadIntellectualAttachmentAsync(RestAPIUpdateIntellectResponse IntellectualAttachmentResponse, InMemoryMultipartFormDataStreamProvider dataStreamProvider) { IdeaIntellectualProperty intellectualProperty = null; UpdateIntellectualRequest updateIntellectual = dataStreamProvider.UpdateIntellectualRequest; dataStreamProvider.UpdateIntellectualRequest.ideaAttachments.ToList().ForEach((ideaAttachment) => { ideaAttachment.IdeaId = updateIntellectual.IdeaId; }); DatabaseWrapper.databaseOperation(response, (context, query) => { intellectualProperty = query.GetIdeaIntellectualById(context, updateIntellectual.IntellectualId); } , readOnly: true ); foreach (IdeaAttachmentRequest ideaAttachmentRequest in updateIntellectual.ideaAttachments) { string inputFileName = ideaAttachmentRequest.AttachedFileName; string folderpath = UploadPath(ideaAttachmentRequest, intellectualProperty.IdeaId); string filepath = Path.Combine(folderpath, inputFileName); logger.Info($"IntellectualAttachmentResponse==Folder path={folderpath}"); if (IsS3Enable) { UploadRequestToS3(folderpath, filepath, ideaAttachmentRequest.stream); } else { SaveAttachments(ideaAttachmentRequest.stream, inputFileName, folderpath); } } }
public void UpdateIntellectProperty(RestAPIUpdateIntellectResponse response, UpdateIntellectualRequest request) { DatabaseWrapper.databaseOperation(response, (context, query) => { IdeaIntellectualProperty intellectualProperty = query.GetIdeaIntellectualById(context, request.IntellectualId); if (intellectualProperty != null) { if (!string.IsNullOrEmpty(request.RecordId)) { intellectualProperty.RecordId = request.RecordId; } if (request.Status.GetValueOrDefault(0) != 0) { intellectualProperty.Status = request.Status; } if (!string.IsNullOrEmpty(request.ApplicationNumber)) { intellectualProperty.ApplicationNumber = request.ApplicationNumber; } if (!string.IsNullOrEmpty(request.PatentId)) { intellectualProperty.PatentId = request.PatentId; } if (!string.IsNullOrEmpty(request.InventionReference)) { intellectualProperty.InventionReference = request.InventionReference; } if (request.FiledDate.HasValue) { intellectualProperty.FiledDate = request.FiledDate; } intellectualProperty.ModifiedDate = DateTime.UtcNow; } else { response.ErrorList.Add(Faults.IdeaIntellectNotFound); response.Status = Failure; return; } // insert idea intellectual attachment if (request.AttachmentCount != 0) { request.ideaAttachments.ToList().ForEach((attachment) => { IdeaAttachment ideaAttach = new IdeaAttachment(); ideaAttach.IdeaId = (int)intellectualProperty.IdeaId; ideaAttach.AttachedFileName = attachment.AttachedFileName; ideaAttach.FileExtention = attachment.FileExtention; ideaAttach.FileSizeInByte = attachment.FileSizeInByte; ideaAttach.CreatedDate = DateTime.UtcNow; ideaAttach.FolderName = attachment.DocumentTypeFolderName; intellectualProperty.IdeaAttachments.Add(ideaAttach); }); } intellectualProperty.AttachmentCount = intellectualProperty.IdeaAttachments.Count; intellectualProperty.IsAttachment = intellectualProperty.IdeaAttachments.Count == 0 ? false : true; context.SubmitChanges(); response.Status = Success; } , readOnly: false ); if (response == null && response.ErrorList.Count != 0) { response.ErrorList.Add(Faults.ServerIsBusy); } }