예제 #1
0
        public JsonResult BirthdaySmsSent(string ToId, string Message)
        {
            try
            {
                bool ServiceRequestStatus = true;

                WebSmsModel model = new WebSmsModel();

                //WebSMS Servis Cagrisi.
                WebSmsHandler handler          = new WebSmsHandler();
                string        recipientMsisdns = ToId;

                //TEK KISIYE SMS GONDERIMI
                model.serviceData = handler.PrepareData(UserFb.Data.Msisdn, recipientMsisdns, Message);

                if (model.serviceData.Error != null)
                {
                    //Eger servisten Error parametresi dolu gelmis ise zaten temel bir hata olusmustur
                    //bu sebepten hiçbir mesaj gönderilememistir. Dogrudan error gösterilebilir.
                    ServiceRequestStatus = false;
                }
                else
                {
                    //Error gelmedi ise, dönen result set içerisinde gönderim yapılan numaralar mutlaka var.
                    //bunlari arkadaslar ile join edip birlestiriyoruz.
                    var joinResult = (from u in model.serviceData.Recipients
                                      join p in UserFb.Friends on u.Msisdn equals p.Msisdn
                                      into a
                                      from f in a.DefaultIfEmpty(new UserFbFriendModel())
                                      select new SmsGonderResultModel
                    {
                        FbId = f.FbId,
                        UserId = f.UserId,
                        PictureLink = f.PictureLink,
                        FirstNameView = f.FirstNameView,
                        LastNameView = f.LastNameView,

                        Msisdn = u.Msisdn,
                        Charge = u.Charge,
                        Status = u.Status
                    }).ToList();
                }

                if (ServiceRequestStatus == true)
                {
                    service.Add(UserFb.Data.Id, ToId, 0, 0, Message, true);
                }
                else
                {
                    ToId = "0";
                }
            }
            catch { ToId = "0"; }

            return(Json(new { ToId = ToId }, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        public JsonResult BirthdaySmsSent(string ToId)
        {
            try
            {
                bool ServiceRequestStatus = true;
                //TODO: Burada "SMS GÖNDERME SERVİSİ" çağırılacak.
                if (ServiceRequestStatus == true)
                {
                    service.Add(UserFb.Data.Id, ToId, 0, 0, "", true);
                }
                else
                {
                    ToId = "0";
                }
            }
            catch { ToId = "0"; }

            return(Json(new { ToId = ToId }, JsonRequestBehavior.AllowGet));
        }
예제 #3
0
        public ActionResult Default(UserSms entity, string ToIds, string ToMsisdns)
        {
            try
            {
                bool ServiceRequestStatus      = true;
                bool multipleSendContainErrors = false;

                //WebSMS Servis Cagrisi.
                WebSmsHandler handler          = new WebSmsHandler();
                string[]      recipientMsisdns = ToMsisdns.Split(',');

                foreach (var recipient in recipientMsisdns)
                {
                    WebSms smsSendResult = handler.PrepareData(UserFb.Data.Msisdn, recipient, entity.Message);
                    if (smsSendResult.Error != null)
                    {
                        multipleSendContainErrors = true;
                    }
                }

                //BURADA ASLINDA BASARILI OLMA - KISMEN BASARILI OLMA VE TAMAMEN HATALI OLMA DURUMLARI VAR
                //BU IFI GENISLETMEK GEREKIYOR.
                if (ServiceRequestStatus == true && multipleSendContainErrors == false)
                {
                    ToIds = ToIds.Remove(0, 1);
                    ToIds = ToIds.Remove((int)ToIds.Length - 1, 1);
                    service.Add(UserFb.Data.Id, ToIds.Split(',').ToArray(), entity.CharNumber, entity.SMSFreeLimit, entity.Message, false);
                    return(PartialResultSuccess("RequestSuccess"));
                }
                else
                {
                    return(PartialResultError("SentSMSError"));
                }
            }
            catch (Exception)
            {
                return(PartialResultError());
            }
        }
예제 #4
0
        public ActionResult Default(UserSms entity, string ToIds, string ToMsisdns)
        {
            try
            {
                WebSmsModel model = new WebSmsModel();

                //WebSMS Servis Cagrisi.
                WebSmsHandler handler          = new WebSmsHandler();
                string[]      recipientMsisdns = ToMsisdns.Split(',');

                if (recipientMsisdns.Length > 1)
                {
                    //COKLU SMS GONDERIMI
                    model.serviceData = handler.PrepareData(UserFb.Data.Msisdn, recipientMsisdns, entity.Message);
                }
                else
                {
                    //TEK KISIYE SMS GONDERIMI
                    model.serviceData = handler.PrepareData(UserFb.Data.Msisdn, recipientMsisdns[0], entity.Message);
                }

                if (model.serviceData.Error != null)
                {
                    //Eger servisten Error parametresi dolu gelmis ise zaten temel bir hata olusmustur
                    //bu sebepten hiçbir mesaj gönderilememistir. Dogrudan error gösterilebilir.
                    return(PartialResultError("SentSMSError"));
                }
                else
                {
                    //Error gelmedi ise, dönen result set içerisinde gönderim yapılan numaralar mutlaka var.
                    //bunlari arkadaslar ile join edip birlestiriyoruz.
                    var joinResult = (from u in model.serviceData.Recipients
                                      join p in UserFb.Friends on u.Msisdn equals p.Msisdn
                                      into a
                                      from f in a.DefaultIfEmpty(new UserFbFriendModel())
                                      select new SmsGonderResultModel
                    {
                        FbId = f.FbId,
                        UserId = f.UserId,
                        PictureLink = f.PictureLink,
                        FirstNameView = f.FirstNameView,
                        LastNameView = f.LastNameView,

                        Msisdn = u.Msisdn,
                        Charge = u.Charge,
                        Status = u.Status
                    }).ToList();

                    //Mesut Müdür, Bu joinResult senin view tarafında basacağın arkadaş eşleştirmeli sms gönderim sonuçlarını içeriyor.
                    //SmsGonderResultModel'i inceleyerek hangi alanların geldiğini görebilirsin.

                    ToIds = ToIds.Remove(0, 1);
                    ToIds = ToIds.Remove((int)ToIds.Length - 1, 1);
                    service.Add(UserFb.Data.Id, ToIds.Split(',').ToArray(), entity.CharNumber, entity.SMSFreeLimit, String.Empty, false);
                    //return PartialResultSuccess("RequestSuccess");

                    return(PartialView("SmsResult", joinResult.ToList()));
                }
            }
            catch (Exception)
            {
                return(PartialResultError("SentSMSError"));
            }
        }