コード例 #1
0
        public override Task <InsertResponse> PlaceOrder(PlaceOrderRequest request, ServerCallContext context)
        {
            string error = "";
            int    idVal = -1;

            try
            {
                ClientOrder validation = new ClientOrder {
                    ClientEMail = request.ClientEMail, ClientName = request.ClientName, Quantity = request.PartsQty
                };
                string validationResult = validation.IsValid();

                if (validationResult == "")
                {
                    var pList = new DB.ParamList
                    {
                        ["PartsId"]     = request.PartsId,
                        ["PartsQty"]    = request.PartsQty,
                        ["ClientName"]  = request.ClientName,
                        ["ClientEmail"] = request.ClientEMail
                    };


                    idVal = DB.DBExecuter.execScalarSPAutoFillParams("sp_PlaceOrder", pList); // raise an exception in case
                }
                else
                {
                    throw new Exception($"Validation error: {validationResult}");
                }
            }
            catch (Exception e)
            {
                error = e.GetBaseException().Message;
            }

            return(Task.FromResult(new InsertResponse
            {
                Error = new basicResponse {
                    ErrorResponse = error
                },
                InsertedID = idVal
            }));
        }