Ejemplo n.º 1
0
        public static async Task <string> SendEmailAttachment(Transaksi trx, Config config)
        {
            string myLink = config.Read("LINK", Config.PARAM_SERVICES_LINK);
            string myUrl  = myLink + "notif/emailattachment";

            if (!RegexUtilities.IsValidEmail(trx.emailNasabah))
            {
                return("Format Email Tidak Valid");
            }
            EmailData emaildata = new EmailData
            {
                emailNasabah    = trx.emailNasabah,
                jenisTransaksi  = trx.pilihanLayanan[trx.jenisLayanan],
                namaNasabah     = trx.namaNasabah,
                noRekening      = trx._AccountNumber2,
                statusTransaksi = trx.statusLayanan,
                lampiran        = trx.emailAttachment,
                path            = trx.attachmentPath,
            };

            var _jsonSerializerOptions = new JsonSerializerOptions {
                WriteIndented = true,
            };

            var content = new StringContent(
                JsonSerializer.Serialize(emaildata, _jsonSerializerOptions),
                Encoding.UTF8, "application/json");

            return(await CallAPI(myUrl, content, "POST"));
        }
        public static async Task <string> SendEmail(Transaksi trx, Config config)
        {
            string ret = string.Empty;

            try
            {
                string myLink = config.Read("LINK", Config.PARAM_SERVICES_LINK);
                string myPath = config.Read("LINK", Config.PARAM_SERVICES_EMAIL);
                string myUrl  = myLink + myPath;
                if (!RegexUtilities.IsValidEmail(trx.emailNasabah))
                {
                    return("Format Email Tidak Valid");
                }
                EmailData emaildata = new EmailData();
                emaildata.emailNasabah    = trx.emailNasabah;
                emaildata.jenisTransaksi  = trx.pilihanLayanan[trx.jenisLayanan];
                emaildata.namaNasabah     = trx.namaNasabah;
                emaildata.noRekening      = trx._AccountNumber;
                emaildata.statusTransaksi = trx.statusLayanan;
                emaildata.lampiran        = trx.emailAttachment;

                using (var handler = new HttpClientHandler())
                {
                    handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return(true); };
                    using (HttpClient client = new HttpClient(handler))
                    {
                        //----------------Prepared to send Transaction Log-----------------//
                        var _jsonSerializerOptions = new JsonSerializerOptions
                        {
                            WriteIndented = true
                        };
                        var content = new StringContent(
                            JsonSerializer.Serialize(emaildata, _jsonSerializerOptions),
                            Encoding.UTF8, "application/json");
                        var response = await client.PostAsync(myUrl, content);

                        if (response != null)
                        {
                            if (response.IsSuccessStatusCode || response.StatusCode.ToString() == "BadRequest" || response.StatusCode.ToString() == "InternalServerError")
                            {
                                var jsonStringResult = await response.Content.ReadAsStringAsync();

                                return(jsonStringResult);
                            }
                            else
                            {
                                return(response.StatusCode.ToString());
                            }
                        }
                    }
                }
            }
            catch (HttpRequestException e)
            {
                Console.WriteLine(e.InnerException.Message);
            }
            return(ret);
        }
Ejemplo n.º 3
0
        public static async Task <string> SendEmailReport(Transaksi trx, Config config)
        {
            //string error;
            //string errorcode;
            //string errormessage;
            //try
            //{
            string myLink = config.Read("LINK", Config.PARAM_SERVICES_REPORT);
            string myUrl  = myLink + "notif/emailreport";
            //if (!RegexUtilities.IsValidEmail(trx.emailNasabah))
            //{
            //    return "Format Email Tidak Valid";
            //}
            EmailData emaildata = new EmailData
            {
                emailNasabah    = "",
                jenisTransaksi  = "Attachement Report",
                namaNasabah     = "",
                noRekening      = "0",
                statusTransaksi = "Sukses",
                lampiran        = trx.reportAttachment,
                path            = trx.reportPath,
            };

            var _jsonSerializerOptions = new JsonSerializerOptions {
                WriteIndented = true,
            };

            var content = new StringContent(
                JsonSerializer.Serialize(emaildata, _jsonSerializerOptions),
                Encoding.UTF8, "application/json");

            return(await CallAPI(myUrl, content, "POST"));

            //}
            //catch(Exception ex)
            //{
            //    //tambahan
            //    errorcode = "ReportError";
            //    errormessage = "SendDataReportError";
            //    error = ex.Message;
            //    //return;
            //    trx.reportStatus = "FAILED";
            //    return errormessage;
            //}
        }
