Exemplo n.º 1
0
        /// <summary>Executes this instance.</summary>
        /// <returns>FrostPromptResponse</returns>
        public FrostPromptResponse Execute()
        {
            int    rowCount              = 0;
            string resultString          = string.Empty;
            FrostPromptResponse response = new FrostPromptResponse();

            resultString += " ------------ " + Environment.NewLine;

            if (!_hasWhereClause)
            {
                resultString += ExecuteWithoutWhereClause(out rowCount);
            }
            else
            {
                resultString += ExecuteWithWhereClause(_whereClause);
            }

            resultString += " ------------ " + Environment.NewLine;

            response.NumberOfRowsAffected = rowCount;
            response.JsonData             = resultString;
            response.Message      = "Succeeded";
            response.IsSuccessful = true;

            return(response);
        }
Exemplo n.º 2
0
        public FrostPromptResponse ExecuteCommand(string command)
        {
            var result = new FrostPromptResponse();
            var data   = SendMessage(BuildMessage(command, MessageConsoleAction.Prompt.Execute_Command, MessageActionType.Prompt));

            return(data.GetContentAs <FrostPromptResponse>());
        }
Exemplo n.º 3
0
        public FrostPromptResponse Execute()
        {
            int    rowCount              = 0;
            string resultString          = string.Empty;
            FrostPromptResponse response = new FrostPromptResponse();

            resultString += " ------------ " + Environment.NewLine;

            if (!_hasWhereClause)
            {
                var values = new List <RowValue>();
                _parameters.ForEach(p => values.Add(p.Convert()));

                foreach (var row in _table.Rows)
                {
                    _table.UpdateRow(row, values);
                    rowCount++;
                }
            }

            resultString += " ------------ " + Environment.NewLine;

            response.NumberOfRowsAffected = rowCount;
            response.JsonData             = resultString;
            response.Message      = "Succeeded";
            response.IsSuccessful = true;

            return(response);
        }
Exemplo n.º 4
0
        public async Task <FrostPromptResponse> ExecuteAsync()
        {
            FrostPromptResponse result = new FrostPromptResponse();

            if (_isLocalQuery)
            {
                InsertRowLocally();

                result = CreateSuccessResponse();
            }
            else
            {
                bool remoteInsert = await InsertRowRemote();

                if (remoteInsert)
                {
                    result = CreateSuccessResponse();
                }
                else
                {
                    result = new FrostPromptResponse();
                    result.IsSuccessful         = false;
                    result.Message              = "Remote Insert Failed";
                    result.NumberOfRowsAffected = 0;
                    result.JsonData             = string.Empty;
                }
            }

            return(result);
        }
Exemplo n.º 5
0
 private static string HandleInvalidPlan(FrostPromptResponse result, string resultString)
 {
     resultString       += " ------------ " + Environment.NewLine;
     resultString       += " Unable to parse statement" + Environment.NewLine;
     resultString       += " ------------ " + Environment.NewLine;
     result.IsSuccessful = false;
     result.Message      = resultString;
     return(resultString);
 }
Exemplo n.º 6
0
        private static FrostPromptResponse CreateSuccessResponse()
        {
            FrostPromptResponse result = new FrostPromptResponse();

            result.IsSuccessful         = true;
            result.Message              = "Insert succeeded";
            result.NumberOfRowsAffected = 1;
            result.JsonData             = string.Empty;
            return(result);
        }
Exemplo n.º 7
0
        private IMessage HandleExecuteCommand(Message message)
        {
            string messageContent = string.Empty;

            FrostPromptResponse response = new FrostPromptResponse();

            response = _process.ExecuteCommand(message.Content);
            Type type = response.GetType();

            messageContent = JsonConvert.SerializeObject(response);

            return(_messageBuilder.BuildMessage(message.Origin, messageContent, MessageConsoleAction.Prompt.Execute_Command_Response, type, message.Id, MessageActionType.Prompt));
        }
Exemplo n.º 8
0
    private int HandleFailedDMLPlan(QueryPlan plan, FrostPromptResponse result, ref string resultString, List <Row> rowList, int totalRows)
    {
        int buildRows;

        resultString       += BuildResponse(GetFinalColumns(rowList, plan.Columns, out buildRows));
        resultString       += " ------------ " + Environment.NewLine;
        result.Message      = "Succeeded";
        result.IsSuccessful = true;
        result.JsonData     = resultString;
        if (buildRows > 0)
        {
            result.NumberOfRowsAffected = buildRows;
        }
        else
        {
            result.NumberOfRowsAffected = totalRows;
        }

        return(buildRows);
    }
Exemplo n.º 9
0
        public FrostPromptResponse Execute()
        {
            FrostPromptResponse response = new FrostPromptResponse();
            string resultString          = string.Empty;
            int    totalRows             = 0;

            if (!_hasWhereClause)
            {
                totalRows = _table.RemoveAllRows();
            }

            resultString += " ------------ " + Environment.NewLine;

            response.NumberOfRowsAffected = totalRows;
            response.JsonData             = resultString;
            response.Message      = "Delete Succeeded";
            response.IsSuccessful = true;

            return(response);
        }
Exemplo n.º 10
0
    public FrostPromptResponse Execute(QueryPlan plan)
    {
        var  result       = new FrostPromptResponse();
        var  resultString = string.Empty;
        bool planFailed   = false;
        var  rowList      = new List <Row>();
        int  rows         = 0;
        int  buildRows    = 0;
        int  totalRows    = 0;

        if (!plan.IsValid)
        {
            resultString = HandleInvalidPlan(result, resultString);
        }
        else
        {
            if (IsDDLPlan(plan))
            {
                HandleDDLPlan(plan, ref resultString, ref planFailed);
            }
            else
            {
                HandleDMLPlan(plan, ref resultString, ref planFailed, rowList, ref rows, ref totalRows);
            }

            if (!planFailed)
            {
                buildRows = HandleFailedDMLPlan(plan, result, ref resultString, rowList, totalRows);
            }
            else
            {
                result.IsSuccessful         = false;
                result.Message              = resultString;
                result.NumberOfRowsAffected = 0;
            }
        }

        return(result);
    }