Ejemplo n.º 1
0
        public IActionResult UploadText(int UserId, int DataId, int DatasetId, string Text, int LangId = 0)
        {
            DatasetSubcategoryMapping datasetSubcategoryMapping = _context.DatasetSubcategoryMapping.Where(x => x.DatasetId == DatasetId).SingleOrDefault();
            SubCategories             destTableName             = _context.SubCategories.Find(datasetSubcategoryMapping.DestinationSubcategoryId);

            if (destTableName.Name == "ImageText")
            {
                try
                {
                    ImageText imageText = new ImageText
                    {
                        UserId       = UserId,
                        DataId       = DataId,
                        DomainId     = iMAGEContext.Images.Where(x => x.DataId == DataId).FirstOrDefault().DomainId,
                        OutputData   = Text,
                        OutputLangId = _context.UserInfo.SingleOrDefault(x => x.UserId == UserId).LangId1,
                        DatasetId    = DatasetId,
                        AddedOn      = DateTime.Now
                    };
                    imageToTextContext.ImageText.Add(imageText);
                    imageToTextContext.SaveChanges();
                    return(Ok(true));
                }
                catch (Exception ex)
                {
                    return(BadRequest(false));
                }
            }
            else if (destTableName.Name == "TextText")
            {
                try
                {
                    TextText textText = new TextText
                    {
                        UserId       = UserId,
                        DataId       = DataId,
                        LangId       = _context.UserInfo.SingleOrDefault(x => x.UserId == UserId).LangId1,
                        DomainId     = _TEXTContext.Text.FirstOrDefault(x => x.DataId == DataId).DomainId,
                        OutputData   = Text,
                        OutputLangId = _context.UserInfo.SingleOrDefault(x => x.UserId == UserId).LangId1,
                        DatasetId    = DatasetId,
                        AddedOn      = DateTime.Now
                    };
                    textContext.TextText.Add(textText);
                    textContext.SaveChanges();
                    jsonResponse.IsSuccessful = true;
                    jsonResponse.Response     = "Text aved";
                    return(Ok(jsonResponse));
                }
                catch (Exception)
                {
                    jsonResponse.IsSuccessful = false;
                    jsonResponse.Response     = "Text not saved";
                    return(BadRequest(jsonResponse));
                }
            }
            jsonResponse.IsSuccessful = false;
            jsonResponse.Response     = "Text not saved";
            return(BadRequest(jsonResponse));
        }
Ejemplo n.º 2
0
        public IActionResult GetImage(int DatasetId, int UserId)
        {
            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 (sourcetableName.Name == "Images")
                {
                    int         langId = _context.UserInfo.FirstOrDefault(x => x.UserId == UserId).LangId1;
                    List <long> Images;
                    if (DatasetId == 2)//TODO
                    {
                        Images = iMAGEContext.Images.Where(x => x.DatasetId == DatasetId).Select(user => user.DataId).ToList();
                    }
                    else
                    {
                        Images = iMAGEContext.Images.Where(x => x.DatasetId == DatasetId && x.LangId == langId).Select(user => user.DataId).ToList();
                    }

                    if (destTableName.Name == "ImageText")
                    {
                        List <long> UserData = imageToTextContext.ImageText.Where(user => user.UserId == UserId).Select(user => user.DataId).Distinct().ToList();
                        List <long> linq     = Images.Except(UserData).ToList();
                        return(Ok(new { ImageString = iMAGEContext.Images.Find(linq.First()).Image, DataId = linq.First() }));
                    }
                }
            }
            return(NotFound());
        }
Ejemplo n.º 3
0
        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());
        }
