public async Task <bool> CreateNewComparismRecord(ComparedFiles comparedFiles) { await _dataContext.ComparedFiles.AddAsync(comparedFiles); var created = await _dataContext.SaveChangesAsync(); return(created > 0); }
public async Task <IActionResult> CompareStudentFiles([FromForm] CompareFileRequest compareFileRequest) { // Getting Name string firstStudentName = compareFileRequest.FirstStudentName; string secondStudentName = compareFileRequest.SecondStudentName; // Getting Files var fileOne = compareFileRequest.FirstStudentFile; var fileTwo = compareFileRequest.SecondStudentFile; double percentageSimilarity; string file1, file2; // Saving Files on Server var extension = Path.GetExtension(fileOne.FileName); var extension2 = Path.GetExtension(fileTwo.FileName); if (fileOne.Length > 0 && extension.ToLower().Equals(".txt")) { if (fileTwo.Length > 0 && extension2.ToLower().Equals(".txt")) { file1 = await getFileDataAsync(fileOne); file2 = await getFileDataAsync(fileTwo); percentageSimilarity = CalculateSimilarity(file1, file2); var user = HttpContext.Session.GetString("Id"); var comparism = new ComparedFiles { CreatorId = user, FirstStudentName = firstStudentName, FirstStudentFile = file1, SecondStudentName = secondStudentName, SecondStudentFile = file2, PercentageSimilarity = percentageSimilarity * 100 + " %" }; await _compareFilesService.CreateNewComparismRecord(comparism); } else { return(Ok(new GenericResponse { Status = "Error", Message = "Please select first Student File or Upload Valid Text File" })); } } else { return(Ok(new GenericResponse { Status = "Error", Message = "Please select first Student File or Upload Valid Text File" })); } return(Ok(new ComparismResponse { FirstStudentName = firstStudentName, FirstStudentFileContent = file1, SecondStudentName = secondStudentName, SecondStudentFileContent = file2, PercentageSimilarity = percentageSimilarity * 100 + "%" })); }