Ejemplo n.º 4
0
        public static async Task <string> InquiryNotification(Transaksi trx, Config config)
        {
            string      ret     = string.Empty;
            string      myLink  = config.Read("LINK", Config.PARAM_SERVICES_LINK);
            string      myPath  = config.Read("LINK", Config.PARAM_SERVICES_INQUIRY_NOTIFICATION);
            string      myUrl   = myLink + myPath;
            InquiryData logdata = new InquiryData {
                noRekening = trx._AccountNumber,
            };

            var _jsonSerializerOptions = new JsonSerializerOptions {
                WriteIndented = true,
            };

            var content = new StringContent(
                JsonSerializer.Serialize(logdata, _jsonSerializerOptions),
                Encoding.UTF8, "application/json");

            return(await CallAPI(myUrl, content, "POST"));
        }
Ejemplo n.º 5
0
        public static async Task AuditTrail()
        {
            Config    config  = new Config();
            Transaksi trx     = new Transaksi();
            string    _myURL  = config.Read("LINK", Config.PARAM_SERVICES_LINK);
            string    saveURL = config.Read("LINK", Config.PARAM_SERVICES_SAVE);

            //trans.endTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();

            string auditTrail = string.Empty;
            int    stepTrail  = 1;

            auditTrail = auditTrail + "[ ";
            foreach (dynamic at in trx._auditTrail)
            {
                auditTrail = auditTrail +
                             "{ \"step\" : \"" + stepTrail + "\"," +
                             "\"action\" : \"" + at._action + "\"," +
                             "\"data\" : \"" + at._data + "\"," +
                             "\"result\" : \"" + at._result + "\"" +
                             "},";
                stepTrail += 1;
            }
            auditTrail = auditTrail.Remove(auditTrail.Length - 1);

            string myJson2 = "{ \"transaction\" : " +
                             "{ \"transactionId\" : \"" + trx._TransaksiID + "\"," +
                             "\"terminalId\" : \"" + trx._TerminalID + "\"," +
                             "\"transactionType\" : \"" + trx._JenisTransaksi + "\"," +
                             "\"startTime\" : \"" + trx.startTime.ToString() + "\"," +
                             "\"endTime\" : \"" + trx.endTime.ToString() + "\"," +
                             "\"status\" : \"" + trx._StatusTransaksi + "\"," +
                             "\"description\" : \"" + trx._ErrorCode + "\"," +
                             "}, \"auditTrail\" : " + auditTrail + "]}";
            string myURL2 = _myURL + saveURL;

            //OurUtility.Write_Log("== Request API : " + myJson2, "step-action");
            string strResult2 = await HitServices.PostCallAPI(myURL2, myJson2);

            //OurUtility.Write_Log("== Response API : " + strResult2, "step-action");
        }
Ejemplo n.º 6
0
        public static async Task <string> SendSms(Transaksi trx, Config config)
        {
            string  myLink  = config.Read("LINK", Config.PARAM_SERVICES_LINK);
            string  myPath  = config.Read("LINK", Config.PARAM_SERVICES_SMS);
            string  myUrl   = myLink + myPath;
            SmsData smsdata = new SmsData {
                jenisTransaksi  = trx.pilihanLayanan[trx.jenisLayanan],
                namaNasabah     = trx.namaNasabah,
                noRekening      = trx._AccountNumber2,
                msisdn          = trx.MSISDN,
                statusTransaksi = trx.statusLayanan,
            };

            var _jsonSerializerOptions = new JsonSerializerOptions {
                WriteIndented = true,
            };

            var content = new StringContent(
                JsonSerializer.Serialize(smsdata, _jsonSerializerOptions),
                Encoding.UTF8, "application/json");

            return(await CallAPI(myUrl, content, "POST"));
        }
