示例#1
0
        public static async Task <FunctionResponse> UploadMemberCode(BarCodeTransfer barCodeTransfer)
        {
            try
            {
                FunctionResponse functionResponse = new FunctionResponse();

                var    JsonObject  = JsonConvert.SerializeObject(barCodeTransfer);
                string ContentType = "application/json"; // or application/xml

                String url = GenerateCheckMemberCodeURL();

                using (HttpClient client = new HttpClient())
                {
                    var response = await client.PostAsync(url, new StringContent(JsonObject.ToString(), Encoding.UTF8, ContentType));

                    var json = await response.Content.ReadAsStringAsync();

                    var result = JsonConvert.DeserializeObject <FunctionResponse>(json);

                    return(result);
                }
            }
            catch (Exception e)
            {
                return(new FunctionResponse()
                {
                    status = "error", Message = "Cannot connect to Server"
                });
            }
        }
        public FunctionResponse getAllKOTProd(string user)
        {
            try
            {
                FunctionResponse functionResponse = new FunctionResponse();

                using (SqlConnection cnMain = new SqlConnection(ConnectionDbInfo.ConnectionString))
                {
                    var items = cnMain.Query <KOTProd>("SELECT KP.* FROM RMD_KOTPROD KP JOIN RMD_KOTMAIN_STATUS KMS ON KMS.KOTID=KP.KOTID WHERE KMS.STATUS='ACTIVE'");
                    if (items == null)
                    {
                        functionResponse.status  = "error";
                        functionResponse.Message = "No Items found to serve.";
                    }
                    else
                    {
                        functionResponse.status = "ok";
                        functionResponse.result = items;
                    }

                    return(functionResponse);
                }
            }
            catch (Exception ex)
            {
                return(new FunctionResponse()
                {
                    status = "error", Message = ex.Message
                });
            }
        }
示例#3
0
        public List <FunctionResponse> GetAllAndChoice(int appId, int navigationId)
        {
            var response = new List <FunctionResponse>();

            var listFunction = FunctionDbAction.GetAllFunctions(appId);

            var listNavigation = NavigationFunctionDbAction.GetListByNavigationId(navigationId);

            var isNull = listNavigation != null && listNavigation.Any();

            if (listFunction == null || !listFunction.Any())
            {
                return(response);
            }

            foreach (var f in listFunction)
            {
                var function = new FunctionResponse
                {
                    Id   = f.FunctionId,
                    Name = f.FunctionName
                };
                if (isNull && listNavigation.Any(m => m.FunctionId == f.FunctionId))
                {
                    function.IsChoice = true;
                }
                else
                {
                    function.IsChoice = false;
                }
                response.Add(function);
            }
            return(response);
        }
示例#4
0
        public async Task <IActionResult> RunAsync([FromBody] FunctionRequest request)
        {
            FunctionResponse response = await _mediator.Send(request);

            _logger.LogInformation("Function Run Finished at {0}", DateTime.UtcNow);

            return(Ok(response));
        }
示例#5
0
 public static bool IsValid(this FunctionResponse activityResponse)
 {
     if (activityResponse.TransactionInstanceId != Guid.Empty && activityResponse.StageInstanceId != Guid.Empty)
     {
         return(true);
     }
     return(false);
 }
示例#6
0
        public async Task <(int, string)> Handle(HttpRequest request)
        {
            using StreamReader reader = new StreamReader(request.Body);
            string input = await reader.ReadToEndAsync();

            FunctionRequest  req      = JsonConvert.DeserializeObject <FunctionRequest>(input);
            FunctionResponse response = await _mediator.Send(req);

            return(200, JsonConvert.SerializeObject(response));
        }
示例#7
0
        private static IEnumerator SendMsgByCloudFunctionByEnumerator(string functionName, object param, Action <String> hander)
        {
            Task <FunctionResponse> res = NetManager.App.Function.CallFunctionAsync(functionName, param);

            yield return(res);

            while (!res.IsCompleted)
            {
                yield return(0);
            }
            if (res.IsFaulted || res.IsCanceled)
            {
                Utils.Log("云函数" + functionName + ":执行失败");
                if (hander != null)
                {
                    hander(string.Empty);
                }
                res.Dispose();
                yield break;
            }
            FunctionResponse fr = res.Result;

            if (fr.Code == null)
            {
                if (hander != null && fr.Data != null)
                {
                    hander(fr.Data.ToString());
                }
                else
                {
                    Utils.Log(functionName + "调用成功,但返回的数据 或者 回调函数是空的");
                }
            }
            else
            {
                switch (fr.Code)
                {
                case "1":
                    break;

                case "2":
                    break;

                default:
                    Utils.Log("云函数" + functionName + ":返回错误:" + fr.Message);
                    break;
                }
                if (hander != null)
                {
                    hander(string.Empty);
                }
            }
            res.Dispose();
        }