Ejemplo n.º 4
0
        public IActionResult DeleteDatasetSubcategoryMapping(DatasetSubcategoryMapping _datasetSubcategoryMapping)
        {
            try
            {
                var datasetSubcategoryMapping = _CLRCP_MASTERContext.DatasetSubcategoryMapping.Where(e => e.AutoId == _datasetSubcategoryMapping.AutoId).FirstOrDefault();

                _CLRCP_MASTERContext.DatasetSubcategoryMapping.Remove(datasetSubcategoryMapping);
                _CLRCP_MASTERContext.SaveChanges();
                return(Ok(true));
            }
            catch (Exception)
            {
                return(BadRequest(false));
            }
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> Uploadfile(int UserId, int DataId, int DatasetId, int LangId, int DomainId, IFormFile file)
        {
            DatasetSubcategoryMapping datasetSubcategoryMapping = _context.DatasetSubcategoryMapping.Find(DatasetId);
            SubCategories             destTableName             = _context.SubCategories.Find(datasetSubcategoryMapping.DestinationSubcategoryId);

            if (destTableName.Name == "TextSpeech")
            {
                try
                {
                    using (var stream = new MemoryStream())
                    {
                        await file.CopyToAsync(stream);

                        TextSpeech textSpeech = new TextSpeech();
                        textSpeech.UserId     = UserId;
                        textSpeech.Age        = _context.UserInfo.Find(UserId).Age;
                        textSpeech.Gender     = _context.UserInfo.Find(UserId).Gender;
                        textSpeech.DataId     = DataId;
                        textSpeech.LangId     = LangId;
                        textSpeech.DomainId   = DomainId;
                        textSpeech.OutputData = stream.ToArray();
                        textSpeech.DatasetId  = DatasetId;
                        textSpeech.AddedOn    = DateTime.Now;
                        textSpeech.TotalValidationUsersCount = 0;

                        TextToSpeech.TextSpeech.Add(textSpeech);
                        TextToSpeech.SaveChanges();
                        jsonResponse.IsSuccessful = true;
                        jsonResponse.Response     = "File Uploaded Successfully";
                        return(Ok(jsonResponse));
                    }
                }
                catch (Exception)
                {
                    jsonResponse.IsSuccessful = false;
                    jsonResponse.Response     = "Internal Exception";
                    return(BadRequest(jsonResponse));
                }
            }
            jsonResponse.IsSuccessful = false;
            jsonResponse.Response     = "Table Not Found.";
            return(NotFound(jsonResponse));
        }
Ejemplo n.º 6
0
 public IActionResult EditDatasetSubcategoryMapping(DatasetSubcategoryMapping _datasetSubcategoryMapping)
 {
     try
     {
         var datasetSubcategoryMapping = _CLRCP_MASTERContext.DatasetSubcategoryMapping.Where(e => e.AutoId == _datasetSubcategoryMapping.AutoId).FirstOrDefault();
         datasetSubcategoryMapping.DatasetId                 = _datasetSubcategoryMapping.DatasetId;
         datasetSubcategoryMapping.SourceSubcategoryId       = _datasetSubcategoryMapping.SourceSubcategoryId;
         datasetSubcategoryMapping.DestinationSubcategoryId  = _datasetSubcategoryMapping.DestinationSubcategoryId;
         datasetSubcategoryMapping.SourceSubcategoryId2      = _datasetSubcategoryMapping.SourceSubcategoryId2;
         datasetSubcategoryMapping.DestinationSubcategoryId2 = _datasetSubcategoryMapping.DestinationSubcategoryId2;
         datasetSubcategoryMapping.SourceSubcategoryId3      = _datasetSubcategoryMapping.SourceSubcategoryId3;
         datasetSubcategoryMapping.DestinationSubcategoryId3 = _datasetSubcategoryMapping.DestinationSubcategoryId3;
         _CLRCP_MASTERContext.SaveChanges();
         return(Ok(true));
     }
     catch (Exception)
     {
         return(BadRequest(false));
     }
 }
Ejemplo n.º 7
0
        public IActionResult GetText(int DatasetId, int UserId, int langId, int DomainId)
        {
            //int langId = _context.UserInfo.FirstOrDefault(x => x.UserId == UserId).LangId1;

            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 (sourcetableName.Name == "Text")
                {
                    //List<int> sentences = _TEXTContext.Text.Where(x => x.DatasetId == DatasetId && x.LangId== langId).Select(user => user.DataId).ToList();
                    if (destTableName.Name == "TextSpeech")
                    {
                        List <int> sentences = _TEXTContext.Text.Where(x => x.DatasetId == DatasetId && x.LangId == langId && x.DomainId == DomainId).Select(user => user.DataId).ToList();
                        List <int> UserData  = TextToSpeech.TextSpeech.Where(user => user.UserId == UserId).Select(user => user.DataId).Distinct().ToList();
                        List <int> linq      = sentences.Except(UserData).ToList();
                        return(Ok(new
                        {
                            Text = _TEXTContext.Text.Find(linq.First()).Text1,
                            DataId = linq.First()
                        }));
                    }
                    else if (destTableName.Name == "TextText")
                    {
                        //langId = 24;//TODO
                        List <int> sentences = _TEXTContext.Text.Where(x => x.DatasetId == DatasetId).Select(user => user.DataId).ToList();
                        List <int> textText  = textContext.TextText.Where(x => x.DatasetId == DatasetId).Select(user => user.DataId).ToList();
                        List <int> linq      = sentences.Except(textText).ToList();
                        return(Ok(new
                        {
                            Text = _TEXTContext.Text.Find(linq.First()).Text1,
                            DataId = linq.First()
                        }));
                    }
                }
            }
            return(NotFound());
        }
