public async Task <bool> Create(CompanyEmail CompanyEmail)
        {
            CompanyEmailDAO CompanyEmailDAO = new CompanyEmailDAO();

            CompanyEmailDAO.Id            = CompanyEmail.Id;
            CompanyEmailDAO.Title         = CompanyEmail.Title;
            CompanyEmailDAO.Content       = CompanyEmail.Content;
            CompanyEmailDAO.Reciepient    = CompanyEmail.Reciepient;
            CompanyEmailDAO.CompanyId     = CompanyEmail.CompanyId;
            CompanyEmailDAO.CreatorId     = CompanyEmail.CreatorId;
            CompanyEmailDAO.EmailStatusId = CompanyEmail.EmailStatusId;
            CompanyEmailDAO.CreatedAt     = StaticParams.DateTimeNow;
            CompanyEmailDAO.UpdatedAt     = StaticParams.DateTimeNow;
            DataContext.CompanyEmail.Add(CompanyEmailDAO);
            await DataContext.SaveChangesAsync();

            CompanyEmail.Id = CompanyEmailDAO.Id;
            await SaveReference(CompanyEmail);

            return(true);
        }
        public async Task <bool> BulkMerge(List <CompanyEmail> CompanyEmails)
        {
            List <CompanyEmailDAO> CompanyEmailDAOs = new List <CompanyEmailDAO>();

            foreach (CompanyEmail CompanyEmail in CompanyEmails)
            {
                CompanyEmailDAO CompanyEmailDAO = new CompanyEmailDAO();
                CompanyEmailDAO.Id            = CompanyEmail.Id;
                CompanyEmailDAO.Title         = CompanyEmail.Title;
                CompanyEmailDAO.Content       = CompanyEmail.Content;
                CompanyEmailDAO.Reciepient    = CompanyEmail.Reciepient;
                CompanyEmailDAO.CompanyId     = CompanyEmail.CompanyId;
                CompanyEmailDAO.CreatorId     = CompanyEmail.CreatorId;
                CompanyEmailDAO.EmailStatusId = CompanyEmail.EmailStatusId;
                CompanyEmailDAO.CreatedAt     = StaticParams.DateTimeNow;
                CompanyEmailDAO.UpdatedAt     = StaticParams.DateTimeNow;
                CompanyEmailDAOs.Add(CompanyEmailDAO);
            }
            await DataContext.BulkMergeAsync(CompanyEmailDAOs);

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

            if (CompanyEmailDAO == null)
            {
                return(false);
            }
            CompanyEmailDAO.Id            = CompanyEmail.Id;
            CompanyEmailDAO.Title         = CompanyEmail.Title;
            CompanyEmailDAO.Content       = CompanyEmail.Content;
            CompanyEmailDAO.Reciepient    = CompanyEmail.Reciepient;
            CompanyEmailDAO.CompanyId     = CompanyEmail.CompanyId;
            CompanyEmailDAO.CreatorId     = CompanyEmail.CreatorId;
            CompanyEmailDAO.EmailStatusId = CompanyEmail.EmailStatusId;
            CompanyEmailDAO.UpdatedAt     = StaticParams.DateTimeNow;
            await DataContext.SaveChangesAsync();

            await SaveReference(CompanyEmail);

            return(true);
        }