Ejemplo n.º 1
0
        public ActionResult VerifyPayment(Models.VerifyResult Vresult)
        {
            try
            {
                if (!string.IsNullOrEmpty(Request.Form["transId"]))
                {
                    Payment        ob        = new Payment();
                    string         result    = ob.verify(Request.Form["transId"].ToString());
                    JsonParameters Parmeters = JsonConvert.DeserializeObject <JsonParameters>(result);
                    string         transId   = Request.Form["transId"].ToString();
                    var            thiscart  = db.tbl_purchasekart.Where(a => a.transId == transId).SingleOrDefault();
                    if (Parmeters.status == 1)
                    {
                        thiscart.ispaid          = true;
                        thiscart.purchasedateend = DateTime.Now;
                        db.SaveChanges();
                        Vresult.success        = true;
                        Vresult.TransActionID += Request.Form["transId"].ToString();
                        Vresult.Amount        += Parmeters.amount.ToString();

                        Vresult.SuccessMessage = "پرداخت با موفقیت انجام شد.";

                        Cls_SMS.ClsSend sms_Single = new Cls_SMS.ClsSend();
                        string[]        ret1       = new string[2];
                        string          smstext    = $"مبلغ {Vresult.Amount} ریال به حساب شما بابت خرید اینترنتی سبد شماره {thiscart.id} توسط کاربر {thiscart.user.username} در تاریخ {shamsi.ToShamsi(DateTime.Now).ToString("yyyy/MM/dd")}به شماره سند :  {Vresult.TransActionID} واریز شد.";
                        ret1 = sms_Single.SendSMS_Single(smstext, "09177017801", "100008001", "koohi8", "87g5820", "http://193.104.22.14:2055/CPSMSService/Access", "KOOHI", false);


                        tbl_transaction t = new tbl_transaction();
                        t.cartid    = thiscart.id;
                        t.amount    = decimal.Parse(Vresult.Amount);
                        t.sharh     = "تسویه حساب کاربری : " + thiscart.user.username;
                        t.transid   = Vresult.TransActionID;
                        t.user_id   = thiscart.user.id;
                        t.varizdate = DateTime.Now;
                        db.tbl_transaction.Add(t);
                        db.SaveChanges();
                    }
                    else
                    {
                        Vresult.error        = true;
                        Vresult.ErrorMessage = "کدخطا : " + Parmeters.errorCode + "<br />" + "پیغام خطا : " + Parmeters.errorMessage;
                    }
                }
            }
            catch (Exception)
            {
                Vresult.error        = true;
                Vresult.ErrorMessage = "متاسفانه پرداخت ناموفق بوده است.";
            }

            return(View(Vresult));
        }
        public bool senduniqekey(string codemelli, string cellnumber)
        {
            Random rd = new Random();

            var q = db.tbl_applicants.Where(a => a.codemelli == codemelli && a.cellnumber == cellnumber).SingleOrDefault();

            if (q != null)
            {
                q.uniqekey = rd.Next(100000, 1000000);
                db.SaveChanges();
                Cls_SMS.ClsSend sms_Single = new Cls_SMS.ClsSend();
                string[]        ret1       = new string[2];
                string          smstext    = "کد ملی :" + codemelli + "\n" + "کد تائید :" + q.uniqekey.ToString();
                ret1 = sms_Single.SendSMS_Single(smstext, q.cellnumber.ToString(), "100008001", "koohi8", "87g5820", "http://193.104.22.14:2055/CPSMSService/Access", "KOOHI", false);
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public ActionResult applyformsave(applicantrepfirst model)
        {
            int user     = (User.Identity.IsAuthenticated ? _userServices.GetUseridByUsername(User.Identity.Name) : 0);
            var accessok = db.tbl_accesslevels.Where(a => a.userid == user && a.accessid == 31 && a.accessvalue == true).SingleOrDefault();
            var q        = db.tbl_applicants.Where(a => a.codemelli == model.codemelli).SingleOrDefault();

            if (q == null)
            {
                Random rd = new Random();
                model.uniqekey = rd.Next(100000, 1000000);
                model.sabtdate = DateTime.Now;
                tbl_applicants app = new tbl_applicants();
                app.birthday   = shamsi.ToMiladi(DateTime.Parse(model.birthday));
                app.cellnumber = model.cellnumber;
                app.codemelli  = model.codemelli;
                app.f_name     = model.f_name;
                app.job_id     = model.job_id;
                app.l_name     = model.l_name;
                app.uniqekey   = model.uniqekey;
                app.sabtdate   = model.sabtdate;
                if (accessok != null)
                {
                    db.tbl_applicants.Add(app);
                    db.SaveChanges();
                    List <tbl_skillappinfo> lstskillinf = new List <tbl_skillappinfo>();


                    foreach (var item in db.tbl_skills)
                    {
                        tbl_skillappinfo t = new tbl_skillappinfo();
                        t.appid      = app.applicant_id;
                        t.skillid    = item.id;
                        t.skillvalue = "1";
                        lstskillinf.Add(t);
                    }

                    db.tbl_skillappinfo.AddRange(lstskillinf);
                    db.SaveChanges();



                    TempData["message"] = "اطلاعات اولیه متقاضی ثبت شد.";
                    return(RedirectToAction("registerforjob", "home"));
                }
                else
                {
                    db.tbl_applicants.Add(app);
                    db.SaveChanges();
                    List <tbl_skillappinfo> lstskillinf = new List <tbl_skillappinfo>();


                    foreach (var item in db.tbl_skills)
                    {
                        tbl_skillappinfo t = new tbl_skillappinfo();
                        t.appid      = app.applicant_id;
                        t.skillid    = item.id;
                        t.skillvalue = "1";
                        lstskillinf.Add(t);
                    }

                    db.tbl_skillappinfo.AddRange(lstskillinf);
                    db.SaveChanges();


                    ViewBag.applicantid = model.applicant_id;
                    TempData["message"] = "جهت تکمیل اطلاعات مربوط به فرم استخدام کد تائید برای شما پیامک شده است. ";
                    Cls_SMS.ClsSend sms_Single = new Cls_SMS.ClsSend();
                    string[]        ret1       = new string[2];
                    string          smstext    = "کد ملی :" + model.codemelli + "\n" + "کد تائید :" + model.uniqekey.ToString() + "\n" + "جهت تکمیل اطلاعات متقاضی";
                    ret1 = sms_Single.SendSMS_Single(smstext, model.cellnumber.ToString(), "100008001", "koohi8", "87g5820", "http://193.104.22.14:2055/CPSMSService/Access", "KOOHI", false);

                    return(RedirectToAction("registerforjob", "home"));
                }
            }
            else
            {
                TempData["message"] = "این کد ملی قبلاً ثبت شده است.";
                return(RedirectToAction("registerforjob", "home"));
            }
        }
Ejemplo n.º 4
0
        public void SendSms(BatchMessage batchMessage)
        {
            try
            {
                string          logFile = string.Format(@"{0}\{1}", ConfigurationManager.GetSetting("RecipientAddress"), batchMessage.Id);
                string          sendStatus = "", batchId = "", amount = "", chargingAmount = "";
                Cls_SMS.ClsSend sms_Batch = new Cls_SMS.ClsSend();
                ArrayList       ret2      = new ArrayList();
                try
                {
                    LogController <ServiceLogs> .LogInFile(ServiceLogs.RahyabRG, " /" + batchMessage.Guid.ToString() + " / " + " receiver Count : " + batchMessage.Receivers.Select(reciever => reciever.RecipientNumber).Count()
                                                           + " SenderNumber : " + batchMessage.SenderNumber + " Username : "******" Password : "******" SendLink : " + batchMessage.SendLink + " Domain : " + batchMessage.Domain
                                                           + " IsFlash : " + batchMessage.IsFlash + " SmsText : " + batchMessage.SmsText);

                    ret2 = sms_Batch.SendSMS_Batch_Full(batchMessage.SmsText,
                                                        batchMessage.Receivers.Select(reciever => reciever.RecipientNumber).ToArray(),
                                                        batchMessage.SenderNumber,
                                                        batchMessage.Username,
                                                        batchMessage.Password,
                                                        batchMessage.SendLink,
                                                        batchMessage.Domain,
                                                        batchMessage.IsFlash,
                                                        ref sendStatus,
                                                        ref batchId,
                                                        ref amount,
                                                        ref chargingAmount);

                    LogController <ServiceLogs> .LogInFile(ServiceLogs.RahyabRG, " /" + batchMessage.Guid.ToString() + " / " + " ret2 Count : " + ret2.Count + " sendStatus : " + sendStatus
                                                           + " batchId : " + batchId + " amount : " + amount + "\\ chargingAmount : " + chargingAmount);

                    try
                    {
                        LogController <ServiceLogs> .LogInFile(ServiceLogs.RahyabRG, "Try : 1 | Date : " + DateTime.Now.ToString().Replace(':', '-') + " | Guid : " + batchMessage.Guid.ToString() + " | ret2 Count : " + ret2.Count + " | sendStatus : " + sendStatus
                                                               + " | batchId : " + batchId + " | amount : " + amount + "| chargingAmount : " + chargingAmount);
                    }
                    catch (Exception ex)
                    {
                        LogController <ServiceLogs> .LogInFile(ServiceLogs.RahyabRG, "Error : " + ex.Message);
                    }

                    if (sendStatus.Contains("Uknown Error"))
                    {
                        ret2       = new ArrayList();
                        sendStatus = ""; batchId = ""; amount = ""; chargingAmount = "";
                        ret2       = sms_Batch.SendSMS_Batch_Full(batchMessage.SmsText,
                                                                  batchMessage.Receivers.Select(reciever => reciever.RecipientNumber).ToArray(),
                                                                  batchMessage.SenderNumber,
                                                                  batchMessage.Username,
                                                                  batchMessage.Password,
                                                                  batchMessage.SendLink,
                                                                  batchMessage.Domain,
                                                                  batchMessage.IsFlash,
                                                                  ref sendStatus,
                                                                  ref batchId,
                                                                  ref amount,
                                                                  ref chargingAmount);

                        LogController <ServiceLogs> .LogInFile(ServiceLogs.RahyabRG, "Try 2 /" + batchMessage.Guid.ToString() + " / " + " ret2 Count : " + ret2.Count + " sendStatus : " + sendStatus
                                                               + " batchId : " + batchId + " amount : " + amount + "\\ chargingAmount : " + chargingAmount);

                        try
                        {
                            LogController <ServiceLogs> .LogInFile(ServiceLogs.RahyabRG, "Try : 2 | Date : " + DateTime.Now.ToString().Replace(':', '-') + " | Guid : " + batchMessage.Guid.ToString() + " | ret2 Count : " + ret2.Count + " | sendStatus : " + sendStatus
                                                                   + " | batchId : " + batchId + " | amount : " + amount + "| chargingAmount : " + chargingAmount);
                        }
                        catch (Exception ex)
                        {
                            LogController <ServiceLogs> .LogInFile(ServiceLogs.RahyabRG, "Error : " + ex.Message);
                        }

                        if (sendStatus.Contains("Uknown Error"))
                        {
                            ret2       = new ArrayList();
                            sendStatus = ""; batchId = ""; amount = ""; chargingAmount = "";
                            ret2       = sms_Batch.SendSMS_Batch_Full(batchMessage.SmsText,
                                                                      batchMessage.Receivers.Select(reciever => reciever.RecipientNumber).ToArray(),
                                                                      batchMessage.SenderNumber,
                                                                      batchMessage.Username,
                                                                      batchMessage.Password,
                                                                      batchMessage.SendLink,
                                                                      batchMessage.Domain,
                                                                      batchMessage.IsFlash,
                                                                      ref sendStatus,
                                                                      ref batchId,
                                                                      ref amount,
                                                                      ref chargingAmount);

                            LogController <ServiceLogs> .LogInFile(ServiceLogs.RahyabRG, "Try 3 /" + batchMessage.Guid.ToString() + " / " + " ret2 Count : " + ret2.Count + " sendStatus : " + sendStatus
                                                                   + " batchId : " + batchId + " amount : " + amount + "\\ chargingAmount : " + chargingAmount);

                            try
                            {
                                LogController <ServiceLogs> .LogInFile(ServiceLogs.RahyabRG, "Try : 3 | Date : " + DateTime.Now.ToString().Replace(':', '-') + " | Guid : " + batchMessage.Guid.ToString() + " | ret2 Count : " + ret2.Count + " | sendStatus : " + sendStatus
                                                                       + " | batchId : " + batchId + " | amount : " + amount + "| chargingAmount : " + chargingAmount);
                            }
                            catch (Exception ex)
                            {
                                LogController <ServiceLogs> .LogInFile(ServiceLogs.RahyabRG, "Error : " + ex.Message);
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    foreach (InProgressSms sms in batchMessage.Receivers)
                    {
                        sms.SendStatus     = (int)SendStatus.ErrorInSending;
                        sms.DeliveryStatus = (int)DeliveryStatus.NotSent;
                        sms.SendTryCount  += 1;
                    }

                    throw ex;
                }

                switch (sendStatus.ToLower())
                {
                case "true":
                case "check_ok":
                    // foreach (InProgressSms sms in batchMessage.Receivers)
                    // {
                    foreach (InProgressSms sms in batchMessage.Receivers)
                    {
                        sms.ReturnID       = batchId.Split('+')[1];
                        sms.SendStatus     = (int)SendStatus.Sent;
                        sms.DeliveryStatus = (int)DeliveryStatus.ReceivedByItc;
                    }
                    for (int i = 0; i < ret2.Count; i++)
                    {
                        CheckErrorSms((Cls_SMS.ClsSend.STC_SMSSend)ret2[i], batchMessage.Receivers.Where(_ => _.RecipientNumber == (ret2[i] as Cls_SMS.ClsSend.STC_SMSSend).DestAddress).FirstOrDefault(), batchId);
                    }
                    // }
                    break;

                case "false":
                case "check_error":
                    foreach (InProgressSms sms in batchMessage.Receivers)
                    {
                        sms.ReturnID       = batchId.Split('+')[1];
                        sms.SendStatus     = (int)SendStatus.ErrorInSending;
                        sms.DeliveryStatus = (int)DeliveryStatus.ErrorInSending;
                    }
                    for (int i = 0; i < ret2.Count; i++)
                    {
                        CheckErrorSms((Cls_SMS.ClsSend.STC_SMSSend)ret2[i], batchMessage.Receivers.Where(_ => _.RecipientNumber == (ret2[i] as Cls_SMS.ClsSend.STC_SMSSend).DestAddress).FirstOrDefault(), batchId);
                    }
                    break;

                default:
                    foreach (InProgressSms sms in batchMessage.Receivers)
                    {
                        sms.SendStatus     = (int)SendStatus.ErrorInSending;
                        sms.DeliveryStatus = (int)DeliveryStatus.NotSent;
                        sms.SendTryCount  += 1;
                    }
                    break;
                }

                LogController <ServiceLogs> .LogInFile(logFile,
                                                       string.Format("Id={0}Guid={1}Sms={2}Receivers={3}{4}",
                                                                     batchMessage.Id,
                                                                     batchMessage.Guid,
                                                                     batchMessage.SmsText,
                                                                     string.Join(";", batchMessage.Receivers.Select <InProgressSms, string>(sms => string.Format("{0}-{1}-{2}", sms.RecipientNumber, sms.ReturnID, batchMessage.PageNo))),
                                                                     Environment.NewLine));
            }
            catch (Exception ex)
            {
                LogController <ServiceLogs> .LogInFile(ServiceLogs.RahyabRG, string.Format("\r\n-------------------------------------------------------------------------"));

                LogController <ServiceLogs> .LogInFile(ServiceLogs.RahyabRG, string.Format("\r\n{0} : Message : {1}", "send sms method", ex.Message));

                LogController <ServiceLogs> .LogInFile(ServiceLogs.RahyabRG, string.Format("\r\n{0} : OutboxGuid : {1}", "send sms method", batchMessage.Guid.ToString()));

                LogController <ServiceLogs> .LogInFile(ServiceLogs.RahyabRG, string.Format("\r\n{0} : StackTrace : {1}", "send sms method", ex.StackTrace));

                LogController <ServiceLogs> .LogInFile(ServiceLogs.RahyabRG, string.Format("\r\n-------------------------------------------------------------------------"));
            }
        }
Ejemplo n.º 5
0
        public async Task registeronlineuser(string uname, string email, string connectionid, int userid = 0)
        {
            int    onlineuserid   = 0;
            string usernameonline = "";

            if (userid != 0)
            {
                // اگر کاربر قبلا ثبت نام کرده باشد
                var user = db.tbl_user.Find(userid);
                uname = user.name;
                var onlinelist = db.tbl_tbl_onlineusers.Where(a => a.user_id == userid).SingleOrDefault();
                if (onlinelist == null)
                {
                    // اگر قبلا در جدول انلاین یوزیر نبوده باشد

                    tbl_tbl_onlineusers onlineuser = new tbl_tbl_onlineusers()
                    {
                        user_id = userid, connection_id = connectionid, nameu = user.name, email = user.email
                    };
                    db.tbl_tbl_onlineusers.Add(onlineuser);
                    db.SaveChanges();
                    onlineuserid   = onlineuser.id;
                    usernameonline = onlineuser.nameu;
                }
                else
                {
                    // اگر قبلا در جدول آنلاین یوزر بوده باشد
                    await Clients.All.SendAsync("signout", onlinelist.id);

                    onlinelist.connection_id = connectionid;
                    onlineuserid             = onlinelist.id;
                    usernameonline           = onlinelist.nameu;
                    db.SaveChanges();
                }
            }
            else
            {
                // اگر کاربر ثبت نام نکرده باشد.

                tbl_tbl_onlineusers onlineuser = new tbl_tbl_onlineusers()
                {
                    user_id = null, connection_id = connectionid, nameu = uname, email = email
                };
                db.tbl_tbl_onlineusers.Add(onlineuser);
                db.SaveChanges();
                onlineuserid   = onlineuser.id;
                usernameonline = onlineuser.nameu;
            }
            //  افزودن به onlinechatlist



            // مشخص کردن این مسئله از پشتیبانان کسی آنلاین هست یا خیر؟
            tbl_user suser = db.tbl_supporterinonlinechat.FirstOrDefault().user_;
            string   msg;
            var      onlinesupporter      = db.tbl_tbl_onlineusers.Where(a => a.user_.tbl_supporterinonlinechat.Any() == true && a.connection_id != "");
            int      onlinesupportercount = 0;

            if (onlinesupporter.Count() != 0)
            {
                onlinesupportercount = onlinesupporter.Count();

                //msg = "سلام " + uname + " جان ";

                tbl_tbl_onlineusers supporteronlineuser = db.tbl_tbl_onlineusers.Where(a => a.user_id == suser.id).FirstOrDefault();
                msg = " شما به " + db.tbl_supporterinonlinechat.FirstOrDefault().supporte_name + " وصل شده اید";


                await Clients.All.SendAsync("sayhello", msg, supporteronlineuser.id);

                string connection_idofsupporter = onlinesupporter.FirstOrDefault().connection_id;
                await Clients.Client(connection_idofsupporter).SendAsync("addto_onlinechatlist", onlineuserid, usernameonline);
            }
            else
            {
                // ارسال پیام خوش امد

                msg  = "سلام " + uname + " جان ";
                msg += "لطفا صبر کنید تا یکی از اعضای تیم را به شما متصل کنیم";

                await Clients.Client(connectionid).SendAsync("sayhello", msg);

                // ارسال پیامک به پشتیبان سایت
                Cls_SMS.ClsSend sms_Single  = new Cls_SMS.ClsSend();
                Cls_SMS.ClsSend sms_Single2 = new Cls_SMS.ClsSend();
                string[]        ret1        = new string[2];
                string          smstext     = $"کاربری به نام {uname} منتظر جواب شماست. ///// کالای چوب سلطانی";
                string          cellnumber  = suser.cellphone;
                ret1 = sms_Single.SendSMS_Single(smstext, cellnumber, "100008001", "koohi8", "87g5820", "http://193.104.22.14:2055/CPSMSService/Access", "KOOHI", false);
            }
        }