Ejemplo n.º 8
0
 public IActionResult AddDatasetSubcategoryMapping(DatasetSubcategoryMapping _datasetSubcategoryMapping)
 {
     try
     {
         DatasetSubcategoryMapping datasetSubcategoryMapping = new DatasetSubcategoryMapping
         {
             DatasetId                 = _datasetSubcategoryMapping.DatasetId,
             SourceSubcategoryId       = _datasetSubcategoryMapping.SourceSubcategoryId,
             DestinationSubcategoryId  = _datasetSubcategoryMapping.DestinationSubcategoryId,
             SourceSubcategoryId2      = _datasetSubcategoryMapping.SourceSubcategoryId2,
             DestinationSubcategoryId2 = _datasetSubcategoryMapping.DestinationSubcategoryId2,
             SourceSubcategoryId3      = _datasetSubcategoryMapping.SourceSubcategoryId3,
             DestinationSubcategoryId3 = _datasetSubcategoryMapping.DestinationSubcategoryId3
         };
         _CLRCP_MASTERContext.DatasetSubcategoryMapping.Add(datasetSubcategoryMapping);
         _CLRCP_MASTERContext.SaveChanges();
         return(Ok(true));
     }
     catch (Exception)
     {
         return(BadRequest(false));
     }
 }
Ejemplo n.º 9
0
        public IActionResult GetValidationData_TextText(int DatasetId, int UserId, int SourceLangId, int DestLangId, int DomainId)
        {
            Random rnd = new Random();

            if (DatasetId != 0 && UserId != 0 && SourceLangId != 0 && DomainId != 0)
            {
                //get max user which process the validation for current dataset
                int?max_collection_user = _MasterContext.Datasets.Where(x => x.DatasetId == DatasetId)
                                          .Select(x => x.MaxCollectionUsers)
                                          .SingleOrDefault();

                //find dataset subcategory mapping { source table and destination table }
                DatasetSubcategoryMapping datasetSubcategoryMapping = _MasterContext.DatasetSubcategoryMapping
                                                                      .Where(x => x.DatasetId == DatasetId)
                                                                      .SingleOrDefault();

                if (datasetSubcategoryMapping != null)
                {
                    string sourcetableName = _MasterContext.SubCategories.Find(datasetSubcategoryMapping.SourceSubcategoryId).Name;
                    string destTableName   = _MasterContext.SubCategories.Find(datasetSubcategoryMapping.DestinationSubcategoryId).Name;

                    if (destTableName == "TextText")
                    {
                        if (max_collection_user != null && max_collection_user != 0)
                        {
                            try
                            {
                                //Get all sentences id which is already validate by user from Validation Info Database
                                List <long> UsersvalidatedText = _validationInfoContext.TexttextValidationResponseDetail.Where(x => x.UserId == UserId).Select(e => e.RefAutoid).ToList();
                                //get all sentences which is not contributed by current user and other filters
                                List <long> SentencesToProcess = _textToTextContext.TextText.Where(x => x.UserId != UserId && x.IsValid == null &&
                                                                                                   x.TotalValidationUsersCount < max_collection_user && x.LangId == SourceLangId && x.OutputLangId == DestLangId && x.DomainId == DomainId && x.DatasetId == DatasetId)
                                                                 .Select(e => e.AutoId).ToList();
                                //substract already validate sentences from remaining sentences {get id of first sentence}

                                //long id = SentencesToProcess.Except(UsersvalidatedText).FirstOrDefault();
                                List <long> linq = SentencesToProcess.Except(UsersvalidatedText).ToList();

                                long id = -1;
                                if (linq.Count > 0)
                                {
                                    int r = rnd.Next(linq.Count);
                                    id = linq[r];
                                }

                                ValidationTextToTextModel validationTexToTextModel = _textToTextContext.TextText.Where(x => x.AutoId == id)
                                                                                     .Select(e => new ValidationTextToTextModel
                                {
                                    DestAutoId      = e.AutoId,
                                    SourceDataId    = e.DataId,
                                    DestinationData = e.OutputData
                                }).FirstOrDefault();
                                validationTexToTextModel.SourceData = _textContext.Text.Where(x => x.DataId == validationTexToTextModel.SourceDataId).Select(e => e.Text1).FirstOrDefault();
                                validationTexToTextModel.DatasetID  = DatasetId;
                                return(Ok(validationTexToTextModel));
                            }
                            catch (Exception)
                            {
                                return(Ok(new ValidationTextToTextModel()));
                            }
                        }
                        return(NotFound());
                    }
                    return(NotFound());
                }
            }
            return(BadRequest());
        }
