public static MobileAccount GetByName(string adress, string name) { XDocument xdoc = XDocument.Load(adress); XElement Account = xdoc.Element("MobileOperator").Element("Accounts"); foreach (XElement MobileAccounts in Account.Elements("MobileAccount")) { XElement NameElement = MobileAccounts.Element("Name"); XElement LastNameElement = MobileAccounts.Element("LastName"); XElement BirthDateElement = MobileAccounts.Element("BirthDate"); XElement EmailElement = MobileAccounts.Element("Email"); XElement NumberElement = MobileAccounts.Element("Number"); if (name == NameElement.Value) { MobileAccount user = new MobileAccount(); user.Name = NameElement.Value; user.LastName = LastNameElement.Value; user.BirthDate = DateTime.Parse(BirthDateElement.Value); user.Email = EmailElement.Value; user.Number = Int32.Parse(NumberElement.Value); return(user); } } return(default(MobileAccount)); }
public void Registrate(MobileAccount newAccount) { Accounts.Add(newAccount); newAccount.CallEvent += CallRouting; newAccount.SmsEvent += SmsRouting; newAccount.Number = NewNumber++; }
public void CallRouting(int to, int from) { MobileAccount reciverMobileAccount = Accounts.Find(x => x.Number == to); reciverMobileAccount.GetCall(from); Jornal.Add(new Operation(1, Accounts.Find(x => x.Number == from), Accounts.Find(x => x.Number == to))); }
static void Main(string[] args) { MobileOperator Life = new MobileOperator(); MobileAccount user1 = new MobileAccount("Dima", "Kobets", new DateTime(1996, 12, 27), "*****@*****.**"); MobileAccount user2 = new MobileAccount("Weronika", "Nikolaeva", new DateTime(1996, 2, 12), "*****@*****.**"); MobileAccount user3 = new MobileAccount("Kate", "Kos", new DateTime(1996, 12, 2), "*****@*****.**"); if (user1.Validate() && user2.Validate() && user3.Validate()) { Life.Registrate(user1); Life.Registrate(user2); Life.Registrate(user3); user1.Call(user2.Number); user1.SendSms(user2.Number, "Hello world"); user1.Call(user3.Number); user1.Call(user3.Number); user2.Call(user3.Number); user2.Call(user1.Number); user3.Call(user2.Number); Life.ShowJornal(); Life.MostActiveMembers(); Life.MostPopularNumbers(); } Console.ReadLine(); }
public void SmsRouting(SmsDataType sms, int from) { MobileAccount reciverMobileAccount = Accounts.Find(x => x.Number == sms.Number); reciverMobileAccount.GetSms(sms.Message, from); Jornal.Add(new Operation(0.5, Accounts.Find(x => x.Number == from), Accounts.Find(x => x.Number == sms.Number))); }
public void AddToContacts(MobileAccount newContact) { if (phonebook == null) { phonebook = new List <MobileAccount>(); } phonebook.Add(newContact); }
public static void ProtoBufSerialization(MobileAccount user) { using (var file = File.Create("ProtoBuf" + user.Name + ".bin")) { var watch = System.Diagnostics.Stopwatch.StartNew(); Serializer.Serialize(file, user); watch.Stop(); Console.WriteLine("The object is serialized by Protobuf serialization"); Console.WriteLine("It takes " + watch.Elapsed + "\n"); } }
static void Main(string[] args) { MobileOperator Life = new MobileOperator(); MobileAccount user1 = new MobileAccount("Dima", 0674026982); MobileAccount user2 = new MobileAccount("Kate", 0674026980); Life.Registrate(user1); Life.Registrate(user2); user1.Call(0674026980); user1.SendSms(0674026980, "Hello world"); Console.ReadLine(); }
public static void XMLSerialization(MobileAccount user) { var formatter = new XmlSerializer(typeof(MobileAccount)); using (FileStream fs = new FileStream("XML" + user.Name + ".xml", FileMode.OpenOrCreate)) { var watch = System.Diagnostics.Stopwatch.StartNew(); formatter.Serialize(fs, user); watch.Stop(); Console.WriteLine("The object is serialized by XML serialization"); Console.WriteLine("It takes " + watch.Elapsed + "\n"); } }
public static void BinarySerialization(MobileAccount user) { var formatter = new BinaryFormatter(); using (FileStream fs = new FileStream("Binaty" + user.Name + ".dat", FileMode.OpenOrCreate)) { var watch = System.Diagnostics.Stopwatch.StartNew(); formatter.Serialize(fs, user); watch.Stop(); Console.WriteLine("The object is serialized by Binary serialization"); Console.WriteLine("It takes " + watch.Elapsed + "\n"); } }
public static void JSONSerialization(MobileAccount user) { var jsonFormatter = new DataContractJsonSerializer(typeof(MobileAccount)); using (FileStream fs = new FileStream("JSON" + user.Name + ".json", FileMode.OpenOrCreate)) { var watch = System.Diagnostics.Stopwatch.StartNew(); jsonFormatter.WriteObject(fs, user); watch.Stop(); Console.WriteLine("The object is serialized by JSON serialization"); Console.WriteLine("It takes " + watch.Elapsed + "\n"); } }
public void Add(MobileAccount acc) { try { _accounts.Add(acc.number, acc); acc.OnCall += (sender, args) => { Connect(sender, args); }; acc.OnSms += (sender, args) => { RedirectSms(sender, args); }; acc.op = this; acc.isGotOperator = true; } catch (Exception keyException) { Console.WriteLine(keyException); } }
public void Call(MobileAccount phoneBookContact) { if (CheckOperator()) { bool isFound = false; foreach (var contact in phonebook) { if (contact.Value == phoneBookContact) { Console.WriteLine("Called {0} from {1}", phoneBookContact.name, number); OnCall?.Invoke(this, new MobileAccountEventArgs(phoneBookContact.number)); isFound = true; } } if (!isFound) { Console.WriteLine("contact is not in phone book"); } } }
public void Sms(MobileAccount phoneBookContact, string message) { if (CheckOperator()) { bool isFound = false; foreach (var contact in phonebook) { if (contact.Value == phoneBookContact) { Console.WriteLine("Sent {0} from {1} to {2}", message, number, phoneBookContact.name); OnSms?.Invoke(this, new MobileAccountEventArgs(phoneBookContact.number, message)); isFound = true; } } if (!isFound) { Console.WriteLine("contact {0} is not in phone book", phoneBookContact.number); } } }
static void Main(string[] args) { MobileOperator Life = new MobileOperator(); MobileAccount user1 = new MobileAccount("Dima", 0674026982); MobileAccount user2 = new MobileAccount("Kate", 0674026983); MobileAccount user3 = new MobileAccount("Weronika", 0674026984); MobileAccount user4 = new MobileAccount("Alex", 0674026985); MobileAccount user5 = new MobileAccount("Wadim", 0674026986); MobileAccount user6 = new MobileAccount("Serg", 0674026987); Life.Registrate(user1); Life.Registrate(user2); Life.Registrate(user3); Life.Registrate(user4); Life.Registrate(user5); Life.Registrate(user6); user2.AddToBook(user1); user1.Call(0674026983); user1.SendSms(0674026983, "Hello world"); user1.Call(0674026984); user1.Call(0674026984); user2.Call(0674026984); user2.Call(0674026982); user3.Call(0674026984); user4.Call(0674026986); user4.SendSms(0674026982, "Hello world"); user5.SendSms(0674026985, "Hello world"); Life.ShowJornal(); Life.MostActiveMembers(); Life.MostPopularNumbers(); Console.ReadLine(); }
static void Main(string[] args) { MobileOperator Life = new MobileOperator(); var user1 = new MobileAccount(); var user2 = new MobileAccount(); var user3 = new MobileAccount(); var Serializator = new MySerializator(); user1 = Serializator.DeSerializationJSON("JSONDima.json"); user2 = Serializator.DeSerializationJSON("JSONWeronika.json"); user3 = Serializator.DeSerializationJSON("JSONKate.json"); if (user1.Validate() && user2.Validate() && user3.Validate()) { Life.Registrate(user1); Life.Registrate(user2); Life.Registrate(user3); user1.Call(user2.Number); user2.Call(user1.Number); XMLOperations.FindByName("XMLMobileOperator.xml", "Dima"); MobileAccount user4 = XMLOperations.GetByName("XMLMobileOperator.xml", "Dima"); Console.WriteLine(user4.Name); List <string> sample = XMLOperations.Sample("XMLMobileOperator.xml", "Name"); foreach (var number in sample) { Console.WriteLine(number); } //XMLOperations.AddElementToXML("XMLMobileOperator.xml", user1); XMLOperations.RemuveByName("XMLMobileOperator.xml", "Kate"); } Console.ReadLine(); }
static void Main(string[] args) { MobileOperator Life = new MobileOperator(); MobileAccount user1 = new MobileAccount("Dima", "Kobets", new DateTime(1996, 12, 27), "*****@*****.**"); MobileAccount user2 = new MobileAccount("Weronika", "Nikolaeva", new DateTime(1996, 2, 12), "*****@*****.**"); MobileAccount user3 = new MobileAccount("Kate", "Kos", new DateTime(1996, 12, 2), "*****@*****.**"); if (user1.Validate() && user2.Validate() && user3.Validate()) { Life.Registrate(user1); Life.Registrate(user2); Life.Registrate(user3); user1.AddToBook(user2); user1.AddToBook(user3); user2.AddToBook(user1); user2.AddToBook(user3); user3.AddToBook(user1); user3.AddToBook(user2); MySerializator.BinarySerialization(user1); MySerializator.BinarySerialization(user2); MySerializator.BinarySerialization(user3); MySerializator.XMLSerialization(user1); MySerializator.XMLSerialization(user2); MySerializator.XMLSerialization(user3); MySerializator.JSONSerialization(user1); MySerializator.JSONSerialization(user2); MySerializator.JSONSerialization(user3); MySerializator.ProtoBufSerialization(user1); MySerializator.ProtoBufSerialization(user2); MySerializator.ProtoBufSerialization(user3); } Console.ReadLine(); }
public static void AddElementToXML(string adress, MobileAccount user) { XmlDocument xdoc = new XmlDocument(); xdoc.Load(adress); XmlNode accounts = xdoc.DocumentElement.FirstChild; XmlElement newElement = xdoc.CreateElement("MobileAccount"); XmlElement nameElement = xdoc.CreateElement("Name"); XmlElement lastNameElement = xdoc.CreateElement("LastName"); XmlElement birthDateElement = xdoc.CreateElement("BirthDate"); XmlElement emailElement = xdoc.CreateElement("Email"); XmlElement numberElement = xdoc.CreateElement("Number"); XmlText nameText = xdoc.CreateTextNode(user.Name); XmlText lastNameText = xdoc.CreateTextNode(user.LastName); XmlText birthDateText = xdoc.CreateTextNode(user.BirthDate.ToString()); XmlText emailText = xdoc.CreateTextNode(user.Email); XmlText numberText = xdoc.CreateTextNode(user.Number.ToString()); nameElement.AppendChild(nameText); lastNameElement.AppendChild(lastNameText); birthDateElement.AppendChild(birthDateText); emailElement.AppendChild(emailText); numberElement.AppendChild(numberText); newElement.AppendChild(nameElement); newElement.AppendChild(lastNameElement); newElement.AppendChild(birthDateElement); newElement.AppendChild(emailElement); newElement.AppendChild(numberElement); accounts.AppendChild(newElement); xdoc.Save(adress); Console.WriteLine(user.Name + " was successfully added"); }
public void BeingAcceptor(MobileAccount sender, string type) { var myContact = from contact in phonebook where contact.Number == sender.Number select contact; if (myContact != null) { Console.Write(sender.Name); } else { Console.Write(sender.Number); } if (type == "sms") { Console.Write(" sent you sms\n"); } else { Console.Write(" called you\n"); } }
static void Main(string[] args) { var op = new Operator("qwerty"); var c1 = new MobileAccount(0951234567, "qwerty"); var c2 = new MobileAccount(0635678902, "zxcvb"); op.Add(c1); op.Add(c2); c1.Call(0635678902); c1.Sms(0635678902, "asdasd"); c1.AddToContacts(c2); c1.Call(c2); c1.Sms(c2, "sdasdasd"); var c3 = new MobileAccount(0509877678, "asdf"); op.Add(c3); c1.Call(c3); var c4 = new MobileAccount(0509877678, "asdf"); op.Add(c4); c4.AddToContacts(c3); c4.Call(c3); }
static void Main(string[] args) { MobileOperator Life = new MobileOperator(); //MobileAccount user1 = new MobileAccount("Dima", "Kobets", new DateTime(1996,12,27), "*****@*****.**"); //MobileAccount user2 = new MobileAccount("Weronika", "Nikolaeva", new DateTime(1996,2,12), "*****@*****.**"); //MobileAccount user3 = new MobileAccount("Kate", "Kos", new DateTime(1996, 12, 2), "*****@*****.**"); var user1 = new MobileAccount(); var user2 = new MobileAccount(); var user3 = new MobileAccount(); var Serializator = new MySerializator(); user1 = Serializator.DeSerializationJSON("JSONDima.json"); user2 = Serializator.DeSerializationJSON("JSONWeronika.json"); user3 = Serializator.DeSerializationJSON("JSONKate.json"); if (user1.Validate() && user2.Validate() && user3.Validate()) { Life.Registrate(user1); Life.Registrate(user2); Life.Registrate(user3); user1.AddToBook(user2); user1.AddToBook(user3); user2.AddToBook(user1); user2.AddToBook(user3); user3.AddToBook(user1); user3.AddToBook(user2); user1.Call(user2.Number); user2.Call(user1.Number); } Console.ReadLine(); }
public void AddToBook(MobileAccount newContact) { PhoneBook.Add(new Contacts(newContact.Name, newContact.LastName, newContact.BirthDate, newContact.Email, newContact.Number)); }
public JournalEntry(MobileAccount sender, ulong acceptor, string type) { Sender = sender; Acceptor = acceptor; Type = type; }
public void CallRouting(int number) { MobileAccount reciverMobileAccount = Accounts.Find(x => x.number == number); reciverMobileAccount.GetCall(); }
public Operation(double Ratio, MobileAccount Sender, MobileAccount Resiver) { this.Ratio = Ratio; this.Resiver = Resiver; this.Sender = Sender; }
public void AddToContacts(MobileAccount newContact) { phonebook.Add(phonebook.Count + 1, newContact); }
public void AddToBook(MobileAccount newContact) { PhoneBook.Add(newContact); }
public void CallRouting(int to, int from) { MobileAccount reciverMobileAccount = Accounts.Find(x => x.number == to); reciverMobileAccount.GetCall(from); }
public void SmsRouting(SmsDataType sms, int sender) { MobileAccount reciverMobileAccount = Accounts.Find(x => x.number == sms.Number); reciverMobileAccount.GetSms(sms.Message, sender); }