public string GetEncryptedmandateId(GetMandateReq Data)
        {
            string URl    = "";
            string TempId = "";

            try
            {
                TempId = Dbsecurity.Decrypt(Data.AppId) + Dbsecurity.Decrypt(Data.MandateId);
                TempId = Global.ReverseString(TempId);
                TempId = Global.CreateRandomCode(6) + TempId;

                List <GetCredential>       GetCredentialList = new List <GetCredential>();
                QuickCheck_AngularEntities dbcontext         = new QuickCheck_AngularEntities();
                var Result = dbcontext.MultipleResults("[dbo].[Sp_GetMandatemodeData]").With <GetCredential>().
                             Execute("@QueryType", "@AppId", "GetEntityCredential", Dbsecurity.Decrypt(Data.AppId));
                GetCredentialList = Result[0].Cast <GetCredential>().ToList();
                try
                {
                    dbcontext = new QuickCheck_AngularEntities();
                    var Result1 = dbcontext.MultipleResults("[dbo].[sp_ESign]").With <doneres>().
                                  Execute("@QueryType", "@MandateId", "@WebAppUrl", "@EncodedMandateID", "@AppId", "@EncodedAppId", "SaveLinkWithoutSMS", Dbsecurity.Decrypt(Data.MandateId), GetCredentialList[0].EWebAppUrl, TempId, Dbsecurity.Decrypt(Data.AppId), Data.AppId);

                    URl = "/MandateDetails?ID=" + TempId + "&AppId=" + Data.AppId;
                    // string WebAppUrl = ConfigurationManager.AppSettings["EWebAppUrl"].ToString();
                    //  CommonManger.FillDatasetWithParam("sp_ESign", );
                }
                catch (Exception ex) { }
            }
            catch (Exception ex)
            { return("0"); }
            return(URl);
        }
        public string GetMandateInfo(GetMandateReq Data)
        {
            string msg = "";

            try
            {
                msg = SendmailSMS.SemdEmailSms(Data);
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
            return(msg);
        }
Exemplo n.º 3
0
        public BankResponseData GetBankdata(GetMandateReq Data)
        {
            BankResponseData    response = new BankResponseData();
            List <BankResponse> ListView = new List <BankResponse>();

            if (Data.AppID == "")
            {
                response.Message = "Incomplete data";
                response.Status  = "Failure";
                response.ResCode = "ykR20020";
                return(response);
            }
            else if (Data.AppID != "" && CheckMandateInfo.ValidateAppID(Data.AppID) != true)
            {
                response.Message = "Invalid AppId";
                response.Status  = "Failure";
                response.ResCode = "ykR20023";

                return(response);
            }
            else if (Data.MerchantKey == "")
            {
                response.Message = "Incomplete data";
                response.Status  = "Failure";
                response.ResCode = "ykR20020";
                return(response);
            }
            else if (Data.MerchantKey != "" && CheckMandateInfo.ValidateEntityMerchantKey(Data.MerchantKey, Data.AppID) != true)
            {
                response.Message = "Invalid MerchantKey";
                response.Status  = "Failure";
                response.ResCode = "ykR20021";
                return(response);
            }
            else
            {
                string        query = "Sp_WebAPI";
                SqlConnection con   = new SqlConnection(ConfigurationManager.ConnectionStrings[Convert.ToString(Data.AppID)].ConnectionString);
                SqlCommand    cmd   = new SqlCommand(query, con);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@QueryType", "GetLiveBank");
                // cmd.Parameters.AddWithValue("@appId", Data.AppID);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable      dt = new DataTable();
                da.Fill(dt);
                foreach (DataRow row in dt.Rows)
                {
                    BankResponse bnk = new BankResponse();
                    bnk.BankCode         = row["BankCode"].ToString();
                    bnk.BankName         = row["BankName"].ToString();
                    bnk.LiveOnDebitCard  = row["LiveOnDebitCard"].ToString();
                    bnk.LiveOnNetBanking = row["LiveOnNetBanking"].ToString();
                    ListView.Add(bnk);
                }
                response.BankData = ListView;
                response.Message  = "All Live Bank Data On NPCI received successfully";
                response.ResCode  = "ykR20035";
                response.Status   = "Success";
                return(response);
            }
        }
Exemplo n.º 4
0
        public GetMandateResponse GetMandateInfo(GetMandateReq Data)
        {
            GetMandateResponse response = new GetMandateResponse();

            if (Data.AppID == "")
            {
                response.Message = "Incomplete data";
                response.Status  = "Failure";
                response.ResCode = "ykR20020";
                return(response);
            }
            else if (Data.AppID != "" && CheckMandateInfo.ValidateAppID(Data.AppID) != true)
            {
                response.Message = "Invalid AppId";
                response.Status  = "Failure";
                response.ResCode = "ykR20023";

                return(response);
            }
            //else if (ValidatePresement.CheckAccess(Data.AppID.Trim(), "A") != true)
            //{
            //    response.Message = "Unauthorized user";
            //    response.Status = "Failure";
            //    response.ResCode = "ykR20038";
            //    return response;
            //}
            else if (Data.MdtID == "")
            {
                response.Message = "Incomplete data";
                response.Status  = "Failure";
                response.ResCode = "ykR20020";
                return(response);
            }

            else if (!CheckMandateInfo.CheckManadateID(Data.MdtID, Data.AppID))
            {
                response.Message = "Invalid MandateId";
                response.Status  = "Failure";
                response.ResCode = "ykR20022";
                return(response);
            }
            else if (Data.MerchantKey == "")
            {
                response.Message = "Incomplete data";
                response.Status  = "Failure";
                response.ResCode = "ykR20020";
                return(response);
            }
            else if (Data.MerchantKey != "" && CheckMandateInfo.ValidateEntityMerchantKey(Data.MerchantKey, Data.AppID) != true)
            {
                response.Message = "Invalid MerchantKey";
                response.Status  = "Failure";
                response.ResCode = "ykR20021";
                return(response);
            }
            else
            {
                SqlConnection con  = new SqlConnection(ConfigurationManager.ConnectionStrings[Convert.ToString(Data.AppID)].ConnectionString);
                bool          Flag = false;
                //string temp = ConfigurationManager.AppSettings["EnitityMarchantKey" + Data.AppID];
                string UserId = "";
                string query  = "Sp_WebAPI";
                //if (temp.Trim() == DBsecurity.Decrypt(Data.MerchantKey))
                //{
                SqlCommand cmd = new SqlCommand(query, con);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@QueryType", "GetEntityUser");
                cmd.Parameters.AddWithValue("@appId", Data.AppID);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable      dt = new DataTable();
                da.Fill(dt);
                if (dt.Rows.Count > 0)
                {
                    UserId = Convert.ToString(dt.Rows[0][0]);
                    Flag   = true;
                }
                //}

                if (Flag)
                {
                    try
                    {
                        con.Open();
                        query           = "Sp_WebAPI";
                        cmd             = new SqlCommand(query, con);
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.AddWithValue("@QueryType", "GetMandateStatus");
                        cmd.Parameters.AddWithValue("@MandateId", Data.MdtID);
                        da = new SqlDataAdapter(cmd);
                        dt = new DataTable();
                        da.Fill(dt);
                        con.Close();
                        if (dt != null && dt.Rows.Count > 0)
                        {
                            string Nach              = Convert.ToString(dt.Rows[0]["Nach"]) == "True" ? "Yes" : "No";
                            string Aadhar            = Convert.ToString(dt.Rows[0]["IsLiveInNACH"]) == "True" ? "Yes" : "No";
                            string Netbanking        = Convert.ToString(dt.Rows[0]["Netbanking"]) == "1" ? "Yes" : "No";
                            string Debitcard         = Convert.ToString(dt.Rows[0]["DebitCard"]) == "1" ? "Yes" : "No";
                            string UPI               = Convert.ToString(dt.Rows[0]["Is_UPI"]) == "True" ? "Yes" : "No";
                            string Lateststatus      = Convert.ToString(dt.Rows[0]["status"]);
                            string StatusDescription = Convert.ToString(dt.Rows[0]["StatusDescription"]);
                            string isAggr            = "";
                            if (Convert.ToString(dt.Rows[0]["IsAggregator"]).ToLower() == "true")
                            {
                                isAggr = "1";
                            }
                            else
                            {
                                isAggr = "0";
                            }
                            response.Message       = "Mandate Status received";
                            response.ResCode       = "ykR20035";
                            response.Status        = "Success";
                            response.MandateId     = Data.MdtID;
                            response.Mandatestatus = Convert.ToString(dt.Rows[0]["status"]);
                            //response.MandateData = "<MandateData><AppID>" + Data.AppID + "</AppID><MerchantKey>" + Data.MerchantKey + "</MerchantKey><MandateId>" + Data.MdtID + "</MandateId><MandateMode> " + Convert.ToString(dt.Rows[0]["MandateType"]) + " </MandateMode><DateOnMandate> " + Convert.ToString(dt.Rows[0]["DateOnMandate"]) + "</DateOnMandate><SponsorCode>" + Convert.ToString(dt.Rows[0]["SponsorbankCode"]) + "</SponsorCode><UtilityCode> " + Convert.ToString(dt.Rows[0]["UtilityCode"]) + " </UtilityCode ><ToDebit>" + Convert.ToString(dt.Rows[0]["ToDebit"]) + "</ToDebit ><BankName>" + Convert.ToString(dt.Rows[0]["BankName"]) + "</BankName><AcNo>" + Convert.ToString(dt.Rows[0]["AcNo"]) + "</AcNo><IFSC> " + Convert.ToString(dt.Rows[0]["IFSC"]) + " </IFSC><MICR>" + Convert.ToString(dt.Rows[0]["MICR"]) + "</MICR><AmountRupees>" + Convert.ToString(dt.Rows[0]["AmountRupees"]) + "</AmountRupees><Frequency>" + Convert.ToString(dt.Rows[0]["Frequency"]) + "</Frequency><DebitType>" + Convert.ToString(dt.Rows[0]["DebitType"]) + "</DebitType><Refrence1> " + Convert.ToString(dt.Rows[0]["Refrence1"]) + " </Refrence1><Refrence2> " + Convert.ToString(dt.Rows[0]["Refrence2"]) + " </Refrence2>< PhNumber> " + Convert.ToString(dt.Rows[0]["PhoneNumber"]) + " </PhNumber><EmailId> " + Convert.ToString(dt.Rows[0]["EmailId"]) + " </EmailId><From> " + Convert.ToString(dt.Rows[0]["FromDate"]) + "</From><To> " + Convert.ToString(dt.Rows[0]["Todate"]) + " </To>< Customer1> " + Convert.ToString(dt.Rows[0]["Customer1"]) + " </Customer1><Customer2> " + Convert.ToString(dt.Rows[0]["Customer2"]) + "</Customer2><Customer3> " + Convert.ToString(dt.Rows[0]["Customer3"]) + "</Customer3><Nach>" + Nach + "</Nach><EMandateAadhar>" + Aadhar + "</EMandateAadhar><EMandateNetBanking>" + Netbanking + "</EMandateNetBanking><EMandateDebitCard>" + Debitcard + "</EMandateDebitCard><EMandateUPI>" + UPI + "</EMandateUPI><MandateStatus>" + Lateststatus + "</MandateStatus><IsAggregator>" + isAggr + "</IsAggregator><SubMerchantId>" + Convert.ToString(dt.Rows[0]["IsAggregatorValue"]) + "</SubMerchantId><CategoryCode>" + Convert.ToString(dt.Rows[0]["CategoryCode"]) + "</CategoryCode></MandateData>";
                            response.MandateData = "<MandateData><AppID>" + Data.AppID + "</AppID><MerchantKey>" + Data.MerchantKey + "</MerchantKey><MdtID>" + Data.MdtID + "</MdtID><MType>" + Convert.ToString(dt.Rows[0]["MandateType"]) + "</MType><MDate>" + Convert.ToString(dt.Rows[0]["DateOnMandate"]) + "</MDate><SpBankCode>" + Convert.ToString(dt.Rows[0]["SponsorbankCode"]) + "</SpBankCode><UTLSCode>" + Convert.ToString(dt.Rows[0]["UtilityCode"]) + "</UTLSCode><TDebit>" + Convert.ToString(dt.Rows[0]["ToDebit"]) + "</TDebit><BankName>" + Convert.ToString(dt.Rows[0]["BankName"]) + "</BankName><BankAc>" + Convert.ToString(dt.Rows[0]["AcNo"]) + "</BankAc><IFSC>" + Convert.ToString(dt.Rows[0]["IFSC"]) + "</IFSC><MICR>" + Convert.ToString(dt.Rows[0]["MICR"]) + "</MICR><Amt>" + Convert.ToString(dt.Rows[0]["AmountRupees"]) + "</Amt><Frequency>" + Convert.ToString(dt.Rows[0]["Frequency"]) + "</Frequency><DType>" + Convert.ToString(dt.Rows[0]["DebitType"]) + "</DType><Ref1>" + Convert.ToString(dt.Rows[0]["Refrence1"]) + "</Ref1><Ref2>" + Convert.ToString(dt.Rows[0]["Refrence2"]) + "</Ref2><Phone>" + Convert.ToString(dt.Rows[0]["PhoneNumber"]) + "</Phone><Email>" + Convert.ToString(dt.Rows[0]["EmailId"]) + "</Email><PFrom>" + Convert.ToString(dt.Rows[0]["FromDate"]) + "</PFrom><PTo>" + Convert.ToString(dt.Rows[0]["Todate"]) + "</PTo><Cust1>" + Convert.ToString(dt.Rows[0]["Customer1"]) + "</Cust1><Cust2>" + Convert.ToString(dt.Rows[0]["Customer2"]) + "</Cust2><Cust3>" + Convert.ToString(dt.Rows[0]["Customer3"]) + "</Cust3><Nach>" + Nach + "</Nach><EMandateAadhar>" + Aadhar + "</EMandateAadhar><EMandateNetBanking>" + Netbanking + "</EMandateNetBanking><EMandateDebitCard>" + Debitcard + "</EMandateDebitCard><EMandateUPI>" + UPI + "</EMandateUPI><MandateStatus>" + Lateststatus + "</MandateStatus><IsAggregator>" + isAggr + "</IsAggregator><SubMerchantId>" + Convert.ToString(dt.Rows[0]["IsAggregatorValue"]) + "</SubMerchantId><CategoryCode>" + Convert.ToString(dt.Rows[0]["CategoryCode"]) + "</CategoryCode><AcceptRefNo>" + Convert.ToString(dt.Rows[0]["AcceptRefNo"]) + "</AcceptRefNo><MndtReqId>" + Convert.ToString(dt.Rows[0]["MSGId"]) + "</MndtReqId><NPCIRefMsgId>" + Convert.ToString(dt.Rows[0]["NPCIMsgId"]) + "</NPCIRefMsgId><StatusDescription>" + StatusDescription + "</StatusDescription><UMRN>" + Convert.ToString(dt.Rows[0]["UMRN"]) + "</UMRN></MandateData>";
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.Out.WriteLine("-----------------");
                        Console.Out.WriteLine(ex.Message);
                    }
                }
                else
                {
                    response.Status  = "Failure";
                    response.ResCode = "ykR20020";
                    response.Message = "Invalid data";
                    return(response);
                }
            }
            return(response);
        }
        public static string SemdEmailSms(GetMandateReq Data)
        {
            string Msg = "";

            try
            {
                QuickCheck_AngularEntities dbcontext         = new QuickCheck_AngularEntities();
                List <GetCredential>       GetCredentialList = new List <GetCredential>();


                var Result = dbcontext.MultipleResults("[dbo].[Sp_GetMandatemodeData]").With <GetCredential>().
                             Execute("@QueryType", "@AppId", "GetEntityCredential", Dbsecurity.Decrypt(Data.AppId));

                GetCredentialList = Result[0].Cast <GetCredential>().ToList();

                string WebAppUrl     = GetCredentialList[0].EWebAppUrl;                             // ConfigurationManager.AppSettings["EWebAppUrl"].ToString();
                string SMTPHost      = GetCredentialList[0].Amazon_SMTPHost;                        // ConfigurationManager.AppSettings["Amazon_SMTPHost"].ToString();
                string UserId        = GetCredentialList[0].Amazon_UserId;                          // ConfigurationManager.AppSettings["Amazon_UserId"].ToString();
                string MailPassword  = GetCredentialList[0].Amazon_MailPassword;                    // ConfigurationManager.AppSettings["Amazon_MailPassword"].ToString();
                string SMTPPort      = GetCredentialList[0].Amazon_SMTPPort;                        // ConfigurationManager.AppSettings["Amazon_SMTPPort"].ToString();
                string SMTPEnableSsl = Convert.ToString(GetCredentialList[0].Amazon_SMTPEnableSsl); // ConfigurationManager.AppSettings["Amazon_SMTPEnableSsl"].ToString();
                string FromMailId    = GetCredentialList[0].Amazon_FromMailId;                      // ConfigurationManager.AppSettings["Amazon_FromMailId" + Dbsecurity.Decrypt(Data.AppId)].ToString();
                string Teamtext      = GetCredentialList[0].Team;                                   //ConfigurationManager.AppSettings["Team"].ToString();

                string  response   = string.Empty;                                                  //Added by Bibhu on 18Mar2020  ** Reason to insert MessageRequstId SP-
                int     SmsCount   = 0;
                int     EmailCount = 0;
                Boolean IsMail     = false;
                Boolean IsSMS      = false;
                int     SMSlen     = 0;


                string mandateid = Dbsecurity.Decrypt(Data.MandateId);
                //string Emandatetype = Data.Emandatetype;// txtmandatetype.Text;
                string EntityName = "";
                string Amt        = "";
                string TempId     = Dbsecurity.Decrypt(Data.AppId) + mandateid;
                TempId = Global.ReverseString(TempId);
                TempId = Global.CreateRandomCode(6) + TempId;
                DataSet ds    = SendMailAndSMSMethods.GetMobileNo(mandateid, Dbsecurity.Decrypt(Data.AppId), Data.Emandatetype);                                           //CommonManger.FillDatasetWithParam("sp_ESign", "@QueryType", "@mandateid", "@emandatetype", "GetMobileNo", mandateid, Emandatetype);
                DataSet dtset = SendMailAndSMSMethods.GetData_MandateID(mandateid, Dbsecurity.Decrypt(Data.AppId), WebAppUrl, "ESingle", Dbsecurity.Decrypt(Data.UserId)); //CommonManger.FillDatasetWithParam("Sp_SendEmail", "@QueryType", "@MandateId", "@Activity", "@WebAppUrl", "@EncodedMandateID", "@UserId", "GetData_MandateID", Convert.ToString(mandateid), "ESingle", WebAppUrl, TempId,Dbsecurity.Decrypt(Data.UserId).ToString());
                if (ds.Tables[0].Rows.Count > 0)
                {
                    EntityName = Convert.ToString(ds.Tables[0].Rows[0]["Entityname"]);
                    Amt        = Dbsecurity.Decrypt(Convert.ToString(ds.Tables[0].Rows[0]["AmountRupees"]));
                    if (Data.EntityDebitValidateMail == "true" || Data.EntityNetValidateMail == "true")
                    {
                        try
                        {
                            StringBuilder sb = new StringBuilder();
                            sb.Append(dtset.Tables[2].Rows[0][0].ToString());
                            sb.Append("Team " + GetCredentialList[0].Team); //Convert.ToString(ConfigurationManager.AppSettings["Team"]));
                            sb.Append("<br/>");
                            sb.Append("<i style='font-size:11px'>(Email Generated from Unattendable MailBox, Please Do Not reply.)</i>");

                            SmtpClient  smtpClient  = new SmtpClient();
                            MailMessage mailmsg     = new MailMessage();
                            MailAddress mailaddress = new MailAddress(FromMailId);
                            mailmsg.To.Add(ds.Tables[0].Rows[0]["emailid"].ToString());
                            mailmsg.From                     = mailaddress;
                            mailmsg.Subject                  = dtset.Tables[3].Rows[0][0].ToString() + " " + GetCredentialList[0].Team;// Convert.ToString(ConfigurationManager.AppSettings["Team"]);
                            mailmsg.IsBodyHtml               = true;
                            mailmsg.Body                     = sb.ToString();
                            smtpClient.Host                  = SMTPHost;
                            smtpClient.Port                  = Convert.ToInt32(SMTPPort);
                            smtpClient.EnableSsl             = Convert.ToBoolean(SMTPEnableSsl);
                            smtpClient.UseDefaultCredentials = false;
                            smtpClient.Credentials           = new System.Net.NetworkCredential(UserId, MailPassword);
                            smtpClient.Send(mailmsg);
                            IsMail     = true;
                            EmailCount = 1;
                        }
                        catch (Exception ex)
                        {
                        }
                    }
                    if (Data.EntityNetSMS == "true" || Data.EntityDebitSMS == "true")
                    {
                        string[]      arr = EntityName.Split(' ');
                        StringBuilder sb  = new StringBuilder();

                        //sb.Append("To process Mandate Reg. amt " + Amt + " at " + arr[0] + " click " + WebAppUrl + "Master/MandateDetails.aspx?ID=" + DbSecurity.Base64Encode(mandateid));
                        sb.Append(dtset.Tables[1].Rows[0][0].ToString());

                        string URL = "";
                        if (GetCredentialList[0].IsClientSmsApi == "0") //  if (ConfigurationManager.AppSettings["IsSmsApi"] == "0")
                        {
                            //URL = "http://api.msg91.com/api/sendhttp.php?sender=" + ConfigurationManager.AppSettings["SenderId" + Dbsecurity.Decrypt(Data.AppId)] + "&route=4&mobiles=" + Convert.ToString(ds.Tables[0].Rows[0]["phonenumber"].ToString()) + "&authkey=" + ConfigurationManager.AppSettings["authkey"] + "&country=91&message=" + sb.ToString() + "";

                            URL = "http://api.msg91.com/api/sendhttp.php?sender=" + GetCredentialList[0].SenderId + "&route=4&mobiles=" + Convert.ToString(ds.Tables[0].Rows[0]["phonenumber"].ToString()) + "&authkey=" + GetCredentialList[0].AuthKey + "&country=91&message=" + sb.ToString() + "";
                        }
                        else
                        {
                            URL = ConfigurationManager.AppSettings["IsSmsApiurL"] + "&mobiles=" + Convert.ToString(ds.Tables[0].Rows[0]["phonenumber"].ToString()) + "&message=" + sb.ToString() + "&sender=" + ConfigurationManager.AppSettings["IsSmsApisender"] + "&route=" + ConfigurationManager.AppSettings["IsSmsApiroute"] + "&country=" + ConfigurationManager.AppSettings["IsSmsApicountry"] + "";
                        }
                        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
                        request.Method      = "POST";
                        request.ContentType = "application/json";

                        try
                        {
                            WebResponse webResponse = request.GetResponse();
                            using (Stream webStream = webResponse.GetResponseStream())
                            {
                                if (webStream != null)
                                {
                                    using (StreamReader responseReader = new StreamReader(webStream))
                                    {
                                        //string response = responseReader.ReadToEnd(); // Commented by Bibhu on 18Mar2020
                                        response = responseReader.ReadToEnd(); // Added by Bibhu on 18Mar2020
                                                                               // Console.Out.WriteLine(response);
                                    }
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            Console.Out.WriteLine("-----------------");
                            Console.Out.WriteLine(ex.Message);
                        }
                        IsSMS  = true;
                        SMSlen = (dtset.Tables[1].Rows[0][0].ToString()).Length;
                    }
                }

                if (SMSlen <= 160)
                {
                    SmsCount = 1;
                }
                if (SMSlen > 160 && SMSlen <= 306)
                {
                    SmsCount = 2;
                }
                if (SMSlen > 306 && SMSlen <= 459)
                {
                    SmsCount = 3;
                }
                if (SMSlen > 459)
                {
                    SmsCount = 4;
                }


                SendMailAndSMSMethods.SendMailCount(mandateid, Dbsecurity.Decrypt(Data.AppId), EmailCount.ToString(), SmsCount.ToString(), SMSlen, response);

                Msg = "Email and SMS sent successfully on customer email address and mobile number";
            }
            catch (Exception ex)
            {
                Msg = "Some thing went wrong";
            }
            return(Msg);
        }