public IActionResult GetValidationData_TextSpeech(int DatasetId, int UserId, int LanguageId, int DomainId) { if (DatasetId != 0 && UserId != 0 && LanguageId != 0 && DomainId != 0) { int?max_collection_user = context.Datasets.Where(x => x.DatasetId == DatasetId) .Select(x => x.MaxCollectionUsers) .FirstOrDefault(); DatasetSubcategoryMapping datasetSubcategoryMapping = context.DatasetSubcategoryMapping .Where(x => x.DatasetId == DatasetId) .SingleOrDefault(); if (datasetSubcategoryMapping != null) { SubCategories sourcetableName = context.SubCategories.Find(datasetSubcategoryMapping.SourceSubcategoryId); SubCategories destTableName = context.SubCategories.Find(datasetSubcategoryMapping.DestinationSubcategoryId); if (destTableName.Name == "TextSpeech") { if (max_collection_user != 0) { List <long> sentences = validationInfoContext.TextspeechValidationResponseDetail.Where(x => x.UserId == UserId).Select(e => e.RefAutoid).ToList(); List <long> sentences1 = textToSpeech.TextSpeech.Where(x => x.UserId != UserId && x.IsValid == null && x.TotalValidationUsersCount < max_collection_user && x.LangId == LanguageId && x.DomainId == DomainId) .Select(e => e.AutoId).ToList(); long id = sentences1.Except(sentences).FirstOrDefault(); ValidationTextSpeechModel validationTextSpeechModel = textToSpeech.TextSpeech.Where(x => x.AutoId == id) .Select(e => new ValidationTextSpeechModel { DestAutoId = e.AutoId, SourceDataId = e.DataId, DestinationData = e.OutputData }).FirstOrDefault(); validationTextSpeechModel.SourceData = _TEXTcontext.Text.Where(x => x.DataId == validationTextSpeechModel.SourceDataId).Select(e => e.Text1).FirstOrDefault(); validationTextSpeechModel.DatasetID = DatasetId; /*ValidationTextSpeechModel validationTextSpeechModel = textToSpeech.TextSpeech.Where(x => x.UserId != UserId && x.IsValid == null * && x.TotalValidationUsersCount < max_collection_user && x.LangId == LanguageId && x.DomainId == DomainId ) * .Select(e => new ValidationTextSpeechModel * { * DestAutoId = e.AutoId, * SourceDataId = e.DataId, * DestinationData = e.OutputData * }).FirstOrDefault(); * validationTextSpeechModel.SourceData = _TEXTcontext.Text.Where(x => x.DataId == validationTextSpeechModel.SourceDataId).Select(e => e.Text1).FirstOrDefault(); * validationTextSpeechModel.DatasetID = DatasetId;*/ return(Ok(validationTextSpeechModel)); } return(NotFound()); } return(NotFound()); } } return(BadRequest()); }
public IActionResult GetValidationData_TextSpeech(int DatasetId, int UserId, int LanguageId, int DomainId) { Random rnd = new Random(); if (DatasetId != 0 && UserId != 0 && LanguageId != 0 && DomainId != 0) { int?max_collection_user = _masterContext.Datasets.Where(x => x.DatasetId == DatasetId) .Select(x => x.MaxCollectionUsers) .SingleOrDefault(); DatasetSubcategoryMapping datasetSubcategoryMapping = _masterContext.DatasetSubcategoryMapping .Where(x => x.DatasetId == DatasetId) .SingleOrDefault(); if (datasetSubcategoryMapping != null) { SubCategories sourcetableName = _masterContext.SubCategories.Find(datasetSubcategoryMapping.SourceSubcategoryId); SubCategories destTableName = _masterContext.SubCategories.Find(datasetSubcategoryMapping.DestinationSubcategoryId); if (destTableName.Name == "TextSpeech") { if (max_collection_user != null && max_collection_user != 0) { try { List <long> allText = _validationInfoContext.TextspeechValidationResponseDetail.Where(x => x.UserId == UserId).Select(e => e.RefAutoid).ToList(); List <long> selectedText = _texttoSpeechContext.TextSpeech.Where(x => x.UserId != UserId && x.IsValid == null && x.TotalValidationUsersCount < max_collection_user && x.LangId == LanguageId && x.DomainId == DomainId && x.DatasetId == DatasetId) .Select(e => e.AutoId).ToList(); //long id = selectedText.Except(allText).FirstOrDefault(); List <long> linq = selectedText.Except(allText).ToList(); long id = -1; if (linq.Count > 0) { int r = rnd.Next(linq.Count); id = linq[r]; } var lst = selectedText.Except(allText); ValidationTextSpeechModel validationTextSpeechModel = _texttoSpeechContext.TextSpeech.Where(x => x.AutoId == id) .Select(e => new ValidationTextSpeechModel { DestAutoId = e.AutoId, SourceDataId = e.DataId, DestinationData = e.OutputData }).FirstOrDefault(); validationTextSpeechModel.SourceData = _TEXTcontext.Text.Where(x => x.DataId == validationTextSpeechModel.SourceDataId).Select(e => e.Text1).FirstOrDefault(); validationTextSpeechModel.DatasetID = DatasetId; return(Ok(validationTextSpeechModel)); } catch (Exception) { return(Ok(new ValidationTextSpeechModel())); } } } } } return(BadRequest()); }