コード例 #1
0
        private static void ImportContactToDatabase(ContactDTO contactDTO)
        {
            if (contactDTO.Name == null)
            {
                throw new ArgumentException("Name is required");
            }
            var newContact = new Contact()
            {
                Name     = contactDTO.Name,
                Company  = contactDTO.Company,
                Position = contactDTO.Position,
                Url      = contactDTO.Site,
                Notes    = contactDTO.Notes
            };

            if (contactDTO.Emails != null)
            {
                newContact.Emails = contactDTO.Emails.Select(e => new Email()
                {
                    EmailAddress = e
                }).ToList();
            }
            if (contactDTO.Phones != null)
            {
                newContact.Phones = contactDTO.Phones.Select(p => new Phone()
                {
                    PhoneNumber = p
                }).ToList();
            }
            var context = new PhonebookContext();

            context.Contacts.Add(newContact);
            context.SaveChanges();
        }
コード例 #2
0
        public System.Collections.IEnumerable GetSuggestions(string filter)
        {
            try
            {
                if (!IsEnabeled)
                {
                    throw new Exception();
                }

                PhonebookContext db = new PhonebookContext(ConnectionStringBuilder.ConnectionString);
                if (SearchType == TypeOfSeacrh.EMPLOYEE)
                {
                    return(db.Employees.Where(r => r.Name.Contains(filter)).Select(s => s.Name).ToList());
                }
                else if (SearchType == TypeOfSeacrh.PHONE)
                {
                    return(db.PhoneNumbers.Where(r => r.Number.Contains(filter)).Select(s => s.Number).ToList());
                }
                else
                {
                    return(null);
                }
            }
            catch
            {
                return(null);
            }
        }
コード例 #3
0
        internal async virtual void ReFillDataGrid()
        {
            Dispatcher.Invoke(() =>
            {
                progressBar.Visibility = Visibility.Visible;
                btnInsert.IsEnabled    = false;
                btnUpdate.IsEnabled    = false;
            });

            await Task.Run(() =>
            {
                try
                {
                    //Thread.Sleep(1000);
                    PhonebookContext db = new PhonebookContext(ConnectionStringBuilder.ConnectionString);
                    var x = db.Categories.SingleOrDefault(r => r.Id.ToString() == categoryId);
                    if (x != null)
                    {
                        //dataGrid1.ItemsSource = x.Rows.ToList().Select(r => new { Employee = r.Employees.ToList(), Internal = r.PhoneNumbers.Where(t => t.IsInternal).ToList(), External = r.PhoneNumbers.Where(t => !t.IsInternal).ToList() }).ToList();
                    }

                    List <GridRow> Rows = new List <GridRow>();
                    x.Rows.ToList().ForEach(r =>
                    {
                        GridRow newRow = new GridRow();
                        newRow.Id      = r.Id.ToString();

                        foreach (var emp in r.Employees)
                        {
                            newRow.Employees += emp.Name + Environment.NewLine + Environment.NewLine;
                        }

                        foreach (var phone in r.PhoneNumbers)
                        {
                            if (phone.IsInternal)
                            {
                                newRow.InternalNumbers += phone.Number.AddPreNumber().AddHalfSpace() + Environment.NewLine + Environment.NewLine;
                            }
                            else
                            {
                                newRow.ExternalNumbers += phone.Number.AddHalfSpace() + Environment.NewLine + Environment.NewLine;
                            }
                        }
                        Rows.Add(newRow);
                    });
                    Dispatcher.Invoke(() =>
                    {
                        dataGrid1.ItemsSource = Rows;
                    });
                }
                catch { }
            });

            Dispatcher.Invoke(() =>
            {
                progressBar.Visibility = Visibility.Collapsed;
                btnInsert.IsEnabled    = true;
                btnUpdate.IsEnabled    = true;
            });
        }
コード例 #4
0
        static void Main()
        {
            Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
            var context = new PhonebookContext();

            /*var listChannelsAndMessages = context.Channels.ToList();
            foreach (var ch in listChannelsAndMessages)
            {
                Console.WriteLine("--{0}", ch.Name);
                Console.WriteLine("# Messages #");
                foreach (var msg in ch.Messages)
                {
                    Console.WriteLine("Content: {0}; DateTime: {1}; User: {2}",
                        msg.Content, msg.Date, msg.User.Username);
                }
            }*/

            var json = File.ReadAllText("../../messages.json");
            var serializer = new JavaScriptSerializer();
            var msgs = serializer.Deserialize<MessagesDTO[]>(json);

            foreach (var msg in msgs)
            {
                try
                {
                    ProcessMsg(msg);
                    Console.WriteLine();
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Error: {0}", ex.Message);
                }
            }
        }
