public async Task <bool> Update(ScheduleMaster ScheduleMaster)
        {
            ScheduleMasterDAO ScheduleMasterDAO = DataContext.ScheduleMaster.Where(x => x.Id == ScheduleMaster.Id).FirstOrDefault();

            if (ScheduleMasterDAO == null)
            {
                return(false);
            }
            ScheduleMasterDAO.Id             = ScheduleMaster.Id;
            ScheduleMasterDAO.ManagerId      = ScheduleMaster.ManagerId;
            ScheduleMasterDAO.SalerId        = ScheduleMaster.SalerId;
            ScheduleMasterDAO.Name           = ScheduleMaster.Name;
            ScheduleMasterDAO.Code           = ScheduleMaster.Code;
            ScheduleMasterDAO.StatusId       = ScheduleMaster.StatusId;
            ScheduleMasterDAO.RecurDays      = ScheduleMaster.RecurDays;
            ScheduleMasterDAO.StartDate      = ScheduleMaster.StartDate;
            ScheduleMasterDAO.EndDate        = ScheduleMaster.EndDate;
            ScheduleMasterDAO.NoEndDate      = ScheduleMaster.NoEndDate;
            ScheduleMasterDAO.StartDayOfWeek = ScheduleMaster.StartDayOfWeek;
            ScheduleMasterDAO.DisplayOrder   = ScheduleMaster.DisplayOrder;
            ScheduleMasterDAO.Description    = ScheduleMaster.Description;
            ScheduleMasterDAO.UpdatedAt      = StaticParams.DateTimeNow;
            await DataContext.SaveChangesAsync();

            await SaveReference(ScheduleMaster);

            return(true);
        }
        public async Task <bool> BulkMerge(List <ScheduleMaster> ScheduleMasters)
        {
            List <ScheduleMasterDAO> ScheduleMasterDAOs = new List <ScheduleMasterDAO>();

            foreach (ScheduleMaster ScheduleMaster in ScheduleMasters)
            {
                ScheduleMasterDAO ScheduleMasterDAO = new ScheduleMasterDAO();
                ScheduleMasterDAO.Id             = ScheduleMaster.Id;
                ScheduleMasterDAO.ManagerId      = ScheduleMaster.ManagerId;
                ScheduleMasterDAO.SalerId        = ScheduleMaster.SalerId;
                ScheduleMasterDAO.Name           = ScheduleMaster.Name;
                ScheduleMasterDAO.Code           = ScheduleMaster.Code;
                ScheduleMasterDAO.StatusId       = ScheduleMaster.StatusId;
                ScheduleMasterDAO.RecurDays      = ScheduleMaster.RecurDays;
                ScheduleMasterDAO.StartDate      = ScheduleMaster.StartDate;
                ScheduleMasterDAO.EndDate        = ScheduleMaster.EndDate;
                ScheduleMasterDAO.NoEndDate      = ScheduleMaster.NoEndDate;
                ScheduleMasterDAO.StartDayOfWeek = ScheduleMaster.StartDayOfWeek;
                ScheduleMasterDAO.DisplayOrder   = ScheduleMaster.DisplayOrder;
                ScheduleMasterDAO.Description    = ScheduleMaster.Description;
                ScheduleMasterDAO.CreatedAt      = StaticParams.DateTimeNow;
                ScheduleMasterDAO.UpdatedAt      = StaticParams.DateTimeNow;
                ScheduleMasterDAOs.Add(ScheduleMasterDAO);
            }
            await DataContext.BulkMergeAsync(ScheduleMasterDAOs);

            return(true);
        }
        public async Task <bool> Create(ScheduleMaster ScheduleMaster)
        {
            ScheduleMasterDAO ScheduleMasterDAO = new ScheduleMasterDAO();

            ScheduleMasterDAO.Id             = ScheduleMaster.Id;
            ScheduleMasterDAO.ManagerId      = ScheduleMaster.ManagerId;
            ScheduleMasterDAO.SalerId        = ScheduleMaster.SalerId;
            ScheduleMasterDAO.Name           = ScheduleMaster.Name;
            ScheduleMasterDAO.Code           = ScheduleMaster.Code;
            ScheduleMasterDAO.StatusId       = ScheduleMaster.StatusId;
            ScheduleMasterDAO.RecurDays      = ScheduleMaster.RecurDays;
            ScheduleMasterDAO.StartDate      = ScheduleMaster.StartDate;
            ScheduleMasterDAO.EndDate        = ScheduleMaster.EndDate;
            ScheduleMasterDAO.NoEndDate      = ScheduleMaster.NoEndDate;
            ScheduleMasterDAO.StartDayOfWeek = ScheduleMaster.StartDayOfWeek;
            ScheduleMasterDAO.DisplayOrder   = ScheduleMaster.DisplayOrder;
            ScheduleMasterDAO.Description    = ScheduleMaster.Description;
            ScheduleMasterDAO.CreatedAt      = StaticParams.DateTimeNow;
            ScheduleMasterDAO.UpdatedAt      = StaticParams.DateTimeNow;
            DataContext.ScheduleMaster.Add(ScheduleMasterDAO);
            await DataContext.SaveChangesAsync();

            ScheduleMaster.Id = ScheduleMasterDAO.Id;
            await SaveReference(ScheduleMaster);

            return(true);
        }