コード例 #1
0
ファイル: UserPositionsVM.cs プロジェクト: T1Easyware/Soheil
        public UserPositionsVM(UserVM user, AccessType access)
            : base(access)
        {
            UnitOfWork = new SoheilEdmContext();
            CurrentUser = user;
            UserDataService = new UserDataService(UnitOfWork);
            PositionDataService = new PositionDataService(UnitOfWork);
            AccessRuleDataService = new AccessRuleDataService(UnitOfWork);
            UserDataService.PositionAdded += OnPositionAdded;
            UserDataService.PositionRemoved += OnPositionRemoved;


            var selectedVms = new ObservableCollection<UserPositionVM>();
            foreach (var userPosition in UserDataService.GetPositions(user.Id))
            {
                selectedVms.Add(new UserPositionVM(userPosition, Access, RelationDirection.Straight));
            }
            SelectedItems = new ListCollectionView(selectedVms);

            var allVms = new ObservableCollection<PositionVM>();
            foreach (var position in PositionDataService.GetActives(SoheilEntityType.Users, CurrentUser.Id))
            {
                allVms.Add(new PositionVM(position, Access, PositionDataService));
            }
            AllItems = new ListCollectionView(allVms);

            //AllItems = new ListCollectionView(PositionDataService.GetActives());
            IncludeCommand = new Command(Include, CanInclude);
            ExcludeCommand = new Command(Exclude, CanExclude);
        }
コード例 #2
0
        public AccessRulePositionsVM(AccessRuleVM accessRule, AccessType access)
            : base(access)
        {
            UnitOfWork = new SoheilEdmContext();
            CurrentAccessRule = accessRule;
            AccessRuleDataService = new AccessRuleDataService(UnitOfWork);
            AccessRuleDataService.PositionAdded += OnPositionAdded;
            AccessRuleDataService.PositionRemoved += OnPositionRemoved;
            PositionDataService = new PositionDataService(UnitOfWork);

            var selectedVms = new ObservableCollection<PositionAccessRuleVM>();
            foreach (var accessRulePosition in AccessRuleDataService.GetPositions(accessRule.Id))
            {
                selectedVms.Add(new PositionAccessRuleVM(accessRulePosition, Access, RelationDirection.Reverse));
            }
            SelectedItems = new ListCollectionView(selectedVms);

            var allVms = new ObservableCollection<PositionVM>();
            foreach (var position in PositionDataService.GetActives())
            {
                allVms.Add(new PositionVM(position, Access,PositionDataService));
            }
            AllItems = new ListCollectionView(allVms);

            IncludeCommand = new Command(Include,CanInclude);
            ExcludeCommand = new Command(Exclude,CanExclude);
        }
コード例 #3
0
        public PositionOrganizationChartsVM(PositionVM position, AccessType access)
            : base(access)
        {
            UnitOfWork = new SoheilEdmContext();
            CurrentPosition = position;
            PositionDataService = new PositionDataService(UnitOfWork);
            PositionDataService.OrganizationChartAdded += OnOrganizationChartAdded;
            PositionDataService.OrganizationChartRemoved += OnOrganizationChartRemoved;
            OrganizationChartDataService = new OrganizationChartDataService(UnitOfWork);
            OrganizationChartPositionDataService = new OrganizationChartPositionDataService(UnitOfWork);

            var selectedVms = new ObservableCollection<OrganizationChartPositionVM>();
            foreach (var positionOrganizationChart in PositionDataService.GetOrganizationCharts(position.Id))
            {
                selectedVms.Add(new OrganizationChartPositionVM(positionOrganizationChart, Access, OrganizationChartPositionDataService));
            }
            SelectedItems = new ListCollectionView(selectedVms);

            var allVms = new ObservableCollection<OrganizationChartVM>();
            foreach (var organizationChart in OrganizationChartDataService.GetActives())
            {
                allVms.Add(new OrganizationChartVM(organizationChart, Access, OrganizationChartDataService));
            }
            AllItems = new ListCollectionView(allVms);

            IncludeCommand = new Command(Include, CanInclude);
            ExcludeCommand = new Command(Exclude, CanExclude);
            
        }
