Пример #1
0
        public override async Task <SelectReply> Union(UnionRequest request, ServerCallContext context)
        {
            try
            {
                var data = await _tableDal.Union(request.FirstTableName,
                                                 request.DbName, new List <string> {
                    request.SecondTableName
                });

                var response = new SelectReply()
                {
                    Code = 200
                };
                Parallel.ForEach(data.data, (row) => {
                    var resultRow = new Row();
                    resultRow.Items.AddRange(row.Select(x => x.ToString()));
                    response.Rows.Add(resultRow);
                });

                Console.WriteLine();
                Console.WriteLine();
                Console.WriteLine("***************************************************************************************************************");
                Console.WriteLine($"Union tables {request.FirstTableName} and {request.SecondTableName}");
                Console.WriteLine("***************************************************************************************************************");

                return(response);
            }
            catch (Exception ex)
            {
                return(new SelectReply()
                {
                    Code = 400, Message = ex.Message, StackTrace = ex.StackTrace
                });
            }
        }
Пример #2
0
        public override async Task <SelectReply> Select(SelectRequest request, ServerCallContext context)
        {
            try
            {
                var requestSelect = new RequestHelper.SelectRequest
                {
                    Offset     = request.Offset,
                    Top        = request.Top,
                    Conditions = request.Conditions
                                 .ToDictionary(x => x.Key, x => _grpcModelMapper.GetValidatorsDtoFromGrpcValidators(x.Value))
                };
                var data = await _tableDal.Select(request.TableName, request.DbName, requestSelect);

                var response = new SelectReply()
                {
                    Code = 200
                };
                Parallel.ForEach(data.data, (row) => {
                    var resultRow = new Row();
                    resultRow.Items.AddRange(row.Select(x => x.ToString()));
                    response.Rows.Add(resultRow);
                });

                Console.WriteLine();
                Console.WriteLine();
                Console.WriteLine("***************************************************************************************************************");
                Console.WriteLine("Rows selected: " + request.TableName);
                Console.WriteLine("***************************************************************************************************************");

                return(response);
            }
            catch (Exception ex)
            {
                return(new SelectReply()
                {
                    Code = 400, Message = ex.Message, StackTrace = ex.StackTrace
                });
            }
        }