public ActionResult Conflicts(int id)
        {
            List <Common.Models.Matters.Matter> matterList = null;

            Common.Models.Contacts.Contact contact;
            List <Tuple <Common.Models.Matters.Matter, Common.Models.Matters.MatterContact, Common.Models.Contacts.Contact> > matterRelationshipList;

            ViewModels.Contacts.ConflictViewModel viewModel = new ViewModels.Contacts.ConflictViewModel();

            using (IDbConnection conn = Data.Database.Instance.GetConnection())
            {
                contact = Data.Contacts.Contact.Get(id, conn, false);

                viewModel.Contact = Mapper.Map <ViewModels.Contacts.ContactViewModel>(contact);

                viewModel.Matters = new List <ViewModels.Contacts.ConflictViewModel.MatterRelationship>();

                matterList = Data.Contacts.Contact.ListMattersForContact(id, conn, false);

                foreach (var x in matterList)
                {
                    ViewModels.Contacts.ConflictViewModel.MatterRelationship mr = new ViewModels.Contacts.ConflictViewModel.MatterRelationship();

                    mr.Matter = Mapper.Map <ViewModels.Matters.MatterViewModel>(x);

                    mr.MatterContacts = new List <ViewModels.Matters.MatterContactViewModel>();

                    matterRelationshipList = Data.Contacts.Contact.ListMatterRelationshipsForContact(id, x.Id.Value, conn, false);

                    matterRelationshipList.ForEach(y =>
                    {
                        ViewModels.Matters.MatterContactViewModel mc = Mapper.Map <ViewModels.Matters.MatterContactViewModel>(y.Item2);
                        mc.Contact = Mapper.Map <ViewModels.Contacts.ContactViewModel>(y.Item3);
                        mc.Matter  = mr.Matter;
                        mr.MatterContacts.Add(mc);
                    });

                    viewModel.Matters.Add(mr);
                }
                ;
            }

            return(View(viewModel));
        }
        public ActionResult Conflicts(int id)
        {
            List<Common.Models.Matters.Matter> matterList = null;
            Common.Models.Contacts.Contact contact;
            List<Tuple<Common.Models.Matters.Matter, Common.Models.Matters.MatterContact, Common.Models.Contacts.Contact>> matterRelationshipList;
            ViewModels.Contacts.ConflictViewModel viewModel = new ViewModels.Contacts.ConflictViewModel();

            contact = Data.Contacts.Contact.Get(id);

            viewModel.Contact = Mapper.Map<ViewModels.Contacts.ContactViewModel>(contact);

            viewModel.Matters = new List<ViewModels.Contacts.ConflictViewModel.MatterRelationship>();

            matterList = Data.Contacts.Contact.ListMattersForContact(id);

            foreach (var x in matterList)
            {
                ViewModels.Contacts.ConflictViewModel.MatterRelationship mr = new ViewModels.Contacts.ConflictViewModel.MatterRelationship();

                mr.Matter = Mapper.Map<ViewModels.Matters.MatterViewModel>(x);

                mr.MatterContacts = new List<ViewModels.Matters.MatterContactViewModel>();

                matterRelationshipList = Data.Contacts.Contact.ListMatterRelationshipsForContact(id, x.Id.Value);

                matterRelationshipList.ForEach(y =>
                {
                    ViewModels.Matters.MatterContactViewModel mc = Mapper.Map<ViewModels.Matters.MatterContactViewModel>(y.Item2);
                    mc.Contact = Mapper.Map<ViewModels.Contacts.ContactViewModel>(y.Item3);
                    mc.Matter = mr.Matter;
                    mr.MatterContacts.Add(mc);
                });

                viewModel.Matters.Add(mr);
            };

            return View(viewModel);
        }