コード例 #4
0
ファイル: PositionUsersVM.cs プロジェクト: T1Easyware/Soheil
        public PositionUsersVM(PositionVM position, AccessType access)
            : base(access)
        {
            UnitOfWork = new SoheilEdmContext();
            CurrentPosition = position;
            PositionDataService = new PositionDataService(UnitOfWork);
            PositionDataService.UserAdded += OnUserAdded;
            PositionDataService.UserRemoved += OnUserRemoved;
            UserDataService = new UserDataService(UnitOfWork);

            var selectedVms = new ObservableCollection<UserPositionVM>();
            foreach (var positionUser in PositionDataService.GetUsers(position.Id))
            {
                selectedVms.Add(new UserPositionVM(positionUser, Access, RelationDirection.Reverse));
            }
            SelectedItems = new ListCollectionView(selectedVms);

            var allVms = new ObservableCollection<UserVM>();
            foreach (var user in UserDataService.GetActives(SoheilEntityType.Positions, CurrentPosition.Id))
            {
                allVms.Add(new UserVM(user, Access, UserDataService));
            }
            AllItems = new ListCollectionView(allVms);

            IncludeCommand = new Command(Include, CanInclude);
            ExcludeCommand = new Command(Exclude, CanExclude);
            
        }
コード例 #5
0
ファイル: PositionVM.cs プロジェクト: T1Easyware/Soheil
        /// <summary>
        /// Initializes a new instance of the <see cref="ProductVM"/> class from the model.
        /// </summary>
        /// <param name="entity">The model.</param>
        /// <param name="access"></param>
        public PositionVM(Position entity, AccessType access, PositionDataService dataService)
            : base(access)
        {
            InitializeData(dataService);
            _model = entity;

        }
コード例 #6
0
        /// <summary>
        /// Internship Job
        /// </summary>
        /// <param name="title"> Job Title</param>
        /// <param name="description">Job Description</param>
        /// <param name="positionType"> Internship Type</param>
        /// <param name="skills">Skills Need for Job</param>
        /// <param name="hours">Hours required to work</param>
        /// <param name="days">Days Required to Work</param>
        //public InternPosition(string title, string description, PositionType positionType, string skills, decimal hours, decimal days) {

        //    this.Title = title;
        //    this.Description = description;
        //    this.PositionType = positionType;
        //    this.Skills = skills;
        //    this.Hours = hours;
        //    this.Days = days;

        //}
        #endregion

        public void Insert(int managerId)
        {
            try
            {
                PositionDataService dataService = new PositionDataService();

                dataService.Insert(ref _positionId, managerId, _title, _duties, _positionType.ToString(),
                                   _skills, _workHours, _workDays);
            } catch
            {
                throw;
            }
        }
コード例 #7
0
        public static Position Load(int positionid)
        {
            try
            {
                PositionDataService dataService = new PositionDataService();

                DataSet ds = dataService.Load(positionid);

                Position obj = new Position();

                return((obj.MapData(ds)) ? obj : null);
            } catch
            {
                throw;
            }
        }
コード例 #8
0
ファイル: PositionsVM.cs プロジェクト: T1Easyware/Soheil
        private void InitializeData()
        {
            UnitOfWork = new SoheilEdmContext();
            PositionDataService = new PositionDataService(UnitOfWork);
            PositionDataService.PositionAdded += OnPositionAdded;

            ColumnHeaders = new List<ColumnInfo> 
            { 
                new ColumnInfo("Name",0), 
                new ColumnInfo("Status",1) ,
                new ColumnInfo("Mode",2,true) 
            };

            AddCommand = new Command(Add, CanAdd);RefreshCommand = new Command(CreateItems);
            AddGroupCommand = new Command(Add, CanAddGroup);
            ViewCommand = new Command(View, CanView);
            CreateItems(null);
        }
コード例 #9
0
        public OrganizationChartPositionsVM(OrganizationChartVM organizationChart, AccessType access):base(access)
        {
            UnitOfWork = new SoheilEdmContext();
            CurrentOrganizationChart = organizationChart;
            OrganizationChartDataService = new OrganizationChartDataService(UnitOfWork);
            OrganizationChartDataService.PositionAdded += OnPositionAdded;
            OrganizationChartDataService.PositionRemoved += OnPositionRemoved;
            PositionDataService = new PositionDataService(UnitOfWork);
            OrganizationChartPositionDataService = new OrganizationChartPositionDataService(UnitOfWork);

            RootNode = new OrganizationChartPositionVM(Access, OrganizationChartPositionDataService) { Title = string.Empty, Id = -1, ParentId = -2 };

            var selectedVms = new ObservableCollection<OrganizationChartPositionVM>();
            foreach (var organizationChartPosition in OrganizationChartDataService.GetPositions(organizationChart.Id))
            {
                selectedVms.Add(new OrganizationChartPositionVM(organizationChartPosition, Access, OrganizationChartPositionDataService));
            }

            var allVms = new ObservableCollection<PositionVM>();
            foreach (var position in PositionDataService.GetActives(SoheilEntityType.OrganizationCharts, CurrentOrganizationChart.Id))
            {
                allVms.Add(new PositionVM(position, Access, PositionDataService));
            }
            AllItems = new ListCollectionView(allVms);

            IncludeCommand = new Command(Include, CanInclude);
            ExcludeTreeCommand = new Command(ExcludeTree, CanExcludeTree);


            foreach (OrganizationChartPositionVM item in selectedVms)
            {
                if (item.ParentId == RootNode.Id)
                {
                    RootNode.ChildNodes.Add(item);
                    break;
                }
            }

            CurrentNode = RootNode;
        }