Ejemplo n.º 10
0
        public IActionResult SetValidationData_TextText(int UserId, int DestAutoId, int DatasetId, int IsMatch)
        {
            DatasetSubcategoryMappingValidation datasetSubcategoryMappingValidation = _MasterContext.DatasetSubcategoryMappingValidation
                                                                                      .Where(x => x.DatasetId == DatasetId)
                                                                                      .SingleOrDefault();

            if (datasetSubcategoryMappingValidation != null)
            {
                SubCategories destTableNameValidation = _MasterContext.SubCategories.Find(datasetSubcategoryMappingValidation.DestinationSubcategoryId);

                if (destTableNameValidation.Name == "TEXTTEXT_VALIDATION_RESPONSE_DETAIL")
                {
                    int IsValidFlag = 0;
                    if (IsMatch == 1 /*&& NoCrossTalk == 1 && IsClear == 1*/)
                    {
                        IsValidFlag = 1;
                    }
                    _validationInfoContext.TexttextValidationResponseDetail.Add(new TexttextValidationResponseDetail
                    {
                        UserId         = UserId,
                        RefAutoid      = DestAutoId,
                        IsMatch        = IsMatch,
                        ValidationFlag = IsValidFlag
                    });


                    ///set count
                    DatasetSubcategoryMapping datasetSubcategoryMapping = _MasterContext.DatasetSubcategoryMapping
                                                                          .Where(x => x.DatasetId == DatasetId)
                                                                          .SingleOrDefault();

                    if (datasetSubcategoryMapping != null)
                    {
                        SubCategories destTableName = _MasterContext.SubCategories.Find(datasetSubcategoryMapping.DestinationSubcategoryId);

                        if (destTableName.Name == "TextText")
                        {
                            TextText imageText = _textToTextContext.TextText.Where(x => x.AutoId == DestAutoId).Select(x => x).SingleOrDefault();
                            if (imageText != null)
                            {
                                imageText.TotalValidationUsersCount += 1;
                                if (IsMatch == 1 /*&& NoCrossTalk == 1 && IsClear == 1*/)
                                {
                                    //imageText.VoteCount += 1;
                                    if (imageText.VoteCount == null)
                                    {
                                        imageText.VoteCount = 1;
                                    }
                                    else
                                    {
                                        imageText.VoteCount += 1;
                                    }
                                }
                                int?maxValidationUsers = _MasterContext.Datasets.Where(x => x.DatasetId == DatasetId)
                                                         .Select(x => x.MaxValidationUsers)
                                                         .FirstOrDefault();
                                if (maxValidationUsers != null)
                                {
                                    if (maxValidationUsers * 0.5 < imageText.VoteCount)
                                    {
                                        imageText.IsValid = 1;
                                    }
                                    else if (maxValidationUsers * 0.5 < (imageText.TotalValidationUsersCount - imageText.VoteCount))
                                    {
                                        imageText.IsValid = 0;
                                    }

                                    try
                                    {
                                        _validationInfoContext.SaveChangesAsync();
                                        _textToTextContext.SaveChangesAsync();
                                    }
                                    catch (Exception)
                                    {
                                        _jsonResponse.Response = "Internal Exception";
                                        return(BadRequest(_jsonResponse));
                                    }
                                    _jsonResponse.IsSuccessful = true;
                                    _jsonResponse.Response     = "Saved";
                                    return(Ok(_jsonResponse));
                                }
                            }
                        }
                    }
                }
            }
            _jsonResponse.IsSuccessful = false;
            _jsonResponse.Response     = "Details not match";
            return(NotFound(_jsonResponse));
        }
