Exemple #1
0
        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);
        }