Esempio n. 1
0
        public void Init()
        {
            _unitofwork.User.DeleteAll();

            var item = new User();

            item.Name     = "user1";
            item.Hight    = 170;
            item.Photo    = "";
            item.Birthday = new DateTime(1977, 12, 31, 0, 0, 0);

            var dept = _unitofwork.Dept.FindAll(true).First();

            item.Dept = dept;

            item.UserRelProjs = new List <UserRelProj>();
            var projs = _unitofwork.Proj.FindAll(true);

            foreach (var proj in projs)
            {
                var mapping = new UserRelProj();
                // mapping.UserId = item.Id;
                // mapping.ProjId = proj.Id;
                mapping.User = item;
                mapping.Proj = proj;
                item.UserRelProjs.Add(mapping);
            }

            _unitofwork.User.Create(item);
            _unitofwork.Save();
        }
Esempio n. 2
0
        public void Update(User entity)
        {
            // var ori = _unitofwork.User.Single(m => m.Id == entity.Id);
            var ori = _unitofwork.User
                      .Include(m => m.Dept)
                      .Include(m => m.UserRelProjs)
                      // .ThenInclude(m => m.Proj) //The instance of entity type 'Proj' cannot be tracked because another instance is already being tracked
                      .SingleOrDefault(m => m.Id == entity.Id);

            ori.UserRelProjs.Clear();
            // _unitofwork.User.Update(ori);
            // _unitofwork.Save();

            // entity.UserRelProjs = new List<UserRelProj>();

            var projs = _unitofwork.Proj
                        .FindByCondition(m => entity.Projs.Contains(m.Id));

            foreach (var proj in projs)
            {
                var mapping = new UserRelProj();
                // mapping.UserId = entity.Id;
                // mapping.ProjId = proj.Id;
                mapping.User = ori; // entity ok too
                mapping.Proj = proj;
                ori.UserRelProjs.Add(mapping);
                // entity.UserRelProjs.Add(mapping); //unsuccess!
            }

            // //Error Null TypeMapping in Sql Tree ...
            // var mappings = _unitofwork.Proj
            // .FindByCondition(m => entity.Projs.Contains(m.Id))
            // .Select(m => new UserRelProj
            // {
            //     // UserId = entity.Id,
            //     // ProjId = m.Id,
            //     User = ori,
            //     Proj = m
            // });
            // ori.UserRelProjs = mappings.ToList();

            _unitofwork.User.Entry(ori).CurrentValues.SetValues(entity);
            _unitofwork.Save();
        }
Esempio n. 3
0
        public void Create(User entity)
        {
            // var dept = _unitofwork.Dept.Single(m=>m.Id==entity.DeptId);
            // entity.Dept = dept;

            var projs = _unitofwork.Proj
                        .FindByCondition(m => entity.Projs.Contains(m.Id), true);

            entity.UserRelProjs = new List <UserRelProj>();

            foreach (var proj in projs)
            {
                var mapping = new UserRelProj();
                // mapping.UserId = item.Id;
                // mapping.ProjId = proj.Id;
                mapping.User = entity; //entity ok too
                mapping.Proj = proj;
                //entity.UserRelProjs.Add(mapping); unsuccess!
                entity.UserRelProjs.Add(mapping);
            }

            _unitofwork.User.Create(entity);
            _unitofwork.Save();
        }