public IHttpActionResult DeleteDocument(long draftContractDocumentId, long documentId) { try { var contractDraftVersion = _dataService.Read(draftContractDocumentId); Overtech.DataModels.Document.Document document = null; if (contractDraftVersion.DocumentId > 0 && contractDraftVersion.DocumentId == documentId) { contractDraftVersion.DocumentId = 0; document = _documentService.Read(documentId); } if (document != null) { _dataService.Update(contractDraftVersion); _documentService.Delete(documentId); return(Ok()); } throw new OTException(-1, "Document Not Found"); } catch (Exception ex) { _logger.Error(PrepareExceptionMessage(MethodBase.GetCurrentMethod().Name), ex); return(Content(HttpStatusCode.InternalServerError, ex.ToString())); } }
public IHttpActionResult DeleteDocument(long pricePackageId, long documentId) { try { var pricePackage = _dataService.Read(pricePackageId); Overtech.DataModels.Document.Document document = null; if (pricePackage.Image.HasValue && pricePackage.Image.Value == documentId) { pricePackage.Image = null; document = _documentService.Read(documentId); } if (document != null) { _dataService.Update(pricePackage); _documentService.Delete(documentId); return(Ok()); } throw new OTException(-1, "Document Not Found"); } catch (Exception ex) { _logger.Error(PrepareExceptionMessage(MethodBase.GetCurrentMethod().Name), ex); return(Content(HttpStatusCode.InternalServerError, ex.ToString())); } }
public IHttpActionResult DownloadDocument(long draftContractDocumentId, long documentId) { try { var contractDraftVersion = _dataService.Read(draftContractDocumentId); Overtech.DataModels.Document.Document document = null; if (contractDraftVersion.DocumentId > 0 && contractDraftVersion.DocumentId == documentId) { document = _documentService.Read(documentId); } if (document != null) { var documentBody = _documentService.GetDocumentBody(document); var result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ByteArrayContent(documentBody) }; result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment") { FileName = document.Name }; result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); return(ResponseMessage(result)); } throw new OTException(-1, "Document Not Found"); } catch (Exception ex) { _logger.Error(PrepareExceptionMessage(MethodBase.GetCurrentMethod().Name), ex); return(Content(HttpStatusCode.InternalServerError, ex.ToString())); } }