コード例 #1
0
        public static void BeforeTestRun()
        {
            var instance = SqlProviderServices.Instance;

            Mapper.Initialize(p => p.AddProfile(new DefaultMappingProfile()));
            using (var dbContext = MemberDbContext.CreateContext())
            {
                if (dbContext.Database.Exists())
                {
                    dbContext.Database.Delete();
                }

                dbContext.Database.Initialize(true);


                var CompanyConfing = dbContext.CompanyConfing.Where(p => p.CompanyId == "DDMC").ToList();

                if (CompanyConfing.Count == 0)
                {
                    var CompanyData = new CompanyConfing();

                    CompanyData.CompanyId = "DDMC";
                    CompanyData.Name      = "鼎鼎企業管理股份有限公司";

                    dbContext.CompanyConfing.Add(CompanyData);
                    dbContext.SaveChanges();
                }
            }
        }
コード例 #2
0
        public int Insert(MemberViewModel fromUI, string userId)
        {
            var result = 0;

            fromUI.CreateDateTime = this.TimeNow.Value;
            fromUI.CreateUserId   = userId;

            var memberTodB    = new Member();
            var memberLogToDb = new MemberLog();
            var identityToDb  = new Identity();
            var roleToDb      = new Role();

            Mapper.Map(fromUI, memberTodB);
            Mapper.Map(fromUI, memberLogToDb);
            Mapper.Map(fromUI, identityToDb);
            roleToDb = MapperRole(fromUI);

            memberLogToDb.Member_Id = memberTodB.Id;

            identityToDb.Member_Id = memberTodB.Id;


            using (var dbContext = MemberDbContext.CreateContext())
            {
                dbContext.Member.Add(memberTodB);
                dbContext.MemberLog.Add(memberLogToDb);
                dbContext.Role.Add(roleToDb);
                dbContext.Identity.Add(identityToDb);


                result = dbContext.SaveChanges();
            }

            return(result);
        }
コード例 #3
0
        public int Delete(MemberViewModel fromUI, string userId)
        {
            var result = 0;

            var memberToDb    = new Member();
            var memberLogToDb = new MemberLog();

            Mapper.Map(fromUI, memberToDb);
            Mapper.Map(fromUI, memberLogToDb);


            memberLogToDb.CreateUserId       = null;
            memberLogToDb.CreateDateTime     = null;
            memberLogToDb.LastModifyUserId   = null;
            memberLogToDb.LastModifyDateTime = null;
            memberLogToDb.DeleteUserId       = userId;
            memberLogToDb.DeleteDateTime     = this.TimeNow.Value;
            memberLogToDb.Id        = Guid.NewGuid();
            memberLogToDb.Member_Id = fromUI.Id;

            using (var dbContext = MemberDbContext.CreateContext())
            {
                dbContext.Member.Attach(memberToDb);

                var memberEntry = dbContext.Entry(memberToDb);
                memberEntry.State = EntityState.Deleted;

                dbContext.MemberLog.Add(memberLogToDb);
                result = dbContext.SaveChanges();
            }

            return(result);
        }
コード例 #4
0
        public static Guid TestComapnyData()
        {
            using (var dbContext = MemberDbContext.CreateContext())
            {
                var compnayConfig = dbContext.CompanyConfing.Where(p => p.CompanyId == "DDMC").FirstOrDefault().Id;

                return(compnayConfig);
            }
        }
コード例 #5
0
 public static void AfterTestRun()
 {
     using (var dbContext = MemberDbContext.CreateContext())
     {
         if (dbContext.Database.Exists())
         {
             dbContext.Database.Delete();
         }
     }
 }
コード例 #6
0
        public int Update(MemberViewModel fromUI, string userId)
        {
            var result = 0;

            fromUI.LastModifyDateTime = this.TimeNow.Value;
            fromUI.LastModifyUserId   = userId;

            var memberToDb    = new Member();
            var memberLogToDb = new MemberLog();
            var identityToDb  = new Identity();
            var roleToDb      = new Role();

            Mapper.Map(fromUI, memberToDb);
            Mapper.Map(fromUI, identityToDb);
            Mapper.Map(fromUI, memberLogToDb);

            roleToDb = MapperRole(fromUI);
            roleToDb.LastModifyDateTime = this.TimeNow.Value;
            roleToDb.LastModifyUserId   = userId;

            memberLogToDb.Member_Id = memberToDb.Id;
            identityToDb.Member_Id  = memberToDb.Id;
            memberLogToDb.Id        = Guid.NewGuid();

            memberLogToDb.CreateUserId   = null;
            memberLogToDb.CreateDateTime = null;

            using (var dbContext = MemberDbContext.CreateContext())
            {
                /* dbContext.Member.Attach(memberToDb);
                 * dbContext.Identity.Attach(identityToDb);
                 * dbContext.Role.Attach(roleToDb);*/

                var memberEntry = dbContext.Entry(memberToDb);
                memberEntry.State = EntityState.Modified;
                memberEntry.Property(p => p.CreateUserId).IsModified   = false;
                memberEntry.Property(p => p.CreateDateTime).IsModified = false;

                var identityEntry = dbContext.Entry(identityToDb);
                identityEntry.State = EntityState.Modified;
                identityEntry.Property(p => p.CreateUserId).IsModified   = false;
                identityEntry.Property(p => p.CreateDateTime).IsModified = false;

                var roleEntry = dbContext.Entry(roleToDb);
                roleEntry.State = EntityState.Modified;
                roleEntry.Property(p => p.CreateUserId).IsModified   = false;
                roleEntry.Property(p => p.CreateDateTime).IsModified = false;


                dbContext.MemberLog.Add(memberLogToDb);
                result = dbContext.SaveChanges();
            }

            return(result);
        }