示例#8
0
        public FunctionResponse OpenPdfReport(PdfReportParameter reportParameter)
        {
            var filename = reportParameter.filename;

            if (string.IsNullOrEmpty(filename))
            {
                return new FunctionResponse {
                           status = "error", result = "Invalid file Name"
                }
            }
            ;
            var reportDirectory = _env.WebRootPath;

            if (filename.EndsWith(".ims") == false)
            {
                filename = filename + ".ims";
            }
            var reportFile = Path.Combine(reportDirectory, "IMSReport", filename);

            if (File.Exists(reportFile) == false)
            {
                return new FunctionResponse {
                           status = "error", result = "File not found"
                }
            }
            ;
            string str = File.ReadAllText(reportFile);

            inoicePrinting = new InvoicePrinting();
            inv            = inoicePrinting.LoadInvFromJsonString(str);
            if (inv.Document.DetailDataType == DataType.SQLServer)
            {
                if (!string.IsNullOrEmpty(inv.Document.QueryParameter))
                {
                    FunctionResponse res = CompareParameter(reportParameter.Parameter, inv.Document.QueryParameter);
                    if (res.status == "error")
                    {
                        return(res);
                    }
                    inoicePrinting.InputParameters = res.result as Dictionary <string, object>;
                    PrepareSqlReportData(inoicePrinting, inv, inoicePrinting.InputParameters);
                }
            }
            //var pdfFile = reportDirectory

            using (MemoryStream memStream = new MemoryStream())
            {
                byte[] bytes = inoicePrinting.PrintInvoice(inv, "", memStream: memStream);

                return(new FunctionResponse {
                    status = "ok", result = bytes
                });
            }
        }
示例#9
0
        async public static void updateUserInfo()
        {
            CloudBaseApp app   = CloudBaseApp.Init("59eb4700a3c34", 3000);
            AuthState    state = await app.Auth.GetAuthStateAsync();

            if (state == null)
            {
                // 匿名登录
                state = await app.Auth.SignInAnonymouslyAsync();
            }

            // 调用云函数
            FunctionResponse res = await app.Function.CallFunctionAsync("updateUserInfo", _userInfo);
        }
示例#10
0
        async public static void UploadMgobeUserInfo(string gameId)
        {
            CloudBaseApp app   = CloudBaseApp.Init("59eb4700a3c34", 3000);
            AuthState    state = await app.Auth.GetAuthStateAsync();

            if (state == null)
            {
                // 匿名登录
                state = await app.Auth.SignInAnonymouslyAsync();
            }
            // 调用云函数
            FunctionResponse res = await app.Function.CallFunctionAsync("uploadServiceUser", new Dictionary <string, dynamic> {
                { "gameId", gameId }, { "serviceType", "mgobe" }
            });
        }
