public async Task <bool> Create(ContactFileGrouping ContactFileGrouping)
        {
            ContactFileGroupingDAO ContactFileGroupingDAO = new ContactFileGroupingDAO();

            ContactFileGroupingDAO.Id          = ContactFileGrouping.Id;
            ContactFileGroupingDAO.Title       = ContactFileGrouping.Title;
            ContactFileGroupingDAO.Description = ContactFileGrouping.Description;
            ContactFileGroupingDAO.ContactId   = ContactFileGrouping.ContactId;
            ContactFileGroupingDAO.CreatorId   = ContactFileGrouping.CreatorId;
            ContactFileGroupingDAO.FileTypeId  = ContactFileGrouping.FileTypeId;
            ContactFileGroupingDAO.RowId       = ContactFileGrouping.RowId;
            ContactFileGroupingDAO.CreatedAt   = StaticParams.DateTimeNow;
            ContactFileGroupingDAO.UpdatedAt   = StaticParams.DateTimeNow;
            DataContext.ContactFileGrouping.Add(ContactFileGroupingDAO);
            await DataContext.SaveChangesAsync();

            ContactFileGrouping.Id = ContactFileGroupingDAO.Id;
            await SaveReference(ContactFileGrouping);

            return(true);
        }
        public async Task <bool> BulkMerge(List <ContactFileGrouping> ContactFileGroupings)
        {
            List <ContactFileGroupingDAO> ContactFileGroupingDAOs = new List <ContactFileGroupingDAO>();

            foreach (ContactFileGrouping ContactFileGrouping in ContactFileGroupings)
            {
                ContactFileGroupingDAO ContactFileGroupingDAO = new ContactFileGroupingDAO();
                ContactFileGroupingDAO.Id          = ContactFileGrouping.Id;
                ContactFileGroupingDAO.Title       = ContactFileGrouping.Title;
                ContactFileGroupingDAO.Description = ContactFileGrouping.Description;
                ContactFileGroupingDAO.ContactId   = ContactFileGrouping.ContactId;
                ContactFileGroupingDAO.CreatorId   = ContactFileGrouping.CreatorId;
                ContactFileGroupingDAO.FileTypeId  = ContactFileGrouping.FileTypeId;
                ContactFileGroupingDAO.RowId       = ContactFileGrouping.RowId;
                ContactFileGroupingDAO.CreatedAt   = StaticParams.DateTimeNow;
                ContactFileGroupingDAO.UpdatedAt   = StaticParams.DateTimeNow;
                ContactFileGroupingDAOs.Add(ContactFileGroupingDAO);
            }
            await DataContext.BulkMergeAsync(ContactFileGroupingDAOs);

            return(true);
        }
        public async Task <bool> Update(ContactFileGrouping ContactFileGrouping)
        {
            ContactFileGroupingDAO ContactFileGroupingDAO = DataContext.ContactFileGrouping.Where(x => x.Id == ContactFileGrouping.Id).FirstOrDefault();

            if (ContactFileGroupingDAO == null)
            {
                return(false);
            }
            ContactFileGroupingDAO.Id          = ContactFileGrouping.Id;
            ContactFileGroupingDAO.Title       = ContactFileGrouping.Title;
            ContactFileGroupingDAO.Description = ContactFileGrouping.Description;
            ContactFileGroupingDAO.ContactId   = ContactFileGrouping.ContactId;
            ContactFileGroupingDAO.CreatorId   = ContactFileGrouping.CreatorId;
            ContactFileGroupingDAO.FileTypeId  = ContactFileGrouping.FileTypeId;
            ContactFileGroupingDAO.RowId       = ContactFileGrouping.RowId;
            ContactFileGroupingDAO.UpdatedAt   = StaticParams.DateTimeNow;
            await DataContext.SaveChangesAsync();

            await SaveReference(ContactFileGrouping);

            return(true);
        }