コード例 #7
0
        public void Then預期資料庫的Role資料表應有以下資料(Table expected)
        {
            using (var dbContext = MemberDbContext.CreateContext())
            {
                var actual = dbContext.Role
                             .Where(p => p.Member == true)
                             .AsNoTracking()
                             .ToList();

                expected.CompareToSet(actual);
            }
        }
コード例 #8
0
        public void Then預期資料庫的MemberLog資料表應有以下資料(Table expected)
        {
            using (var dbContext = MemberDbContext.CreateContext())
            {
                var actual = dbContext.MemberLog
                             .Where(p => p.Remark == TestUtility.TestData)
                             .AsNoTracking()
                             .ToList();

                expected.CompareToSet(actual);
            }
        }
コード例 #9
0
        public void Given資料庫的MemberActivity資料表已經存在以下資料(Table table)
        {
            var toDb = table.CreateSet(() => new MemberActivity
            {
            });

            using (var dbContext = MemberDbContext.CreateContext())
            {
                dbContext.MemberActivity.AddRange(toDb);
                dbContext.SaveChanges();
            }
        }
コード例 #10
0
        public void Given資料庫的Role資料表已經存在以下資料(Table table)
        {
            var toDb = table.CreateSet(() => new Role
            {
                CreateUserId   = TestUtility.TestUserId,
                CreateDateTime = TestUtility.TestDateTime,
            });

            using (var dbContext = MemberDbContext.CreateContext())
            {
                dbContext.Role.AddRange(toDb);
                dbContext.SaveChanges();
            }
        }
コード例 #11
0
        public MemberDetailViewModel GetMemberDetail(Guid?MemberId)
        {
            MemberDetailViewModel results = null;

            using (var dbcontext = MemberDbContext.CreateContext())
            {
                var queryable = this.ApplyJoinDetail(dbcontext.Member, dbcontext.Identity, dbcontext.Role,
                                                     dbcontext.CompanyConfing, dbcontext.MemberActivity);

                queryable = queryable.Where(x => x.Id == MemberId);

                results = queryable.First();
            }

            return(results);
        }
コード例 #12
0
        public void Given資料庫的Member資料表已經存在以下資料(Table table)
        {
            var toDb = table.CreateSet(() => new Member
            {
                CreateUserId   = TestUtility.TestUserId,
                CreateDateTime = TestUtility.TestDateTime,
                Remark         = TestUtility.TestData,
                CompanyId      = TestUtility.TestComapnyData()
            });

            using (var dbContext = MemberDbContext.CreateContext())
            {
                dbContext.Member.AddRange(toDb);
                dbContext.SaveChanges();
            }
        }
コード例 #13
0
        private void DeleteTestDate()
        {
            var columnName = "Remark";

            IEnumerable <string> tableNames = new List <string>
            {
                "Role",
                "Identity",
                "MemberActivity",
                "MemberLog",
                "Member",
            };

            var deleteCommand = TestUtility.GetDeleteTable(TestUtility.TestData, columnName, tableNames.ToArray());

            using (var dbContext = MemberDbContext.CreateContext())
            {
                dbContext.Database.ExecuteSqlCommand(deleteCommand);
            }
        }
コード例 #14
0
        public IEnumerable <MemberListViewModel> GetMembers(MemberFilterModel filter, GridState gridState)
        {
            if (filter == null)
            {
                throw new ArgumentNullException(nameof(filter));
            }

            IEnumerable <MemberListViewModel> results = null;

            using (var dbcontext = MemberDbContext.CreateContext())
            {
                var queryable = this.ApplyJoin(dbcontext.Member, dbcontext.Identity, dbcontext.Role,
                                               dbcontext.CompanyConfing, dbcontext.MemberActivity);

                queryable = this.ApplyFilter(filter, queryable);

                queryable = this.ApplyPaging(gridState, queryable);

                results = queryable.AsNoTracking().ToList();
            }

            return(results);
        }