Ejemplo n.º 7
0
        public static async Task <string> SendLog(Transaksi trx, Config config, string errorMessage)
        {
            string  myLink  = config.Read("LINK", Config.PARAM_SERVICES_LINK);
            string  myPath  = config.Read("LINK", Config.PARAM_SERVICES_LOG);
            string  myUrl   = myLink + myPath;
            LogData logdata = new LogData {
                jenisTransaksi  = trx.pilihanLayanan[trx.jenisLayanan],
                kodeTransaksi   = trx.kodeLayanan[trx.jenisLayanan],
                idTransaksi     = config.Read("LINK", Config.PARAM_DEVICE_TERMINAL_ID) + DateTime.Now.ToString("ddMMyyyyHHmmss"),
                namaNasabah     = trx.namaNasabah,
                noKartu         = trx.nomerKartu.Substring(0, 12) + "****",
                noSeriPassbook  = trx._BukuSerial,
                saldoBuku       = trx._BukuSaldo,
                lineInput       = trx._BukuBaris,
                startDate       = trx.startDate,
                endDate         = trx.endDate,
                idxMonth        = trx.periodMonth,
                tglTransaksi    = DateTime.Now.AddHours(-7).ToString("s"),
                noRekening      = trx._AccountNumber,
                statusTransaksi = trx.statusLayanan,
                smsNotif        = trx.smsNotif,
                emailNotif      = trx.emailNotif,
                errorMessage    = errorMessage,
                externalId      = trx.externalID,
            };

            var _jsonSerializerOptions = new JsonSerializerOptions {
                WriteIndented = true
            };

            var content = new StringContent(
                JsonSerializer.Serialize(logdata, _jsonSerializerOptions),
                Encoding.UTF8, "application/json");

            return(await CallAPI(myUrl, content, "POST"));
        }
Ejemplo n.º 8
0
        public static async Task <string> SendLog(Transaksi trx, Config config, string errorMessage)
        {
            string ret = string.Empty;

            try
            {
                string  myLink  = config.Read("LINK", Config.PARAM_SERVICES_LINK);
                string  myPath  = config.Read("LINK", Config.PARAM_SERVICES_LOG);
                string  myUrl   = myLink + myPath;
                LogData logdata = new LogData();
                logdata.jenisTransaksi  = trx.pilihanLayanan[trx.jenisLayanan];
                logdata.kodeTransaksi   = trx.kodeLayanan[trx.jenisLayanan];
                logdata.idTransaksi     = trx._TransaksiID;
                logdata.namaNasabah     = trx.namaNasabah;
                logdata.noKartu         = trx.nomerKartu.Substring(0, 12) + "****";
                logdata.noSeriPassbook  = trx._BukuSerial;
                logdata.saldoBuku       = trx._BukuSaldo;
                logdata.lineInput       = trx._BukuBaris;
                logdata.startDate       = trx.startDate;
                logdata.endDate         = trx.endDate;
                logdata.idxMonth        = trx.periodMonth;
                logdata.tglTransaksi    = DateTime.Now.ToString("s");
                logdata.noRekening      = trx._AccountNumber;
                logdata.statusTransaksi = trx.statusLayanan;
                logdata.smsNotif        = trx.smsNotif;
                logdata.emailNotif      = trx.emailNotif;
                logdata.errorMessage    = errorMessage;
                logdata.externalId      = trx.externalID;

                using (var handler = new HttpClientHandler())
                {
                    handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return(true); };
                    using (HttpClient client = new HttpClient(handler))
                    {
                        var _jsonSerializerOptions = new JsonSerializerOptions
                        {
                            WriteIndented = true
                        };
                        var content = new StringContent(
                            JsonSerializer.Serialize(logdata, _jsonSerializerOptions),
                            Encoding.UTF8, "application/json");
                        var response = await client.PostAsync(myUrl, content);

                        //----------------Prepared to send Transaction Log-----------------//
                        if (response != null)
                        {
                            if (response.IsSuccessStatusCode || response.StatusCode.ToString() == "BadRequest" || response.StatusCode.ToString() == "InternalServerError")
                            {
                                var jsonStringResult = await response.Content.ReadAsStringAsync();

                                return(jsonStringResult);
                            }
                            else
                            {
                                return(response.StatusCode.ToString());
                            }
                        }
                    }
                }
            }
            catch (HttpRequestException e)
            {
                Console.WriteLine(e.InnerException.Message);
            }
            return(ret);
        }