public IActionResult UploadDispatchSubContractorComponents([FromForm] SubContractorComponentPayload request) { try { if (request.uploadDocs != null) { if (request.uploadDocs.Length > 5) { throw new ValueNotFoundException("Document count should not greater than 5"); } foreach (IFormFile file in request.uploadDocs) { if (constantVal.AllowedDocFileTypes.Where(x => x.Contains(file.ContentType)).Count() == 0) { throw new ValueNotFoundException(string.Format("File Type {0} is not allowed", file.ContentType)); } } if (request.uploadDocs.Select(x => x.Length).Sum() > 50000000) { throw new ValueNotFoundException(" File size exceeded limit"); } } var projectStructure = _siteDispatchService.UploadDispatchSubContractorComponents(request); return(Ok(projectStructure)); } catch (ValueNotFoundException e) { Util.LogError(e); return(StatusCode(StatusCodes.Status422UnprocessableEntity, new ErrorClass() { code = StatusCodes.Status422UnprocessableEntity.ToString(), message = e.Message })); } catch (Exception e) { Util.LogError(e); return(StatusCode(StatusCodes.Status500InternalServerError, new ErrorClass() { code = StatusCodes.Status500InternalServerError.ToString(), message = "Something went wrong" })); } }
public ResponseMessage UploadDispatchSubContractorComponents(SubContractorComponentPayload subContractorComponentPayload) { ResponseMessage response = new ResponseMessage(); List <int> lstSubContractorComponentIds = subContractorComponentPayload.DispatchReqSubContractorStructureIds.Split(',').Select(int.Parse).ToList(); response = _siteDispatchRepository.SaveSubContractorComponents(subContractorComponentPayload.DispatchDate, lstSubContractorComponentIds, subContractorComponentPayload.DispSubContractorId, subContractorComponentPayload.dispatchStructureId, subContractorComponentPayload.ComponentCount); if (response.Message != "" && subContractorComponentPayload.uploadDocs != null) { foreach (IFormFile file in subContractorComponentPayload.uploadDocs) { string fileName = file.FileName; string filePath = UploadedFile(file); string fileType = Path.GetExtension(file.FileName); response = new ResponseMessage(); response = _siteDispatchRepository.SaveSubContractorComponentDocuments(subContractorComponentPayload.DispSubContractorId, fileName, fileType, filePath); } } return(response); }