public object Any(Ask request) { AskResponse response = new AskResponse(); response.Result = ErrorCode.OK; Guid creatorId = UserSession.GetUserId(); DateTime dateTime = DateTime.UtcNow; QuestionEntry questionEntry = new QuestionEntry(creatorId, Guid.NewGuid()) { Title = request.Title, Detail = request.Detail, Creation = dateTime, Modification = dateTime, Tags = string.Join(",", request.Tags).ToLowerInvariant() }; TableRepository tableRepository = new TableRepository(); tableRepository.InsertOrReplace(questionEntry, Tables.Questions); IndexHelper.CreateIndex(questionEntry.GetId(), request.Title + " " + questionEntry.Tags, Tables.Questions); return(response); }
public void Invoke(HttpSessionState session, DataInputStream input) { _result = HttpProcessor.GetClient<AskServiceSoapClient>(session).GetResponse( input.ReadString(), input.ReadString(), input.ReadInt32()); }
public override Task <AskResponse> Ask(AskRequest request, ServerCallContext context) { var model = new AskResponse() { Content = $"Ask: {request.Key}: {DateTime.Now.ToString()} --- address: {string.Join(",", Dns.GetHostEntry(Dns.GetHostName()).AddressList.Select(oo => oo.ToString()))}" }; return(Task.FromResult(model)); }
public override Task <Grpc.AskResponse> Ask(Grpc.AskRequest request, ServerCallContext context) { var v = _configuration.GetSection("GrpcServer").GetSection("Service").GetValue <int>("Port"); var model = new AskResponse() { Content = $"Ask: {request.Key}: {DateTime.Now.ToString()} -- configuration: {v} --- address: {string.Join(",", Dns.GetHostEntry(Dns.GetHostName()).AddressList.Select(oo => oo.ToString()))}" }; return(Task.FromResult(model)); }
public static void WriteGetResponseResult(this DataOutputStream output, AskResponse value) { if (value == null) { throw new ArgumentNullException("value"); } output.WriteInt32(value.AskQuestionID); output.WriteString(value.Question); output.WriteByteArray(Convert.FromBase64String(value.PhotoBase64Binary)); output.WriteInt32Array(value.ResponseValues); output.WriteFloat(Convert.ToSingle(value.Average)); output.WriteInt32(value.ResponseType); output.WriteStringArray(value.CustomResponses); }
public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } AskResponse = await _context.AskResponse.FirstOrDefaultAsync(m => m.ID == id); if (AskResponse == null) { return(NotFound()); } return(Page()); }
/// <summary> /// Reads existing events and future events from pulsar broker /// </summary> /// <param name="timeoutMs"></param> /// <returns>IEnumerable<EventMessage></returns> public async IAsyncEnumerable <T> Events(TimeSpan timeout, [EnumeratorCancellation] CancellationToken token = default) { while (!token.IsCancellationRequested) { AskResponse response = null; try { response = await _eventSource.Ask <AskResponse>(EventSource.Messages.Receive.Instance, timeout); } catch { } if (response != null && response.Data != null) { yield return(response.ConvertTo <IMessage <T> >().Value); } } }
public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } AskResponse = await _context.AskResponse.FindAsync(id); if (AskResponse != null) { _context.AskResponse.Remove(AskResponse); await _context.SaveChangesAsync(); } return(RedirectToPage("./ChangeResponses")); }
public AskResponse GetResponse(String nickname, String password, Int32 questionID) { if (String.IsNullOrEmpty(nickname)) { throw new ArgumentNullException("nickname"); } if (String.IsNullOrEmpty(password)) { throw new ArgumentNullException("password"); } var member = Member.GetMemberViaNicknamePassword(nickname, password); var question = AskAFriend.GetAskAFriendByAskAFriendIDWithJoin(questionID); var response = new AskResponse() { AskQuestionID = question.AskAFriendID, Question = Text2Mobile.Filter(question.Question), PhotoBase64Binary = ResourceProcessor.GetThumbnailBase64String(question.DefaultPhotoResourceFile.SavePath), ResponseValues = AskAFriend.GetAskAFriendResult(question).ToArray(), ResponseType = question.ResponseType, Average = 0, CustomResponses = new String[2] }; /* Set the average value (only applicable if the ResponseType is Rate1To10). */ for (var i = 0; i < response.ResponseValues.Length; i++) { response.Average += response.ResponseValues[i]; } response.Average = response.Average / Convert.ToDouble(response.ResponseValues.Length); /* Custom responses will be blank strings if not applicable. */ response.CustomResponses[0] = Text2Mobile.Filter(question.ResponseA); response.CustomResponses[1] = Text2Mobile.Filter(question.ResponseB); return(response); }
public object Any(Ask request) { AskResponse response = new AskResponse(); response.Result = ErrorCode.OK; Guid creatorId = UserSession.GetUserId(); DateTime dateTime = DateTime.UtcNow; QuestionEntry questionEntry = new QuestionEntry(creatorId, Guid.NewGuid()) { Title = request.Title, Detail = request.Detail, Creation = dateTime, Modification = dateTime, Tags = string.Join(",", request.Tags).ToLowerInvariant() }; TableRepository tableRepository = new TableRepository(); tableRepository.InsertOrReplace(questionEntry, Tables.Questions); IndexHelper.CreateIndex(questionEntry.GetId(), request.Title + " " + questionEntry.Tags, Tables.Questions); return response; }
public override async Task <AskResponse> Ask(AskRequest request, ServerCallContext context) { Console.WriteLine($"{request.Id}:{request.Message}"); var result = await _luis.Predict(request.Message); var intent = result.Intents.First(); var response = new AskResponse(); response.Id = request.Id; response.Message = request.Message; Console.WriteLine($" [Intent] {intent.Name} ({intent.Score:N2})"); switch (intent.Name) { case "Bonjour": response.Answers.Add($"Bonjour à vous !"); break; case "Reservite.Reserver": response.Answers.Add($"Vous souhaitez réserver une salle."); string salle = null; string jour = null; List <string> heures = new List <string>(); foreach (var e in result.Entities) { switch (e.Key) { case "salle": salle = e.Value.First().Value; Console.WriteLine($" [Entity] {e.Key} : {salle}"); response.Answers.Add($" {e.Key} : {salle}"); break; case "heure": foreach (var v in e.Value) { heures.Add(v.Value); Console.WriteLine($" [Entity] {e.Key} : {v.Value}"); response.Answers.Add($" {e.Key} : {v.Value}"); } break; case "date": jour = e.Value.First().Value; Console.WriteLine($" [Entity] {e.Key} : {jour}"); response.Answers.Add($" {e.Key} : {jour}"); break; } } var reservationBuilder = ReservationSalle.Parse(salle, jour, heures); foreach (var missing in reservationBuilder.MissingInformations) { response.Answers.Add(missing.Question); } break; case "Reservite.InfosSalle": response.Answers.Add($"Vous souhaitez obtenir des informations sur une salle."); break; case "Reservite.SallesDisponibles": response.Answers.Add($"Vous souhaitez savoir quelles salles sont disponibles."); break; case "Quitter": break; case "Annuler": response.Answers.Add($"Vous souhaitez annuler l'opération en cours."); break; case "None": response.Answers.Add($"Je n'ai pas compris votre question."); break; default: response.Answers.Add($"Veuillez répéter svp."); break; } return(response); }
public static void WriteGetResponseResult(this DataOutputStream output, AskResponse value) { if (value == null) throw new ArgumentNullException("value"); output.WriteInt32(value.AskQuestionID); output.WriteString(value.Question); output.WriteByteArray(Convert.FromBase64String(value.PhotoBase64Binary)); output.WriteInt32Array(value.ResponseValues); output.WriteFloat(Convert.ToSingle(value.Average)); output.WriteInt32(value.ResponseType); output.WriteStringArray(value.CustomResponses); }
/// <summary> /// Consume messages from queue. ConsumptionType has to be set to Queue. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="topic"></param> /// <param name="autoAck"></param> /// <param name="takeCount"></param> /// <param name="customProcess"></param> /// <returns></returns> public async IAsyncEnumerable <T> ReceiveFunc(bool autoAck = true, int takeCount = -1, int receiveTimeout = 3000, Func <IMessage <T>, T> customHander = null, [EnumeratorCancellation] CancellationToken token = default) { //no end if (takeCount == -1) { while (true) { AskResponse response = null; try { response = await _consumerActor.Ask <AskResponse>(Messages.Consumer.Receive.Instance, TimeSpan.FromMilliseconds(receiveTimeout)).ConfigureAwait(false); } catch (AskTimeoutException) { } catch { throw; } if (response != null && response.Data is IMessage <T> message) { yield return(ProcessMessage(message, autoAck, customHander)); } } } else if (takeCount > 0)//end at takeCount { for (var i = 0; i < takeCount; i++) { AskResponse response = null; try { response = await _consumerActor.Ask <AskResponse>(Messages.Consumer.Receive.Instance, TimeSpan.FromMilliseconds(receiveTimeout)).ConfigureAwait(false); } catch (AskTimeoutException) { } catch { throw; } if (response != null && response.Data is IMessage <T> message) { yield return(ProcessMessage(message, autoAck, customHander)); } else { //we need to go back since no message was received within the timeout i--; await Task.Delay(TimeSpan.FromMilliseconds(receiveTimeout)); } } } else { //drain the current messages while (true) { AskResponse response = null; try { response = await _consumerActor.Ask <AskResponse>(Messages.Consumer.Receive.Instance, TimeSpan.FromMilliseconds(receiveTimeout)).ConfigureAwait(false); } catch (AskTimeoutException) { } catch { throw; } if (response != null && response.Data is IMessage <T> message) { yield return(ProcessMessage(message, autoAck, customHander)); } else { break; } } } }