示例#1
0
        public void AddUserDepartment(bool currentDep,
                                      int departmentId,
                                      bool isDeleted,
                                      bool isDepartmentManager,
                                      int userId,
                                      DateTime validFrom,
                                      DateTime validTo)
        {
            using (IUnitOfWork work = UnitOfWork.Begin())
            {
                UserDepartment ud = _userDepartmentRepository.FindByUserId(userId).Where(d => d.DepartmentId == departmentId).SingleOrDefault();

                if (ud == null)
                {
                    ud = DomainObjectFactory.CreateUserDepartment();
                    _userDepartmentRepository.Add(ud);
                }

                ud.CurrentDep          = currentDep;
                ud.DepartmentId        = departmentId;
                ud.IsDeleted           = isDeleted;
                ud.IsDepartmentManager = isDepartmentManager;
                ud.UserId    = userId;
                ud.ValidFrom = validFrom;
                ud.ValidTo   = validTo;

                work.Commit();

                var userDepLogEntity = new UserDepartmentEventEntity(_userDepartmentRepository.FindById(ud.Id));

                _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName, CurrentUser.Get().CompanyId,
                                      userDepLogEntity.GetCreateMessage());
            }
        }
示例#2
0
        public void UpdateUserDepartment(int userId, int departmentId, DateTime validFrom, DateTime validTo, bool isDelete)
        {
            using (IUnitOfWork work = UnitOfWork.Begin())
            {
                UserDepartment userDepartment = _userDepartmentRepository.FindByUserId(userId).Where(ud => ud.DepartmentId == departmentId).SingleOrDefault();

                if (userDepartment == null)
                {
                    userDepartment = DomainObjectFactory.CreateUserDepartment();
                    _userDepartmentRepository.Add(userDepartment);
                    userDepartment.UserId              = userId;
                    userDepartment.DepartmentId        = departmentId;
                    userDepartment.ValidFrom           = validFrom;
                    userDepartment.ValidTo             = validTo;
                    userDepartment.CurrentDep          = false;
                    userDepartment.IsDepartmentManager = userDepartment.IsDepartmentManager && !isDelete;
                    userDepartment.IsDeleted           = isDelete;

                    work.Commit();

                    var userDepLogEntity =
                        new UserDepartmentEventEntity(_userDepartmentRepository.FindById(userDepartment.Id));

                    _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName, CurrentUser.Get().CompanyId,
                                          userDepLogEntity.GetCreateMessage());
                }
                else
                {
                    var userDepLogEntity =
                        new UserDepartmentEventEntity(userDepartment);
                    userDepartment.UserId              = userId;
                    userDepartment.DepartmentId        = departmentId;
                    userDepartment.ValidFrom           = validFrom;
                    userDepartment.ValidTo             = validTo;
                    userDepartment.CurrentDep          = false;
                    userDepartment.IsDepartmentManager = userDepartment.IsDepartmentManager && !isDelete;
                    userDepartment.IsDeleted           = isDelete;

                    work.Commit();

                    userDepLogEntity.SetNewUserDepartment(_userDepartmentRepository.FindById(userDepartment.Id));
                    _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName, CurrentUser.Get().CompanyId,
                                          userDepLogEntity.GetEditMessage());
                }
            }
        }