public async Task <bool> Create(ContactEmail ContactEmail)
        {
            ContactEmailDAO ContactEmailDAO = new ContactEmailDAO();

            ContactEmailDAO.Id            = ContactEmail.Id;
            ContactEmailDAO.Title         = ContactEmail.Title;
            ContactEmailDAO.Content       = ContactEmail.Content;
            ContactEmailDAO.Reciepient    = ContactEmail.Reciepient;
            ContactEmailDAO.ContactId     = ContactEmail.ContactId;
            ContactEmailDAO.CreatorId     = ContactEmail.CreatorId;
            ContactEmailDAO.EmailStatusId = ContactEmail.EmailStatusId;
            ContactEmailDAO.CreatedAt     = StaticParams.DateTimeNow;
            ContactEmailDAO.UpdatedAt     = StaticParams.DateTimeNow;
            DataContext.ContactEmail.Add(ContactEmailDAO);
            await DataContext.SaveChangesAsync();

            ContactEmail.Id = ContactEmailDAO.Id;
            await SaveReference(ContactEmail);

            return(true);
        }
        public async Task <bool> BulkMerge(List <ContactEmail> ContactEmails)
        {
            List <ContactEmailDAO> ContactEmailDAOs = new List <ContactEmailDAO>();

            foreach (ContactEmail ContactEmail in ContactEmails)
            {
                ContactEmailDAO ContactEmailDAO = new ContactEmailDAO();
                ContactEmailDAO.Id            = ContactEmail.Id;
                ContactEmailDAO.Title         = ContactEmail.Title;
                ContactEmailDAO.Content       = ContactEmail.Content;
                ContactEmailDAO.Reciepient    = ContactEmail.Reciepient;
                ContactEmailDAO.ContactId     = ContactEmail.ContactId;
                ContactEmailDAO.CreatorId     = ContactEmail.CreatorId;
                ContactEmailDAO.EmailStatusId = ContactEmail.EmailStatusId;
                ContactEmailDAO.CreatedAt     = StaticParams.DateTimeNow;
                ContactEmailDAO.UpdatedAt     = StaticParams.DateTimeNow;
                ContactEmailDAOs.Add(ContactEmailDAO);
            }
            await DataContext.BulkMergeAsync(ContactEmailDAOs);

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

            if (ContactEmailDAO == null)
            {
                return(false);
            }
            ContactEmailDAO.Id            = ContactEmail.Id;
            ContactEmailDAO.Title         = ContactEmail.Title;
            ContactEmailDAO.Content       = ContactEmail.Content;
            ContactEmailDAO.Reciepient    = ContactEmail.Reciepient;
            ContactEmailDAO.ContactId     = ContactEmail.ContactId;
            ContactEmailDAO.CreatorId     = ContactEmail.CreatorId;
            ContactEmailDAO.EmailStatusId = ContactEmail.EmailStatusId;
            ContactEmailDAO.UpdatedAt     = StaticParams.DateTimeNow;
            await DataContext.SaveChangesAsync();

            await SaveReference(ContactEmail);

            return(true);
        }