コード例 #10
0
        public PositionAccessRulesVM(PositionVM position, AccessType access):base(access)
        {
            UnitOfWork = new SoheilEdmContext();
            CurrentPosition = position;
            PositionDataService = new PositionDataService(UnitOfWork);
            PositionDataService.AccessRuleChanged += OnAccessRuleChanged;
            AccessRuleDataService = new AccessRuleDataService(UnitOfWork);
            PositionAccessRuleDataService = new PositionAccessRuleDataService(UnitOfWork);

            RootNode = new PositionAccessNodeVM(Access) { Title = string.Empty, Id = -1, ParentId = -2 };

            var selectedVms = new ObservableCollection<PositionAccessNodeVM>();
            foreach (var accessRule in AccessRuleDataService.GetActives())
            {
                selectedVms.Add(new PositionAccessNodeVM(accessRule.Id, position.Id, AccessRuleDataService, PositionAccessRuleDataService, Access));
            }

            var allVms = new ObservableCollection<AccessRuleVM>();
            foreach (var accessRule in AccessRuleDataService.GetActives())
            {
                allVms.Add(new AccessRuleVM(AccessRuleDataService, accessRule, Access));
            }
            AllItems = new ListCollectionView(allVms);

            IncludeCommand = new Command(Include, CanInclude);
            ExcludeTreeCommand = new Command(ExcludeTree, CanExcludeTree);

            foreach (PositionAccessNodeVM item in selectedVms)
            {
                if (item.ParentId == RootNode.Id)
                {
                    RootNode.ChildNodes.Add(item);
                    break;
                }
            }

            CurrentNode = RootNode;
        }
コード例 #11
0
        /// <summary>
        /// Loads all the Internship position for a Manager
        /// </summary>
        /// <param name="managerId"> The manager Primary Key </param>
        /// <returns></returns>
        public static PositionCollection Load(int managerId)
        {
            try
            {
                //Create the Data Service Object
                PositionDataService dataService = new PositionDataService();

                //Excute the dataservice get all method with the manager id as parameter
                DataSet ds = dataService.GetAll(managerId);

                // Create the collection object
                PositionCollection obj = new PositionCollection();

                //Create Objects from the Data Set and Add them to the collection
                obj.MapObjects(ds);

                //Return the collection
                return(obj);
            } catch
            {
                throw;
            }
        }
コード例 #12
0
        /// <summary>
        /// Load All internship Positions from the Database
        /// </summary>
        /// <returns> A populated List of Internship Positions</returns>
        public static PositionCollection GetAll()
        {
            try
            {
                //Create the Data Service Object
                PositionDataService dataService = new PositionDataService();

                //Excute the dataservice get all method which returns a populated dataset
                DataSet ds = dataService.GetAll();

                // Create the collection object
                PositionCollection obj = new PositionCollection();

                //Create Objects from the Data Set and Add them to the collection
                obj.MapObjects(ds);

                //Return the collection
                return(obj);
            } catch
            {
                throw;
            }
        }
コード例 #13
0
ファイル: PositionVM.cs プロジェクト: T1Easyware/Soheil
 private void InitializeData(PositionDataService dataService)
 {
     PositionDataService = dataService;
     SaveCommand = new Command(Save, CanSave);
 }
コード例 #14
0
ファイル: PositionVM.cs プロジェクト: T1Easyware/Soheil
 /// <summary>
 /// Initializes a new instance of the <see cref="ProductGroupVM"/> class initialized with default values.
 /// </summary>
 public PositionVM(AccessType access, PositionDataService dataService):base(access)
 {
     InitializeData(dataService);
 }
コード例 #15
0
ファイル: PositionVM.cs プロジェクト: T1Easyware/Soheil
 public static Position CreateNew(PositionDataService dataService)
 {
     int id = dataService.AddModel(new Position { Name = "جدید", ModifiedDate = DateTime.Now, Status = (byte)Status.Active});
     return dataService.GetSingle(id);
 }