示例#11
0
        /// <summary>
        /// Get data from function table with paging
        /// </summary>
        /// <param name="param"></param>
        /// <param name="active"></param>
        /// <param name="locked"></param>
        /// <param name="keyword"></param>
        /// <param name="startdate"></param>
        /// <param name="enddate"></param>
        /// <returns></returns>
        public string GetDataPaging(JQueryDataTableParamModel param, string function_name, string startdate, string enddate)
        {
            var pageIndex = 0;

            if (Convert.ToInt32(param.iDisplayStart) > 0)
            {
                pageIndex = Convert.ToInt32(param.iDisplayStart) / Convert.ToInt32(param.iDisplayLength);
            }
            var request = new FunctionRequest()
            {
                pageIndex = pageIndex,
                pageSize  = param.iDisplayLength,
                NAME      = function_name,
                STATUS    = null
            };


            var result = GetDataPaging(request).data;

            if (result == null || result.data == null)
            {
                result       = new FunctionResponse();
                result.total = 0;
                result.data  = new List <FunctionDataResponse>();
            }
            if (param.sSearch != null)
            {
                return(JsonConvert.SerializeObject(new
                {
                    param.sEcho,
                    iTotalRecords = result.total,
                    iTotalDisplayRecords = result.total,
                    aaData = result.data.Where(x => x.ID.ToString().IndexOf(param.sSearch) != -1 || x.NAME.ToString().IndexOf(param.sSearch) != -1 || x.MODULE_NAME.ToString().IndexOf(param.sSearch) != -1 || x.MODIFIED_BY.ToString().IndexOf(param.sSearch) != -1 || x.MODIFIED_AT.ToString().IndexOf(param.sSearch) != -1).OrderBy(x => x.MODULE_ID).OrderBy(x => x.POSITION).ToList()
                }));
            }

            else
            {
                return(JsonConvert.SerializeObject(new
                {
                    param.sEcho,
                    iTotalRecords = result.total,
                    iTotalDisplayRecords = result.total,
                    aaData = result.data.OrderBy(x => x.MODULE_NAME).OrderBy(x => x.POSITION).ToList()
                }));
            }
        }
示例#12
0
        /// <summary>
        /// A Lambda function to respond to HTTP Get methods from API Gateway
        /// </summary>
        public APIGatewayProxyResponse Get(APIGatewayProxyRequest request, ILambdaContext context)
        {
            var functionResponse = new FunctionResponse
            {
                Greeting = $"Hello, {request.PathParameters["name"]}!"
            };

            var response = new APIGatewayProxyResponse
            {
                StatusCode = (int)HttpStatusCode.OK,
                Body       = JsonConvert.SerializeObject(functionResponse),
                Headers    = new Dictionary <string, string> {
                    { "Content-Type", "application/json" }
                }
            };

            return(response);
        }
示例#13
0
        public static async Task <FunctionResponse> UserVerficationAsync(User User)
        {
            try
            {
                FunctionResponse functionResponse = new FunctionResponse();

                User.UniqueID = "12345";

                var    JsonObject  = JsonConvert.SerializeObject(User);
                string ContentType = "application/json"; // or application/xml

                String url = GenerateLoginURL();

                using (HttpClient client = new HttpClient())
                {
                    var response = await client.PostAsync(url, new StringContent(JsonObject.ToString(), Encoding.UTF8, ContentType));

                    var json = await response.Content.ReadAsStringAsync();

                    var result = JsonConvert.DeserializeObject <string>(json);
                    if (result == "1")
                    {
                        functionResponse.status = "ok";
                    }
                    else if (result == "0")
                    {
                        functionResponse.status  = "error";
                        functionResponse.Message = "InCorrect Password or UserName";
                    }
                    else
                    {
                        functionResponse.status  = "error";
                        functionResponse.Message = result;
                    }
                    return(functionResponse);
                }
            }catch (Exception e)
            {
                return(new FunctionResponse()
                {
                    status = "error", Message = "Cannot connect to Server"
                });
            }
        }
        public static async Task <HttpResponseMessage> CancelMoneyTransferCommand(
            [HttpTrigger(AuthorizationLevel.Function, "POST", Route = @"CancelMoneyTransfer/{transferidentifier}")] HttpRequestMessage req,
            string transferidentifier,
            [Command("Bank", "Transfer Money", "{transferidentifier}")] Command cmdTransfer
            )
        {
            #region Tracing telemetry
            Activity.Current.AddTag("Transfer Unique Identifier", transferidentifier);
            #endregion

            // Set the start time for how long it took to process the message
            DateTime startTime = DateTime.UtcNow;

            await cmdTransfer.InitiateStep("Cancel Transfer");

            return(req.CreateResponse <FunctionResponse>(System.Net.HttpStatusCode.OK,
                                                         FunctionResponse.CreateResponse(startTime,
                                                                                         false,
                                                                                         $"Money transfer cancelation requested - transfer id is {transferidentifier}"),
                                                         FunctionResponse.MEDIA_TYPE));
        }
