private IDocumentEntity GetTemplateFolderTree(Guid masterFolderGuid, string resourceType, Guid resourceId, string pathPrefixName) { var structureApplied = _documentManagementService.HasDefaultStructure(resourceType, resourceId); var contract = _contractsService.GetContractEntityByContractId(resourceId); if (!structureApplied && contract != null) { var masterData = _folderStructureMasterService.GetActive("ESSWeb", resourceType); if (masterData.Count() > 0) { var templateFolders = _folderStructureFolderService.GetFolderTree(masterData.SingleOrDefault().FolderStructureMasterGuid); _documentManagementService.ManageDefaultStructure(resourceId.ToString(), contract.ContractNumber, templateFolders, resourceType, resourceId, UserHelper.CurrentUserGuid(HttpContext)); } } var folders = _documentManagementService.GetFolderByMasterFolderGuid(masterFolderGuid, resourceType, resourceId); return(folders); }
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 ActionResult Add(JobRequestViewModel jobRequestViewModel) { try { List <string> selectionOfCompanies = new List <string>(); JobRequest jobRequest = new JobRequest(); jobRequest = ContractsMapper.MapViewModelToJobRequest(jobRequestViewModel); if (jobRequestViewModel.CompanySelected != null && jobRequestViewModel.CompanySelected.Count > 0) { foreach (var name in jobRequestViewModel.CompanySelected) { selectionOfCompanies.Add(name); } jobRequest.Companies = string.Join(",", selectionOfCompanies); } Guid id = Guid.NewGuid(); jobRequest.JobRequestGuid = id; jobRequest.CreatedOn = DateTime.Now; jobRequest.CreatedBy = UserHelper.CurrentUserGuid(HttpContext); jobRequest.UpdatedOn = DateTime.Now; jobRequest.UpdatedBy = UserHelper.CurrentUserGuid(HttpContext); jobRequest.IsActive = true; jobRequest.IsDeleted = false; jobRequest.Status = (int)JobRequestStatus.ProjectControl; _jobRequestService.Add(jobRequest); SendNotification(jobRequest.JobRequestGuid, jobRequest.ContractGuid, jobRequest.Status); //audit log.. var contractEntity = _contractRefactorService.GetContractEntityByContractId(jobRequest.ContractGuid); var additionalInformation = string.Format("{0} {1} the {2}", User.FindFirst("fullName").Value, CrudTypeForAdditionalLogMessage.Added.ToString(), ResourceType.JobRequest.ToString()); var additionalInformationURl = _configuration.GetSection("SiteUrl").Value + ("/jobRequest/Detail/" + jobRequest.ContractGuid); var resource = string.Format("{0} </br> Project No :{1} Title:{2}", "Job Request", contractEntity.ProjectNumber, contractEntity.ContractTitle); AuditLogHandler.InfoLog(_logger, User.FindFirst("fullName").Value, UserHelper.CurrentUserGuid(HttpContext), jobRequest.BasicContractInfo, resource, jobRequest.JobRequestGuid, UserHelper.GetHostedIp(HttpContext), "Job Request Added", Guid.Empty, "Successful", "", additionalInformationURl, additionalInformationURl); //end of log.. _contractRefactorService.UpdateContractUsers(jobRequest.Contracts.ContractUserRole); _contractRefactorService.UpdateProjectNumberByGuid(jobRequest.Contracts.ContractGuid, jobRequest.Contracts.ProjectNumber); //after updating contract send notification.. var key = Infrastructure.Helpers.FormatHelper.ConcatResourceTypeAndAction(Core.Entities.EnumGlobal.ResourceType.JobRequest.ToString(), "Notify"); //Core.Entities.EnumGlobal.CrudType.Create.ToString()); var redirectUrl = string.Format($@"/JobRequest/Detail/{jobRequest.Contracts.ContractGuid}"); var parameter = new { redirectUrl = redirectUrl, key = key, cameFrom = "Contract Management", resourceName = "Job Request", resourceDisplayName = "Job Request", resourceId = jobRequest.Contracts.ContractGuid }; return(RedirectToAction("Index", "Notification", parameter)); //SendEmailToRespectivePersonnel(jobRequest.Status, jobRequest.Contracts.ContractGuid); //return RedirectToAction("Details", jobRequestViewModel.BaseUrl, new { id = jobRequest.Contracts.ContractGuid }); } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(jobRequestViewModel)); } }