Example #1
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));
        }
Example #2
0
        public IActionResult SetValidationData_TextSpeech(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 == "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 = _masterContext.DatasetSubcategoryMapping
                                                                          .Where(x => x.DatasetId == DatasetId)
                                                                          .SingleOrDefault();

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

                        if (destTableName.Name == "TextSpeech")
                        {
                            TextSpeech textSpeech = _texttoSpeechContext.TextSpeech.Where(x => x.AutoId == DestAutoId).Select(x => x).SingleOrDefault();
                            if (textSpeech != null)
                            {
                                textSpeech.TotalValidationUsersCount += 1;
                                if (IsMatch == 1 /*&& NoCrossTalk == 1 && IsClear == 1*/)
                                {
                                    if (textSpeech.VoteCount == null)
                                    {
                                        textSpeech.VoteCount = 1;
                                    }
                                    else
                                    {
                                        textSpeech.VoteCount += 1;
                                    }
                                }
                                int?maxValidationUsers = _masterContext.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();
                                        _texttoSpeechContext.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));
        }