internal static async Task <FileTranslateEntity> EnsureTranslated(this ITranslateService translateService, FileEntity file) { Assert.NotNull(file); Assert.True(file.FileId.HasValue); FileTranslateEntity translate; while ((translate = await translateService.LookupTranslate(new LookupTranslateParameter(file.FileId.Value))) == null || translate.Status != "success") { if (translate == null) { translate = await translateService.CreateTranslate( new CreateTranslateParameter(new FileTranslateRequest(new TranslateSource(file.FileId, file.Name, false)))); } Assert.True(translate?.Status != "failed"); if (null == translate) { continue; } if (translate.Status != "success") { Thread.Sleep(3000); continue; } break; } return(translate); }
// POST: api/Translate public IHttpActionResult Post([FromBody] Translate value) { if (value != null & value.link_customer != null) { int pricecount = DocReader.ReadDoc(value.link_customer); Debug.WriteLine("Testprice: " + pricecount); //koli4estvo slov nahodit value.price = Convert.ToDecimal(pricecount); Debug.WriteLine("Test value price: " + value.price); int id = tservice.CreateTranslate(value); // создаем перевод уже с ценой!!!!!!!!!! if (id > 0) { value.id = id; return(Created <Translate>(Request.RequestUri + id.ToString(), value)); } else { return(Conflict()); // конфликт ??? нельзя создать если эмайл занет. } } return(BadRequest("Neverniy format dannyh! Proverj celostnostj poley.")); }