private void SendReadyReminders(object _)
        {
            var readyItems = _storage.GetList(
                new[] { ReminderItemStatus.ReadyToSent })
                             .Where(i => i.IsTimeToSend);

            foreach (var readyItem in readyItems)
            {
                var sendingModel = new SendReminderModel(readyItem);

                try
                {
                    //попытка послать уведомление

                    //SendReminder?.Invoke(sendingModel);
                    _sender.Send(
                        sendingModel.ContactId,
                        sendingModel.Message);

                    readyItem.Status = ReminderItemStatus.SuccessfullySent;

                    SendingSucceeded?.Invoke(this, new SendingSucceededEventArgs(sendingModel));

                    //if succesfull send message
                }
                catch (Exception exception)
                {
                    readyItem.Status = ReminderItemStatus.Failed;

                    SendingFailed?.Invoke(this, new SendingFailedEventArgs(sendingModel, exception));
                }

                _storage.Update(readyItem);
            }
        }
 public SendingFailedEventArgs(
     SendReminderModel reminder,
     Exception exception)
 {
     Reminder  = reminder;
     Exception = exception;
 }
Example #3
0
        private void SendReadyToSendReminders(object _)
        {
            var readyItems = _storage.GetList(new[] { ReminderItemStatus.ReadyToSend });

            foreach (var readyItem in readyItems)
            {
                var sendingModel = new SendReminderModel(readyItem);

                try
                {
                    _sender.Send(sendingModel.AccountId, sendingModel.Message);

                    readyItem.Status = ReminderItemStatus.SuccessfullySent;

                    SendingSucceeded?.Invoke(this, new SendingSucceededEventArgs(sendingModel));
                }
                catch (Exception exception)
                {
                    readyItem.Status = ReminderItemStatus.Failed;

                    SendingFailed?.Invoke(this, new SendingFailedEventArgs(sendingModel, exception));
                }

                _storage.Update(readyItem);
            }
        }
Example #4
0
        public void SendMassge(string ToNumber)
        {
            SendReminderModel smsModel = new SendReminderModel();

            smsModel.MemeberID       = UserID.ToString();
            smsModel.MemberData      = txtMessage.Text;
            smsModel.MemeberToNumber = Convert.ToInt64(ToNumber.Replace(" ", ""));
            smsModel.parlourid       = ParlourId;

            int SendOpration = client.InsertSendReminder(smsModel);
        }
        public void Check_That_All_Propeties_Set()
        {
            var expectedId        = Guid.NewGuid();
            var expectedMessage   = "Message";
            var expectedContactId = "+71234567890";

            var sendReminderModel = new SendReminderModel()
            {
                ContactId = expectedContactId,
                Id        = expectedId,
                Message   = expectedMessage
            };

            Assert.AreEqual(expectedId, sendReminderModel.Id);
            Assert.AreEqual(expectedMessage, sendReminderModel.Message);
            Assert.AreEqual(expectedContactId, sendReminderModel.ContactId);
        }
Example #6
0
        public static int InsertSendReminder(SendReminderModel ModelPayment)
        {
            try
            {
                DbParameter[] ObjParam = new DbParameter[4];
                ObjParam[0] = new DbParameter("@parlourid", DbParameter.DbType.UniqueIdentifier, 0, ModelPayment.parlourid);
                ObjParam[1] = new DbParameter("@UserID", DbParameter.DbType.VarChar, 0, ModelPayment.MemeberID);
                ObjParam[2] = new DbParameter("@Data", DbParameter.DbType.VarChar, 0, ModelPayment.MemberData);
                ObjParam[3] = new DbParameter("@ToNumber", DbParameter.DbType.VarChar, 0, ModelPayment.MemeberToNumber);

                DbConnection.GetScalarValue(CommandType.StoredProcedure, "SendSMS", ObjParam);
                return(1);
            }
            catch
            {
                return(0);
            }
        }
Example #7
0
        public void PaymentRemindersms(MembersPaymentDetailsModel model)
        {
            if (model.pkiMemberID > 0)
            {
                //Member New Registration Welcome SMS Send
                int SmsGrupId = Convert.ToInt32(SmsGroupType.Payment);
                smsSendingGroupModel modelSSG = client.GetsmsGroupbyID(SmsGrupId, ParlourId);
                if (modelSSG != null)
                {
                    StringBuilder   strsb          = new StringBuilder();
                    smsTempletModel _EmailTemplate = client.GetEmailTemplateByID(SmsGrupId, ParlourId);
                    if (_EmailTemplate != null)
                    {
                        MembersModel objMemberModel = client.GetMemberByID(model.pkiMemberID, ParlourId);

                        strsb = new StringBuilder(_EmailTemplate.smsText);
                        strsb = strsb.Replace("@Name", "<p>" + objMemberModel.FullNames + " " + objMemberModel.Surname + "</p>");
                        strsb = strsb.Replace("@DatePayment", "<p>" + model.PaymentDate + "</p>");
                        strsb = strsb.Replace("@NextDatePayment", "<p>" + model.Notes + "</p>");
                        strsb = strsb.Replace("@Paymentby", "<p>" + model.MethodOfPayment + "</p>");
                        string CellNo = (objMemberModel.Cellphone == string.Empty ? "0" : objMemberModel.Cellphone);
                        if (CellNo == "0")
                        {
                            CellNo = (objMemberModel.Telephone == string.Empty ? "0" : objMemberModel.Telephone);
                        }

                        SendReminderModel smsModel = new SendReminderModel();
                        smsModel.MemeberID       = UserID.ToString();
                        smsModel.MemberData      = strsb.ToString();
                        smsModel.MemeberToNumber = Convert.ToInt64(CellNo.Replace(" ", ""));
                        smsModel.parlourid       = ParlourId;

                        int SendOpration = client.InsertSendReminder(smsModel);
                    }
                }
            }
        }
 public SendingSuccededEventArgs(SendReminderModel remider)
 {
     Remider = remider;
 }
Example #9
0
 public static int InsertSendReminder(SendReminderModel ModelPayment)
 {
     return(MemberPaymetsDAL.InsertSendReminder(ModelPayment));
 }
Example #10
0
 public int InsertSendReminder(SendReminderModel model)
 {
     return(MemberPaymentBAL.InsertSendReminder(model));
 }