Exemple #1
0
        public Person GetPersonByUsername(string userName, PersonIncludes personIncludes)
        {
            using (var unitOfWork = unitOfWorkFactory.CreateUnitOfWork())
            {
                var personLoginQueryable = unitOfWork.PersonLogins.GetQueryable().Where(p => p.LoginID == userName);
                if (personLoginQueryable.Any())
                {
                    int personId = personLoginQueryable.First().PersonID;

                    return(GetPersonById(personId, personIncludes));
                }
                else
                {
                    throw new Exception("Person with given username not found");
                }
            }
        }
Exemple #2
0
        public Person GetPerson(int personID, PersonIncludes personIncludes)
        {
            // Get the person data from the SQL repository
            Person person = null;

            using (var unitOfWork = unitOfWorkFactory.CreateUnitOfWork())
            {
                var personQueryable = unitOfWork.Persons.GetQueryable().Where(p => p.PersonID == personID);

                if (personIncludes.Phones)
                {
                    personQueryable = personQueryable.Include("Phones");
                    personQueryable = personQueryable.Include("Phones.PhoneType");
                }

                if (personIncludes.Addressses)
                {
                    personQueryable = personQueryable.Include("Addresses.Address");
                    personQueryable = personQueryable.Include("Addresses.AddressType");
                }

                if (personIncludes.Accounts)
                {
                    personQueryable = personQueryable.Include("Accounts.Account")
                                      .Include("Accounts.Account.AccountType");
                }

                if (personIncludes.Login)
                {
                    personQueryable = personQueryable.Include("Login");
                }

                if (personIncludes.AccountTransactions)
                {
                    personQueryable = personQueryable.Include("Accounts.Account.Transactions");
                    personQueryable = personQueryable.Include("Accounts.Account.Transactions.TransactionType");
                }

                person = personQueryable.First();
            }

            return(person);
        }
Exemple #3
0
        public Person GetPersonById(int personID, PersonIncludes personIncludes)
        {
            using (var unitOfWork = unitOfWorkFactory.CreateUnitOfWork())
            {
                var person = unitOfWork.Persons.Find(personID, personIncludes);

                if (person != null)
                {
                    if (personIncludes.Phones)
                    {
                        // Add home phone if not in the person Object
                        if (!person.Phones.Where(p => p.PhoneTypeID == 1).Any())
                        {
                            person.Phones.Add(new Phone {
                                PhoneTypeID = 1, Number = string.Empty, PhoneType = new PhoneType {
                                    Name = "Home"
                                }
                            });
                        }

                        // Add work phone if not in the person Object
                        if (!person.Phones.Where(p => p.PhoneTypeID == 2).Any())
                        {
                            person.Phones.Add(new Phone {
                                PhoneTypeID = 2, Number = string.Empty, PhoneType = new PhoneType {
                                    Name = "Work"
                                }
                            });
                        }

                        // Add cell phone if not in the person Object
                        if (!person.Phones.Where(p => p.PhoneTypeID == 3).Any())
                        {
                            person.Phones.Add(new Phone {
                                PhoneTypeID = 3, Number = string.Empty, PhoneType = new PhoneType {
                                    Name = "Cell"
                                }
                            });
                        }
                    }

                    if (personIncludes.Addressses)
                    {
                        var emptyAddress = new Address
                        {
                            StreetAddress = string.Empty,
                            City          = string.Empty,
                            State         = string.Empty,
                            Zip           = string.Empty
                        };

                        if (!person.Addresses.Where(a => a.AddressTypeID == 1).Any())
                        {
                            person.Addresses.Add(new PersonAddressAssn {
                                AddressTypeID = 1, Address = emptyAddress, AddressType = new AddressType {
                                    Name = "Home"
                                }
                            });
                        }

                        if (!person.Addresses.Where(a => a.AddressTypeID == 2).Any())
                        {
                            person.Addresses.Add(new PersonAddressAssn {
                                AddressTypeID = 2, Address = emptyAddress, AddressType = new AddressType {
                                    Name = "Work"
                                }
                            });
                        }

                        if (!person.Addresses.Where(a => a.AddressTypeID == 3).Any())
                        {
                            person.Addresses.Add(new PersonAddressAssn {
                                AddressTypeID = 3, Address = emptyAddress, AddressType = new AddressType {
                                    Name = "Alternate"
                                }
                            });
                        }
                    }

                    if (personIncludes.Login && person.Login == null)
                    {
                        person.Login = new PersonLogin();
                    }
                }

                return(person);
            }
        }