Ejemplo n.º 11
0
        public IActionResult GetValidationData_ImageText(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 == "ImageText")
                    {
                        if (max_collection_user != null && max_collection_user != 0)
                        {
                            try
                            {
                                List <long> UsersvalidatedText = _validationInfoContext.ImagetextValidationResponseDetail.Where(x => x.UserId == UserId).Select(e => e.RefAutoid).ToList();
                                List <long> selectedText       = imageToTextContext.ImageText.Where(x => x.UserId != UserId && x.IsValid == null &&
                                                                                                    x.TotalValidationUsersCount < max_collection_user && x.OutputLangId == LanguageId && x.DomainId == DomainId && x.DatasetId == DatasetId)
                                                                 .Select(e => e.AutoId).ToList();

                                //long id = selectedText.Except(UsersvalidatedText).FirstOrDefault();

                                List <long> linq = selectedText.Except(UsersvalidatedText).ToList();

                                long id = -1;
                                if (linq.Count > 0)
                                {
                                    int r = rnd.Next(linq.Count);
                                    id = linq[r];
                                }

                                var lst = selectedText.Except(UsersvalidatedText);

                                ValidationImageTextModel validationImageTextModel = imageToTextContext.ImageText.Where(x => x.AutoId == id)
                                                                                    .Select(e => new ValidationImageTextModel
                                {
                                    DestAutoId      = e.AutoId,
                                    SourceDataId    = e.DataId,
                                    DestinationData = e.OutputData
                                }).FirstOrDefault();
                                validationImageTextModel.SourceData = Convert.ToBase64String(iMAGEContext.Images.Where(x => x.DataId == validationImageTextModel.SourceDataId).Select(e => e.Image).FirstOrDefault());
                                validationImageTextModel.DatasetID  = DatasetId;
                                return(Ok(validationImageTextModel));
                            }
                            catch (Exception)
                            {
                                return(Ok(new ValidationImageTextModel()));
                            }
                        }
                    }
                }
            }
            return(BadRequest());
        }
