public ActionResult Create(int groupId)
        {
            ContactCreateViewModel contact = new ContactCreateViewModel
            {
                GroupId = groupId,
                Contact = new Contact(),
                ContactInfoViewModel = new ContactInfoViewModel()
            };

            return View(contact);
        }
        public async Task<ActionResult> Create(ContactCreateViewModel model)
        {
            if (model.ImageUpload != null && model.ImageUpload.ContentLength > 0 && !validImageTypes.Contains(model.ImageUpload.ContentType))
            {
                ModelState.AddModelError("ImageUpload", "Please choose either a GIF, JPG or PNG image.");
            }
            if (!ModelState.IsValid)
            {
                return View(model);
            }

            string result = await UploadImage(model.ImageUpload);
            if (result != null)
            {
                model.Contact.ImageUrl = DreamFactoryContext.BaseAddress + "/files/" + result;
            }

            IEnumerable<Contact> records = new List<Contact> { model.Contact };
            records = (await databaseApi.CreateRecordsAsync("contact", records, new SqlQuery())).Records;

            IEnumerable<ContactContactGroup> relationshipRecords = new List<ContactContactGroup>
                {
                    new ContactContactGroup
                    {
                        ContactId = records.Select(x => x.Id).FirstOrDefault(),
                        ContactGroupId = model.GroupId
                    }
                };

            model.ContactInfoViewModel.ContactInfo.InfoType = model.ContactInfoViewModel.InfoType.ToString();
            model.ContactInfoViewModel.ContactInfo.ContactId = records.Select(x => x.Id).FirstOrDefault();

            Task<DatabaseResourceWrapper<ContactContactGroup>> createRelationshipsTask = databaseApi.CreateRecordsAsync("contact_group_relationship", relationshipRecords, new SqlQuery());
            Task<DatabaseResourceWrapper<ContactInfo>> createContactInfoTask = databaseApi.CreateRecordsAsync("contact_info", new List<ContactInfo> { model.ContactInfoViewModel.ContactInfo }, new SqlQuery());

            await Task.WhenAll(createRelationshipsTask, createContactInfoTask);

            return RedirectToAction("List", Request.QueryString.ToRouteValues(new { GroupId = model.GroupId }));
        }