public byte[] GetResultBytes() { var builder = new FlatBufferBuilder(1); var paramName = builder.CreateString("ParagraphID"); // TODO здесь надо передавать результат выполнения операции var paramVal = builder.CreateString(ParagraphID.ToString()); var parms = new Offset <Param> [1]; parms[0] = Param.CreateParam(builder, paramName, paramVal); var paracol = Message.CreateParamsVector(builder, parms); VectorOffset sentscol = default(VectorOffset); sentscol = SentenceMap.BuildSentOffsetFromSentStructList(builder, this.sentlist); Message.StartMessage(builder); Message.AddMessType(builder, MessType.mReplay); Message.AddServerType(builder, ServType.svSUBD); Message.AddComtype(builder, command); Message.AddParams(builder, paracol); Message.AddSentences(builder, sentscol); Message.AddDbID(builder, ParagraphID); var req = Message.EndMessage(builder); builder.Finish(req.Value); return(builder.SizedByteArray()); }
public byte[] GetResultBytes() { var builder = new FlatBufferBuilder(1); // Синтаксический анализ - выполняется для одного предложения var senttlist = new List <SentenceMap>(); senttlist.Add(this.sentence); VectorOffset sentscol = SentenceMap.BuildSentOffsetFromSentStructList(builder, senttlist); Message.StartMessage(builder); Message.AddMessType(builder, MessType.mReplay); Message.AddServerType(builder, ServType.svMorph); Message.AddComtype(builder, command); Message.AddSentences(builder, sentscol); var req = Message.EndMessage(builder); builder.Finish(req.Value); return(builder.SizedByteArray()); }
private FlatBufferBuilder SetReq(string requestText = "") { var builder = new FlatBufferBuilder(1); VectorOffset paracol = default(VectorOffset); VectorOffset sentscol = default(VectorOffset); switch (command) { case ComType.Separ: case ComType.Synt: { // Синтаксический анализ - выполняется для одного предложения var paramName = builder.CreateString("phrase"); var paramVal = builder.CreateString(requestText); var parms = new Offset <Param> [1]; parms[0] = Param.CreateParam(builder, paramName, paramVal); paracol = Message.CreateParamsVector(builder, parms); break; } case ComType.Repar: { // Восстановление из структуры выполняется для одного предложения var senttlist = new List <SentenceMap>(); senttlist.Add(this.sentstr); sentscol = SentenceMap.BuildSentOffsetFromSentStructList(builder, senttlist); break; } case ComType.GetWord: case ComType.SaveLex: { var paramName = builder.CreateString("word"); var paramVal = builder.CreateString(requestText); var parms = new Offset <Param> [1]; parms[0] = Param.CreateParam(builder, paramName, paramVal); paracol = Message.CreateParamsVector(builder, parms); break; } case ComType.SavePara: { var innersents = parastr.GetParagraphSents(); var senttlist = innersents .OrderBy(y => y.order) .Select(x => x.sentstruct).ToList(); sentscol = SentenceMap.BuildSentOffsetFromSentStructList(builder, senttlist); dbID = parastr.ParagraphID; break; } case ComType.ReadPara: { dbID = parastr.ParagraphID; break; } case ComType.GetParags: { break; } case ComType.GetChildrenConts: { // dbID установлено break; } } Message.StartMessage(builder); Message.AddMessType(builder, MessType.mRequest); Message.AddServerType(builder, this.servType); Message.AddComtype(builder, this.command); Message.AddParams(builder, paracol); Message.AddSentences(builder, sentscol); Message.AddDbID(builder, dbID); var req = Message.EndMessage(builder); builder.Finish(req.Value); return(builder); }