//Import attachment file private void ImportContractAttachment(List <string> fileList, string resurceType, Guid contractGuid, Guid resourceGuid, bool isDelete) { var destinationPath = string.Empty; foreach (var item in fileList) { var folder = _documentManagementService.GetFolderByKey("Contract", contractGuid, resurceType); var contractResourceFile = _contractResourceFileService.GetFilePathByResourceIdAndKeys(resurceType, contractGuid); if (contractResourceFile != null) { destinationPath = rootPath + contractResourceFile.FilePath + "/"; var fileSize = new System.IO.FileInfo(item).Length.ToString(); var outPutPath = _importFileService.MoveAttachment(item, destinationPath, isDelete); if (!string.IsNullOrWhiteSpace(outPutPath)) { var isCSV = Path.GetExtension(item) == ".csv" ? true : false; ContractResourceFile contractFile = new ContractResourceFile(); contractFile.ContractResourceFileGuid = Guid.NewGuid(); contractFile.ResourceGuid = contractGuid; contractFile.CreatedBy = loggedUser; contractFile.CreatedOn = DateTime.UtcNow; contractFile.Keys = resurceType; contractFile.IsActive = true; contractFile.IsCsv = isCSV; contractFile.IsDeleted = false; contractFile.UpdatedBy = loggedUser; contractFile.UpdatedOn = DateTime.Now; contractFile.ContentResourceGuid = resourceGuid; contractFile.IsFile = true; contractFile.ResourceType = "Contract"; contractFile.UploadFileName = Path.GetFileName(item); contractFile.FilePath = outPutPath.Replace(rootPath, ""); contractFile.FileSize = fileSize; if (folder != null) { contractFile.ParentId = contractResourceFile.ContractResourceFileGuid; } _contractsService.InsertContractFile(contractFile); } } } }
public IActionResult Add([FromForm] EmployeeBillingRatesViewModel employeeBillingRates) { try { if (employeeBillingRates.FileToUpload == null) { ModelState.AddModelError("", "Please insert the file."); return(BadRequest(ModelState)); } var isfileValid = _fileService.UploadFileTypeCheck(employeeBillingRates.FileToUpload); employeeBillingRates.CreatedOn = CurrentDateTimeHelper.GetCurrentDateTime(); employeeBillingRates.UpdatedOn = CurrentDateTimeHelper.GetCurrentDateTime(); employeeBillingRates.CreatedBy = UserHelper.CurrentUserGuid(HttpContext); employeeBillingRates.UpdatedBy = UserHelper.CurrentUserGuid(HttpContext); employeeBillingRates.IsActive = true; employeeBillingRates.IsDeleted = false; var contractNumber = _contractRefactorService.GetContractNumberById(employeeBillingRates.ContractGuid); var contractResourceFile = _contractResourceFileService.GetFilePathByResourceIdAndKeys(Core.Entities.EnumGlobal.ResourceType.EmployeeBillingRates.ToString(), employeeBillingRates.ContractGuid); if (contractResourceFile != null && (employeeBillingRates.FileToUpload != null || employeeBillingRates.FileToUpload.Length != 0)) { var filename = ""; if (!isfileValid) { var directoryPath = Path.GetDirectoryName(contractResourceFile.FilePath); filename = _fileService.FilePost($@"{documentRoot}/{contractResourceFile.FilePath}/", employeeBillingRates.FileToUpload); employeeBillingRates.IsCsv = false; filePath = $"{contractResourceFile.FilePath}/{filename}"; } else { var files = _contractRefactorService.GetFileByResourceGuid(employeeBillingRates.ContractGuid, Core.Entities.EnumGlobal.ResourceType.EmployeeBillingRates.ToString()); var relativePath = $@"{documentRoot}/{contractResourceFile.FilePath}/"; var previousFile = string.Empty; if (files != null) { previousFile = files.UploadFileName; } filename = _fileService.MoveFile(relativePath, previousFile, employeeBillingRates.FileToUpload); employeeBillingRates.IsCsv = true; var fullPath = $@"{relativePath}/{filename}"; Helpers.CsvValidationHelper.ChecksValidHeaderAndReadTheFile(fullPath, relativePath, previousFile, (Models.ViewModels.EnumGlobal.UploadMethodName)UploadMethodName.EmployeeBillingRate); filePath = $"{contractResourceFile.FilePath}/{filename}"; } employeeBillingRates.FilePath = filePath; employeeBillingRates.UploadFileName = filename; } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var contractFile = ContractsMapper.MapEmployeeBillingRatesViewModelToContractFiles(employeeBillingRates); contractFile.ResourceType = Core.Entities.EnumGlobal.ResourceType.Contract.ToString(); if (contractResourceFile != null) { contractFile.ParentId = contractResourceFile.ContractResourceFileGuid; } _contractRefactorService.CheckAndInsertContractFile(contractFile); //audit log.. var contractEntity = _contractRefactorService.GetContractEntityByContractId(contractFile.ResourceGuid); var additionalInformation = string.Format("{0} {1} the {2}", User.FindFirst("fullName").Value, CrudTypeForAdditionalLogMessage.Uploaded.ToString(), "Employee Billing Rates File"); string additionalInformationURl = string.Empty; string resource = string.Empty; if (contractEntity.ParentContractGuid == Guid.Empty || contractEntity.ParentContractGuid == null) { additionalInformationURl = _configuration.GetSection("SiteUrl").Value + ("/Contract/Details/" + contractEntity.ContractGuid); resource = string.Format("{0} </br> Contract No:{1} </br> Project No:{2} </br> File Name:{3}", "Employee Billing Rates", contractEntity.ContractNumber, contractEntity.ProjectNumber, employeeBillingRates.UploadFileName); } else { additionalInformationURl = _configuration.GetSection("SiteUrl").Value + ("/Project/Details/" + contractEntity.ContractGuid); resource = string.Format("{0} </br> TaskOrder No:{1} </br> Project No:{2} </br> File Name:{3}", "Employee Billing Rates", contractEntity.ContractNumber, contractEntity.ProjectNumber, employeeBillingRates.UploadFileName); } AuditLogHandler.InfoLog(_logger, User.FindFirst("fullName").Value, UserHelper.CurrentUserGuid(HttpContext), contractFile, resource, contractFile.ContractResourceFileGuid, UserHelper.GetHostedIp(HttpContext), "File Uploaded", Guid.Empty, "Successful", "", additionalInformation, additionalInformationURl); //end of audit log. return(Ok(new { status = ResponseStatus.success.ToString(), message = "Successfully Added !!" })); } catch (Exception ex) { ModelState.AddModelError(ex.ToString(), ex.Message); return(BadRequest(ModelState)); } }
public IActionResult Add([FromBody] ContractModificationViewModel contractModificationModel) { try { List <string> filePath = new List <string>(); string validation = validateModel(contractModificationModel); if (validation != YesNoStatus.Yes.ToString()) { ModelState.AddModelError("", validation); return(BadRequest(ModelState)); } if (ModelState.IsValid) { Guid id = Guid.NewGuid(); contractModificationModel.ContractModificationGuid = id; contractModificationModel.CreatedOn = CurrentDateTimeHelper.GetCurrentDateTime(); contractModificationModel.CreatedBy = UserHelper.CurrentUserGuid(HttpContext); contractModificationModel.UpdatedOn = CurrentDateTimeHelper.GetCurrentDateTime(); contractModificationModel.UpdatedBy = UserHelper.CurrentUserGuid(HttpContext); contractModificationModel.IsActive = true; contractModificationModel.IsDeleted = false; contractModificationModel.AwardAmount = contractModificationModel.AwardAmount ?? 0; if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var contractId = _contractService.GetContractIdByProjectId(contractModificationModel.ContractGuid); var parentContractNumber = _contractService.GetContractNumberById(contractId); var taskOrderContractNumber = _contractService.GetContractNumberById(contractModificationModel.ContractGuid); var taskModificationEntity = _mapper.Map <ContractModification>(contractModificationModel); taskModificationEntity.IsTaskModification = true; //added task modification through contract modification _contractModificationService.Add(taskModificationEntity); //audit log.. var additionalInformation = string.Format("{0} {1} the {2}", User.FindFirst("fullName").Value, CrudTypeForAdditionalLogMessage.Added.ToString(), "Task Order Mod"); var additionalInformationURl = _configuration.GetSection("SiteUrl").Value + ("/Project/Details/" + taskModificationEntity.ContractGuid); var resource = string.Format("{0} </br> Mod No:{1} </br> Mod Title:{2}", "Task Order Mod", taskModificationEntity.ModificationNumber, taskModificationEntity.ModificationTitle); AuditLogHandler.InfoLog(_logger, User.FindFirst("fullName").Value, UserHelper.CurrentUserGuid(HttpContext), taskModificationEntity, resource, taskModificationEntity.ContractModificationGuid, UserHelper.GetHostedIp(HttpContext), "Taskorder Mod Added", Guid.Empty, "Successful", "", additionalInformationURl, additionalInformationURl); //end of log.. bool istriggered = false; var revenueGuid = SaveAndNotifyRevenueRepresentative(taskModificationEntity); if (revenueGuid != Guid.Empty) { istriggered = true; } bool isViewHistory = false; var historyCount = _revenueRecognitionService.DetailListCount(taskModificationEntity.ContractGuid, ""); if (historyCount > 0) { isViewHistory = true; } //get file info.. var contractResourceFile = _contractResourceFileService.GetFilePathByResourceIdAndKeys(ContractResourceFileKey.ContractModification.ToString(), contractModificationModel.ContractGuid); var jsonObject = new { status = ResponseStatus.success.ToString(), message = "Successfully Added !!", revenueGuid = revenueGuid, viewHistory = isViewHistory, istriggered = istriggered, contractGuid = taskModificationEntity.ContractGuid, resourceId = taskModificationEntity.ContractModificationGuid, uploadPath = contractResourceFile.FilePath, parentId = contractResourceFile.ContractResourceFileGuid }; return(Ok(jsonObject)); } else { return(BadRequest(ModelState)); } } catch (ArgumentException ex) { ModelState.AddModelError("", ex.Message); return(BadRequestFormatter.BadRequest(this, ex)); } catch (Exception e) { ModelState.AddModelError("", e.Message); return(BadRequestFormatter.BadRequest(this, e)); } }
public IActionResult UploadSaveFile(Guid resourceId, string resourceKey, string uploadPath, string[] fileInfo, Guid parentid, string contractResourceFileKey, Guid ContentResourceGuid) { try { //Avoiding Kendo Uploader's default call if (resourceId == Guid.Empty || string.IsNullOrEmpty(uploadPath)) { return(Ok(true)); } //If new file/s have been uploaded if (Request.Form.Files.Count > 0) { var files = Request.Form.Files; //foreach (var file in files) for (int i = 0; i < files.Count; i++) { var fileInfoObj = fileInfo[i].Split(','); //save file in folder.. var fullPath = files[i].FileName.Split("\\"); var originalFileName = fullPath[fullPath.Length - 1]; //var fullPhysicalFilePath = Path.Combine(documentRoot, uploadPath); var fullPhysicalFilePath = string.Concat(documentRoot, uploadPath); var uniqueFileName = _fileService.SaveFile(fullPhysicalFilePath, files[i]); var relativeFilePath = Path.Combine(uploadPath, uniqueFileName); //save file info in database.. ContractFileViewModel contractFileViewModel = new ContractFileViewModel(); contractFileViewModel.ContractResourceFileGuid = new Guid(fileInfoObj[0]); contractFileViewModel.CreatedOn = CurrentDateTimeHelper.GetCurrentDateTime(); contractFileViewModel.UpdatedOn = CurrentDateTimeHelper.GetCurrentDateTime(); contractFileViewModel.CreatedBy = UserHelper.CurrentUserGuid(HttpContext); contractFileViewModel.UpdatedBy = UserHelper.CurrentUserGuid(HttpContext); contractFileViewModel.Description = WebUtility.UrlDecode(fileInfoObj[1]); contractFileViewModel.MimeType = files[i].ContentType; contractFileViewModel.ResourceGuid = resourceId; //contractFileViewModel.keys = resourceKey; contractFileViewModel.ParentId = parentid; contractFileViewModel.UploadFileName = uniqueFileName; contractFileViewModel.UploadUniqueFileName = uniqueFileName; contractFileViewModel.IsActive = true; contractFileViewModel.IsDeleted = false; contractFileViewModel.FilePath = relativeFilePath; contractFileViewModel.FileSize = fileInfoObj[4]; contractFileViewModel.Isfile = true; contractFileViewModel.keys = contractResourceFileKey; contractFileViewModel.ResourceType = resourceKey; contractFileViewModel.ContentResourceGuid = ContentResourceGuid; if (resourceKey.ToUpper() == EnumGlobal.ResourceType.ContractModification.ToString().ToUpper() || resourceKey.ToUpper() == EnumGlobal.ResourceType.TaskOrderModification.ToString().ToUpper()) { var contractGuid = _contractModificationService.GetDetailById(ContentResourceGuid).ContractGuid; var contractResourceFile = _contractResourceFileService.GetFilePathByResourceIdAndKeys(ContractResourceFileKey.ContractModification.ToString(), contractGuid); contractFileViewModel.ParentId = contractResourceFile.ContractResourceFileGuid; contractFileViewModel.keys = ContractResourceFileKey.ContractModification.ToString(); contractFileViewModel.ResourceGuid = contractGuid; //contractFileViewModel.ResourceType = resourceKey; //for task order also resourcetype is Contract to show in the tree view from the database.. contractFileViewModel.ResourceType = EnumGlobal.ResourceType.Contract.ToString(); } else if ((parentid == Guid.Empty || parentid != null) && ContentResourceGuid == Guid.Empty) { if (resourceKey.ToUpper() != EnumGlobal.ResourceType.ContractCloseOut.ToString().ToUpper()) { var contractResourceFile = _contractResourceFileService.GetFilePathByResourceIdAndKeys(EnumGlobal.ResourceType.Base.ToString(), resourceId); contractFileViewModel.ParentId = contractResourceFile.ContractResourceFileGuid; contractFileViewModel.keys = EnumGlobal.ResourceType.Base.ToString(); //contractFileViewModel.ResourceType = resourceKey; //for task order also resourcetype is Contract to show in the tree view from the database.. contractFileViewModel.ResourceType = EnumGlobal.ResourceType.Contract.ToString(); } } if (resourceKey.ToUpper() == EnumGlobal.ResourceType.ContractCloseOut.ToString().ToUpper()) { contractFileViewModel.ResourceType = EnumGlobal.ResourceType.Contract.ToString(); } var fileEntity = _mapper.Map <ContractResourceFile>(contractFileViewModel); _contractRefactorService.InsertContractFile(fileEntity); //auditlog.. AuditLogForUploadDownload(fileEntity, CrudTypeForAdditionalLogMessage.Uploaded.ToString()); } } //If existing file/s description have been changed if (fileInfo.Length > Request.Form.Files.Count) { for (int i = Request.Form.Files.Count; i <= fileInfo.Length - 1; i++) { var fileInfoObj = fileInfo[i].Split(','); var fileById = _contractRefactorService.GetFilesByContractFileGuid(new Guid(fileInfoObj[0])); if (fileById != null) { fileById.Description = WebUtility.UrlDecode(fileInfoObj[1]); _contractRefactorService.UpdateFile(fileById); } } } return(Ok(true)); } catch (Exception ex) { return(BadRequestFormatter.BadRequest(this, ex)); } }