Ejemplo n.º 12
0
        public IActionResult GetText(int DatasetId, int UserId, int langId, int DomainId)
        {
            try
            {
                Random rnd = new Random();
                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 (sourcetableName.Name == "Text")
                    {
                        //List<int> sentences = _TEXTContext.Text.Where(x => x.DatasetId == DatasetId && x.LangId== langId).Select(user => user.DataId).ToList();
                        if (destTableName.Name == "TextSpeech")
                        {
                            List <long> sentences = _TEXTContext.Text.Where(x => x.DatasetId == DatasetId && x.LangId == langId && x.DomainId == DomainId).Select(user => user.DataId).ToList();
                            List <long> UserData  = TextToSpeech.TextSpeech.Where(user => user.DatasetId == DatasetId && user.UserId == UserId).Select(user => user.DataId).Distinct().ToList();
                            List <long> linq      = sentences.Except(UserData).ToList();

                            if (linq.Count > 0)
                            {
                                int r = rnd.Next(linq.Count);
                                return(Ok(new
                                {
                                    Text = _TEXTContext.Text.Find(linq[r]).Text1,
                                    DataId = linq[r]
                                }));
                            }
                        }
                        else if (destTableName.Name == "TextText")
                        {
                            //langId = 24;//TODO
                            List <long> sentences = _TEXTContext.Text.Where(x => x.DatasetId == DatasetId && x.LangId == langId && x.DomainId == DomainId).Select(user => user.DataId).ToList();
                            List <long> textText  = textContext.TextText.Where(user => user.DatasetId == DatasetId && user.UserId == UserId).Select(user => user.DataId).ToList();
                            List <long> linq      = sentences.Except(textText).ToList();
                            if (linq.Count > 0)
                            {
                                int r = rnd.Next(linq.Count);
                                return(Ok(new
                                {
                                    //Text = _TEXTContext.Text.Find(linq.FirstOrDefault()).Text1,
                                    Text = _TEXTContext.Text.Find(linq[r]).Text1,
                                    DataId = linq[r]
                                }));
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
                return(Ok(new
                {
                    Text = string.Empty,
                    DataId = 0
                }));
            }
            //int langId = _context.UserInfo.FirstOrDefault(x => x.UserId == UserId).LangId1;

            return(Ok(new
            {
                Text = string.Empty,
                DataId = 0
            }));
        }
Ejemplo n.º 13
0
        public IActionResult SetValidationData_TextSpeech(int UserId, int DestAutoId, int DatasetId, int IsMatch, int NoCrossTalk, int IsClear)
        {
            DatasetSubcategoryMappingValidation datasetSubcategoryMappingValidation = context.DatasetSubcategoryMappingValidation
                                                                                      .Where(x => x.DatasetId == DatasetId)
                                                                                      .SingleOrDefault();

            if (datasetSubcategoryMappingValidation != null)
            {
                SubCategories destTableNameValidation = context.SubCategories.Find(datasetSubcategoryMappingValidation.DestinationSubcategoryId);

                if (destTableNameValidation.Name == "TEXTSPEECH_VALIDATION_RESPONSE_DETAIL")
                {
                    int IsValidFlag = 0;
                    if (IsMatch == 1 && NoCrossTalk == 1 && IsClear == 1)
                    {
                        IsValidFlag = 1;
                    }
                    validationInfoContext.TextspeechValidationResponseDetail.Add(new TextspeechValidationResponseDetail
                    {
                        UserId         = UserId,
                        RefAutoid      = DestAutoId,
                        IsMatch        = IsMatch,
                        NoCrossTalk    = NoCrossTalk,
                        IsClear        = IsClear,
                        ValidationFlag = IsValidFlag
                    });



                    ///set count
                    DatasetSubcategoryMapping datasetSubcategoryMapping = context.DatasetSubcategoryMapping
                                                                          .Where(x => x.DatasetId == DatasetId)
                                                                          .SingleOrDefault();

                    if (datasetSubcategoryMapping != null)
                    {
                        SubCategories destTableName = context.SubCategories.Find(datasetSubcategoryMapping.DestinationSubcategoryId);

                        if (destTableName.Name == "TextSpeech")
                        {
                            TextSpeech textSpeech = textToSpeech.TextSpeech.Where(x => x.AutoId == DestAutoId).Select(x => x).SingleOrDefault();
                            if (textSpeech != null)
                            {
                                textSpeech.TotalValidationUsersCount += 1;
                                if (IsMatch == 1 && NoCrossTalk == 1 && IsClear == 1)
                                {
                                    textSpeech.VoteCount += 1;
                                }
                                int?maxValidationUsers = context.Datasets.Where(x => x.DatasetId == DatasetId)
                                                         .Select(x => x.MaxValidationUsers)
                                                         .FirstOrDefault();
                                if (maxValidationUsers != null)
                                {
                                    if (maxValidationUsers * 0.5 < textSpeech.VoteCount)
                                    {
                                        textSpeech.IsValid = 1;
                                    }
                                    else if (maxValidationUsers * 0.5 < (textSpeech.TotalValidationUsersCount - textSpeech.VoteCount))
                                    {
                                        textSpeech.IsValid = 0;
                                    }

                                    try
                                    {
                                        validationInfoContext.SaveChangesAsync();
                                        textToSpeech.SaveChangesAsync();
                                    }
                                    catch (Exception)
                                    {
                                        jsonResponse.Response = "Internal Exception";
                                        return(BadRequest(jsonResponse));
                                    }
                                    jsonResponse.IsSuccessful = true;
                                    jsonResponse.Response     = "Saved";
                                    return(Ok(jsonResponse));
                                }
                            }
                        }
                    }
                }
            }
            jsonResponse.IsSuccessful = false;
            jsonResponse.Response     = "Details not match";
            return(NotFound(jsonResponse));
        }