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(); }
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; } }
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; } }
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; } }