示例#15
0
        public FunctionResponse OpenPdfReportMultipleParameter(PdfReportMultiParameter pdfReportMultiParameter)
        {
            var filename = pdfReportMultiParameter.filename;

            if (string.IsNullOrEmpty(filename))
            {
                return new FunctionResponse {
                           status = "error", result = "Invalid file Name"
                }
            }
            ;
            var reportDirectory = _env.WebRootPath;
            var reportFile      = Path.Combine(reportDirectory, "IMSReport", filename);

            if (File.Exists(reportFile) == false)
            {
                return new FunctionResponse {
                           status = "error", result = "File not found"
                }
            }
            ;
            string str = File.ReadAllText(reportFile);

            inoicePrinting = new InvoicePrinting();
            inv            = inoicePrinting.LoadInvFromJsonString(str);
            List <byte[]> pdfFiles = new List <byte[]>();

            foreach (var parameter in pdfReportMultiParameter.Parameters)
            {
                if (inv.Document.DetailDataType == DataType.SQLServer)
                {
                    if (!string.IsNullOrEmpty(inv.Document.QueryParameter))
                    {
                        FunctionResponse res = CompareParameter(parameter, inv.Document.QueryParameter);
                        if (res.status == "error")
                        {
                            return(res);
                        }
                        inoicePrinting.InputParameters = res.result as Dictionary <string, object>;
                        if (!(pdfReportMultiParameter.IsSameDataQuery == true && inoicePrinting.DetailData != null))
                        {
                            PrepareSqlReportData(inoicePrinting, inv, inoicePrinting.InputParameters);
                        }
                    }
                    using (MemoryStream memStream = new MemoryStream())
                    {
                        byte[] bytes = inoicePrinting.PrintInvoice(inv, "", memStream: memStream);
                        pdfFiles.Add(bytes);
                        //return new FunctionResponse { status = "ok", result = memStream.ToArray() };
                    }
                }
            }

            //var pdfFile = reportDirectory



            using (MemoryStream memoryStream = new MemoryStream())
            {
                inoicePrinting.MergePdfinMemory(memoryStream, pdfFiles);

                return(new FunctionResponse {
                    status = "ok", result = memoryStream.ToArray()
                });
            }
        }
        public static async Task <HttpResponseMessage> TransferMoneyCommand(
            [HttpTrigger(AuthorizationLevel.Function, "POST", Route = @"TransferMoney/{transferidentifier?}")] HttpRequestMessage req,
            string transferidentifier)
        {
            #region Tracing telemetry
            Activity.Current.AddTag("Transfer Unique Identifier", transferidentifier);
            #endregion

            // Set the start time for how long it took to process the message
            DateTime startTime = DateTime.UtcNow;

            if (string.IsNullOrWhiteSpace(transferidentifier))
            {
                transferidentifier = Guid.NewGuid().ToString("N");
            }

            // Get request body
            MoneyTransferData data = await req.Content.ReadAsAsync <MoneyTransferData>();

            if (data == null)
            {
                return(req.CreateResponse <FunctionResponse>(System.Net.HttpStatusCode.BadRequest,
                                                             FunctionResponse.CreateResponse(startTime,
                                                                                             false,
                                                                                             $"No transfer request body/data supplied"),
                                                             FunctionResponse.MEDIA_TYPE));
            }

            if (string.IsNullOrWhiteSpace(data.SourceAccountNumber))
            {
                return(req.CreateResponse <FunctionResponse>(System.Net.HttpStatusCode.BadRequest,
                                                             FunctionResponse.CreateResponse(startTime,
                                                                                             false,
                                                                                             $"No source account for money transfer"),
                                                             FunctionResponse.MEDIA_TYPE));
            }

            if (string.IsNullOrWhiteSpace(data.TargetAccountNumber))
            {
                return(req.CreateResponse <FunctionResponse>(System.Net.HttpStatusCode.BadRequest,
                                                             FunctionResponse.CreateResponse(startTime,
                                                                                             false,
                                                                                             $"No target account for money transfer"),
                                                             FunctionResponse.MEDIA_TYPE));
            }

            // Create a transfer event stream and add the Transfer Initiated event to it
            Command cmdTransfer = new Command(new CommandAttribute("Bank", "Transfer Money", transferidentifier));

            // set the parameters
            await cmdTransfer.SetParameter(nameof(data.SourceAccountNumber), data.SourceAccountNumber);

            await cmdTransfer.SetParameter(nameof(data.TargetAccountNumber), data.TargetAccountNumber);

            await cmdTransfer.SetParameter(nameof(data.Amount), data.Amount);

            // Start the first step of the command
            await cmdTransfer.InitiateStep("Initiate Transfer");

            // Return that the command has been initiated...
            return(req.CreateResponse <FunctionResponse>(System.Net.HttpStatusCode.OK,
                                                         FunctionResponse.CreateResponse(startTime,
                                                                                         false,
                                                                                         $"Money transfer initiated - transfer id is {transferidentifier}"),
                                                         FunctionResponse.MEDIA_TYPE));
        }