コード例 #5
0
 private static void ProcessMsg(MessagesDTO msg)
 {
     if (msg.Content == null)
     {
         throw new ArgumentException("Messages content is required");
     }
     if (msg.DateTime == null)
     {
         throw new ArgumentException("Datetime is required");
     }
     if (msg.Recipient == null)
     {
         throw new ArgumentException("Recipient is required");
     }
     if (msg.Sender == null)
     {
         throw new ArgumentException("Sender is required");
     }
     var context = new PhonebookContext();
     var usMsg = new UserMessage()
     {
         Content = msg.Content,
         Date = msg.DateTime,
         Recipient = context.Users.FirstOrDefault(u => u.Username == msg.Recipient),
         Sender = context.Users.FirstOrDefault(u => u.Username == msg.Sender)
     };
     context.UserMessages.Add(usMsg);
     context.SaveChanges();
     Console.WriteLine("Message \"{0}\" imported", msg.Content);
 }
コード例 #6
0
        static void Main(string[] args)
        {
            PhonebookContext phCtx = new PhonebookContext();

            // Create a phonebook instance
            Phonebook repo = new Phonebook();
            Phonebook p1   = new Phonebook("0872878566", "Ronan", "1 Main Street");
            Phonebook p2   = new Phonebook("1111111111", "Rick", "2 Main Street");
            Phonebook p3   = new Phonebook("1122211111", "Rachel", "5 Main Street");

            // Test can add instance to PhoneBooks db
            repo.InsertPhonebook(p1);
            repo.InsertPhonebook(p2);
            repo.InsertPhonebook(p3);

            // Test can update Phonebook contact
            repo.UpdatePhonebookContact(new Phonebook {
                Name = "Ronan", Number = "09812270809", Address = "3 Main Sreet", PhoneID = 1
            });

            // Test can remove Phonebook contact
            repo.DeleteContact(p3);

            // Report Full list
            repo.ReportContactList();

            // Report contact details by number
            repo.FindNumber(p2);

            // Report contact details by name
            Phonebook p4 = new Phonebook("888888888", "Ronan", "6 Main Street");

            p4.InsertPhonebook(p4); // To test it finds all "Ronans"
            repo.FindName(p1);
        }
コード例 #7
0
ファイル: Startup.cs プロジェクト: HeinGeske/CIB
 private void SeedDatabase(IApplicationBuilder app)
 {
     using (IServiceScope serviceScope = app.ApplicationServices.GetRequiredService <IServiceScopeFactory>().CreateScope())
     {
         PhonebookContext context = serviceScope.ServiceProvider.GetService <PhonebookContext>();
         PhonebookContextSeed.SeedAsync(context, 0, _useInMemory).Wait();
     }
 }
コード例 #8
0
        static void Main()
        {
            var context = new PhonebookContext();

            var listAllData = context.Contacts
                .Include(c => c.Emails)
                .Include(c => c.Phones)
                .ToList();

            foreach (var contact in listAllData)
            {
                Console.WriteLine("Name: {0}", contact.Name);
                if (contact.Company != null) Console.WriteLine("    Company name: {0}", contact.Company);
                if (contact.Postion != null) Console.WriteLine("    Position: {0}", contact.Postion);
                if (contact.Url != null) Console.WriteLine("    Url: {0}", contact.Url);
                if (contact.Phones.Count > 0)
                {
                    string phones = contact.Phones.Aggregate("", (current, phone) => current + (" " + phone.PhoneNumber));
                    phones = phones.Trim();
                    Console.Write("    Phones: {0}", phones);
                    Console.WriteLine();
                }
                if (contact.Emails.Count > 0)
                {
                    string emails = contact.Emails.Aggregate("", (current, email) => current + (" " + email.EmailAddress));
                    emails = emails.Trim();
                    Console.Write("    Emails: {0}", emails);
                    Console.WriteLine();
                }
                if (contact.Notes.Count > 0)
                {
                    string notes = contact.Notes.Aggregate("", (current, note) => current + (" " + note));
                    notes = notes.Trim();
                    Console.Write("    Notes: {0}", notes);
                    Console.WriteLine();
                }
                Console.WriteLine();
            }

            Console.WriteLine("\n################################################################################################\n");

            var json = File.ReadAllText("../../contacts.json");
            var serializer = new JavaScriptSerializer();
            var contacts = serializer.Deserialize<ContactDTO[]>(json);

            foreach (var contact in contacts)
            {
                try
                {
                    SaveContactInDb(contact);
                    Console.WriteLine("Contact {0} imported", contact.Name);
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Error: {0}", ex.Message);
                }
            }
        }
