public async Task <bool> Create(OpportunityFileGrouping OpportunityFileGrouping)
        {
            OpportunityFileGroupingDAO OpportunityFileGroupingDAO = new OpportunityFileGroupingDAO();

            OpportunityFileGroupingDAO.Id            = OpportunityFileGrouping.Id;
            OpportunityFileGroupingDAO.Title         = OpportunityFileGrouping.Title;
            OpportunityFileGroupingDAO.Description   = OpportunityFileGrouping.Description;
            OpportunityFileGroupingDAO.OpportunityId = OpportunityFileGrouping.OpportunityId;
            OpportunityFileGroupingDAO.CreatorId     = OpportunityFileGrouping.CreatorId;
            OpportunityFileGroupingDAO.FileTypeId    = OpportunityFileGrouping.FileTypeId;
            OpportunityFileGroupingDAO.RowId         = OpportunityFileGrouping.RowId;
            OpportunityFileGroupingDAO.CreatedAt     = StaticParams.DateTimeNow;
            OpportunityFileGroupingDAO.UpdatedAt     = StaticParams.DateTimeNow;
            DataContext.OpportunityFileGrouping.Add(OpportunityFileGroupingDAO);
            await DataContext.SaveChangesAsync();

            OpportunityFileGrouping.Id = OpportunityFileGroupingDAO.Id;
            await SaveReference(OpportunityFileGrouping);

            return(true);
        }
        public async Task <bool> BulkMerge(List <OpportunityFileGrouping> OpportunityFileGroupings)
        {
            List <OpportunityFileGroupingDAO> OpportunityFileGroupingDAOs = new List <OpportunityFileGroupingDAO>();

            foreach (OpportunityFileGrouping OpportunityFileGrouping in OpportunityFileGroupings)
            {
                OpportunityFileGroupingDAO OpportunityFileGroupingDAO = new OpportunityFileGroupingDAO();
                OpportunityFileGroupingDAO.Id            = OpportunityFileGrouping.Id;
                OpportunityFileGroupingDAO.Title         = OpportunityFileGrouping.Title;
                OpportunityFileGroupingDAO.Description   = OpportunityFileGrouping.Description;
                OpportunityFileGroupingDAO.OpportunityId = OpportunityFileGrouping.OpportunityId;
                OpportunityFileGroupingDAO.CreatorId     = OpportunityFileGrouping.CreatorId;
                OpportunityFileGroupingDAO.FileTypeId    = OpportunityFileGrouping.FileTypeId;
                OpportunityFileGroupingDAO.RowId         = OpportunityFileGrouping.RowId;
                OpportunityFileGroupingDAO.CreatedAt     = StaticParams.DateTimeNow;
                OpportunityFileGroupingDAO.UpdatedAt     = StaticParams.DateTimeNow;
                OpportunityFileGroupingDAOs.Add(OpportunityFileGroupingDAO);
            }
            await DataContext.BulkMergeAsync(OpportunityFileGroupingDAOs);

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

            if (OpportunityFileGroupingDAO == null)
            {
                return(false);
            }
            OpportunityFileGroupingDAO.Id            = OpportunityFileGrouping.Id;
            OpportunityFileGroupingDAO.Title         = OpportunityFileGrouping.Title;
            OpportunityFileGroupingDAO.Description   = OpportunityFileGrouping.Description;
            OpportunityFileGroupingDAO.OpportunityId = OpportunityFileGrouping.OpportunityId;
            OpportunityFileGroupingDAO.CreatorId     = OpportunityFileGrouping.CreatorId;
            OpportunityFileGroupingDAO.FileTypeId    = OpportunityFileGrouping.FileTypeId;
            OpportunityFileGroupingDAO.RowId         = OpportunityFileGrouping.RowId;
            OpportunityFileGroupingDAO.UpdatedAt     = StaticParams.DateTimeNow;
            await DataContext.SaveChangesAsync();

            await SaveReference(OpportunityFileGrouping);

            return(true);
        }