示例#17
0
        public async void ExecuteLoad()
        {
            try
            {
                if (string.IsNullOrEmpty(Barcode))
                {
                    DependencyService.Get <IMessage>().ShortAlert("Enter Correct barcode ");
                    return;
                }
                IsLoading = true;
                var res = new FunctionResponse();
                if (Barcode.ToString().StartsWith("#"))
                {
                    if (POUT.PID == 0)
                    {
                        DependencyService.Get <IMessage>().ShortAlert("Voucher cannot be accepted. No Vehicle barcode scanned.");
                        IsLoading = false;
                        return;
                    }
                    if (Vouchers.Any(x => x.Barcode.ToUpper() == Barcode.ToUpper().ToString()))
                    {
                        DependencyService.Get <IMessage>().ShortAlert("Voucher already Accepted.");
                        IsLoading = false;
                        return;
                    }
                    var transferData = new BarCodeTransfer()
                    {
                        barcode = Barcode.ToUpper(), Vouchers = Vouchers, mDiscount = mDiscount, PIN = PIN, POUT = POUT
                    };
                    res = await ParkingDetailsConnection.UploadVoucherCode(transferData);

                    if (res.status == "ok")
                    {
                        DependencyService.Get <IMessage>().ShortAlert("Voucher Discount applied Successfully");
                    }
                }
                else if (Barcode.ToUpper().ToString().StartsWith(GlobalClass.MemberBarcodePrefix))
                {
                    if (POUT.PID == 0)
                    {
                        DependencyService.Get <IMessage>().LongAlert("MemberCard cannot be accepted. No Vehicle barcode scanned.");
                        IsLoading = false;
                        return;
                    }
                    if (mDiscount != null && !string.IsNullOrEmpty(mDiscount.MemberId))
                    {
                        DependencyService.Get <IMessage>().ShortAlert("Member already Accepted.");
                        IsLoading = false;
                        return;
                    }
                    var transferData = new BarCodeTransfer()
                    {
                        barcode = Barcode.ToUpper(), Vouchers = Vouchers, mDiscount = mDiscount, PIN = PIN, POUT = POUT
                    };
                    res = await ParkingDetailsConnection.UploadMemberCode(transferData);

                    if (res.status == "ok")
                    {
                        DependencyService.Get <IMessage>().ShortAlert("Member Discount applied successfully");
                    }
                }
                else
                {
                    var transferData = new BarCodeTransfer()
                    {
                        barcode = Barcode.ToUpper(), PIN = PIN, POUT = POUT
                    };

                    res = await ParkingDetailsConnection.LoadParkingOutAsync(transferData);

                    if (res.status == "error")
                    {
                        PIN       = new ParkingIn();
                        POUT      = new ParkingOut();
                        Vouchers  = new List <Voucher>();
                        mDiscount = new MemberDiscount();
                    }
                    if (res.status == "ok")
                    {
                        DependencyService.Get <IMessage>().ShortAlert("Details Loaded Successfully");
                    }
                }
                if (res.status == "ok")
                {
                    ParkingDetails = JsonConvert.DeserializeObject <BarCodeTransfer>(res.result.ToString());
                    if (ParkingDetails != null)
                    {
                        PIN             = ParkingDetails.PIN;
                        POUT            = ParkingDetails.POUT;
                        POUT.UID        = GlobalClass.User.UID;
                        POUT.SESSION_ID = GlobalClass.User.Session;
                        Vouchers        = ParkingDetails.Vouchers;
                        mDiscount       = ParkingDetails.mDiscount;
                        Barcode         = "";
                    }
                }
                else
                {
                    DependencyService.Get <IMessage>().ShortAlert(res.Message);
                }
                IsLoading = false;
            }catch (Exception ex)
            {
                IsLoading = false;
                DependencyService.Get <IMessage>().ShortAlert(ex.Message);
            }
        }