コード例 #9
0
ファイル: EntryTests.cs プロジェクト: HeinGeske/CIB
        public EntryTests()
        {
            DbContextOptions dbOptions = new DbContextOptionsBuilder <PhonebookContext>()
                                         .UseInMemoryDatabase(databaseName: "Phonebook")
                                         .Options;

            _context = new PhonebookContext(dbOptions);
            PhonebookContextSeed.SeedAsync(_context).Wait();
            _entryRepository = new EntryRepository(_context);
            _phonebookCount  = _entryRepository.GetAllAsync().Result.Count;
        }
コード例 #10
0
 // 1.Report the full contents of the phone book in name order
 public void ReportContactList()
 {
     using (PhonebookContext db = new PhonebookContext())
     {
         var fullcontents = db.Phonebooks.OrderBy(c => c.Name);
         Console.WriteLine("\n---- Contact list in name order -----");
         foreach (Phonebook contact in fullcontents)
         {
             Console.WriteLine("\nContact Name: " + contact.Name + "\nContact Number: " + contact.Number + "\nAddress: " + contact.Address);
         }
     }
 }
コード例 #11
0
        public ActionResult AddContact(string firstName, string lastName, string phoneNumber)
        {
            using (PhonebookContext db = new PhonebookContext())
            {
                var contact = new Phonebook();
                contact.FirstName   = firstName;
                contact.LastName    = lastName;
                contact.PhoneNumber = phoneNumber;

                db.Phonebooks.Add(contact);
                db.SaveChanges();

                return(RedirectToAction("Phonebook"));
            }
        }
コード例 #12
0
ファイル: ListContacts.cs プロジェクト: tormibg/SoftUni-1
        public static void Main()
        {
            using (var context = new PhonebookContext())
            {
                var contacts = context.Contacts
                    .Include(p => p.Phones)
                    .Include(e => e.Emails)
                    .Select(c => new
                    {
                        c.Name,
                        Phones = c.Phones.Select(p => p.Number).ToList(),
                        Emails = c.Emails.Select(p => p.Address).ToList(),
                    });

                foreach (var contact in contacts)
                {
                    Console.WriteLine("Name: {0}", contact.Name);
                    Console.WriteLine("\tPhones: {0}", string.Join(", ", contact.Phones));
                    Console.WriteLine("\tEmails: {0}", string.Join(", ", contact.Emails));
                }
            }
        }
コード例 #13
0
ファイル: Program.cs プロジェクト: ivan4otopa/SoftUni
        static void Main(string[] args)
        {
            var context = new PhonebookContext();

            //1.ListContactsWithTheirEmailAndPhone
            //var contacts = context.Contacts
            //    .Select(c => new
            //    {
            //        c.Name,
            //        Emails = c.Emails.Select(e => e.EmailAddress),
            //        Phones  = c.Phones.Select(p => p.PhoneNumber)
            //    });

            //foreach (var contact in contacts)
            //{
            //    Console.WriteLine(contact.Name);

            //    foreach (var email in contact.Emails)
            //    {
            //        Console.WriteLine(email);
            //    }

            //    foreach (var phone in contact.Phones)
            //    {
            //        Console.WriteLine(phone);
            //    }
            //}

            string json = File.ReadAllText("../../contacts.json");
            var contacts = JsonConvert.DeserializeObject<List<JObject>>(json);

            foreach (var contact in contacts)
            {
                Console.WriteLine(contact["name"]);
            }
        }
コード例 #14
0
 private static void SaveContactInDb(ContactDTO contact)
 {
     if (contact.Name == null)
     {
         throw new ArgumentException("Name is required");
     }
     var ct = new Contact()
     {
         Name = contact.Name
     };
     if (contact.Company != null) ct.Company = contact.Company;
     if (contact.Site != null) ct.Url = contact.Site;
     if (contact.Position != null) ct.Postion = contact.Position;
     if (contact.Notes != null)
     {
         ct.Notes = new HashSet<string>();
         ct.Notes.Add(contact.Notes);
     }
     if (contact.Emails != null)
     {
         ct.Emails = new HashSet<Email>();
         foreach (var em in contact.Emails.Select(email => new Email() {EmailAddress = email}))
         {
             ct.Emails.Add(em);
         }
     }
     if (contact.Phones != null)
     {
         ct.Phones = new HashSet<Phone>();
         foreach (var ph in contact.Phones.Select(phone => new Phone() {PhoneNumber = phone}))
         {
             ct.Phones.Add(ph);
         }
     }
     var context = new PhonebookContext();
     context.Contacts.Add(ct);
     context.SaveChanges();
 }