Exemple #1
0
 public GsmModem(int timerInterval, string PortName, ServicePhone ServicePhone, string ModemName)
 {
     this.Busy = false;
     this.port = new SerialPort(PortName);
     this.PortName = PortName;
     this.ModemName = ModemName;
     this.receiveNow = new AutoResetEvent(false);
     this.modemTimer = new System.Timers.Timer(timerInterval);
     this.port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
     this.ServicePhone = ServicePhone;
     this.mutex = new Mutex();
 }
Exemple #2
0
        private Client GetClientByServicePhone(ServicePhone phone, SMSContext context)
        {
            try
            {
                Client queryResult;
                queryResult = context.ClientPhone.FirstOrDefault(x => x.ServicePhone.PhoneNumber.Equals(phone.PhoneNumber)).Client;

                return queryResult;
            }
            catch (Exception e)
            {
                logger.Error("Ошибка чтения из базы данных. Не удалось получить клиента по приватному  сервисному телефону.\r\nТекст ошибки:", e);
                return null;
            }
        }
Exemple #3
0
        private Client GetClientByShortKey(string ShortKey, ServicePhone Phone, SMSContext context)
        {
            try
            {
                Client queryResult;
                queryResult = context.Client.FirstOrDefault(x => x.ShortKey.ToLower().Trim().Equals(ShortKey.ToLower().Trim()) && x.ClientPhone.Select(y => y.ServicePhone.ServicePhoneId).Contains(Phone.ServicePhoneId));

                return queryResult;
            }
            catch (Exception e)
            {
                logger.Error("Ошибка чтения из базы данных. Не удалось получить клиента по ключу и сервисному телефону.\r\nТекст ошибки:", e);
                return null;
            }
        }
Exemple #4
0
        private IncomeClientSMS SaveIncomeClientSMS(ShortMessage message, ServicePhone ServicePhone, IncomeSMS incomeSMS, Client client, SMSContext context)
        {
            try
            {

                IncomeClientSMS incomeClientSMS = new IncomeClientSMS()
                {
                    Client = client,
                    ClientId = client.ClientId,
                    DateTime = message.SentDate,
                    Text = message.Text,
                    SenderNumber = client.PhoneNumber,
                    RecipientNumber = ServicePhone.PhoneNumber,
                    Status = IncomeClientSMS.IncomeClientSMSStatus.Received,
                    SecretKey = incomeSMS.SecretKey,
                    MessageId = incomeSMS.MessageId
                };

                context.IncomeClientSMS.Add(incomeClientSMS);
                context.SaveChanges();

                return incomeClientSMS;
            }
            catch (Exception e)
            {
                logger.Error("Ошибка записи  в базу данных. Не удалось добавить сообщение клиента с ответом.\r\nТекст ошибки:", e);
                return null;
            }
        }