コード例 #1
0
        private string compileSelector()
        {
            ISQLSelect    sqlSelect        = Sql.Selector;
            Expression    selectExpression = sqlSelect.Expression;
            IEntityMapper selectorMapper   = sqlSelect.Mapper;

            _selectorCompilerStr = new StringBuilder("SELECT ");
            if (selectExpression == null)
            {
                if (!string.IsNullOrEmpty(sqlSelect.Alias))
                {
                    // 被As强制定义了别名
                    Sql.AliasCollection.Update(sqlSelect.Alias, Sql.Selector.Type);
                }

                _selectorCompilerStr.Append(
                    selectorMapper.Columns.Length == 0
                    ? sqlSelect.ComposeSelectKey("*")
                    : string.Join(", ", selectorMapper.Fields.Select(p => $"{sqlSelect.ComposeSelectKey(selectorMapper.GetColumnName(p))} AS {p}"))
                    );
            }
            else
            {
                this.Visit(selectExpression);
                _selectorCompilerStr.TrimComma();
            }
            _selectorCompilerStr.Append(" FROM ");
            _selectorCompilerStr.Append(sqlSelect.ComposeTableName());
            string compileResult = _selectorCompilerStr.ToString();

            _selectorCompilerStr = null;
            return(compileResult);
        }
コード例 #2
0
        public ManagerBaseViewModel(IDialoger dialoger, User user,
            ISQLSelect sqlSelect, ISQLInsert sqlInsert, ISQLUpdate sqlUpdate)
        {
            this.dialoger = dialoger;
            this.user = user;
            this.sqlSelect = sqlSelect;
            this.sqlInsert = sqlInsert;
            this.sqlUpdate = sqlUpdate;
            employee = sqlSelect.GetEmployee(this.user);

            EmployeesCommand = new RelayCommand(obj => GoToEmployeesPage());
            AnimalsCommand = new RelayCommand(obj => GoToAnimalsPage());
            DiseasesCommand = new RelayCommand(obj => GoToDiseasesPage());
            MedicalProceduresCommand = new RelayCommand(obj => GoToMedicalProceduresPage());
        }
コード例 #3
0
ファイル: VetBaseViewModel.cs プロジェクト: MKnoski/ZooMaster
        protected VetBaseViewModel(User user, IDialoger dialoger,
            ISQLSelect sqlSelect, ISQLInsert sqlInsert, ISQLUpdate sqlUpdate, ISQLDelete sqlDelete)
        {
            User = user;
            this.sqlSelect = sqlSelect;
            this.sqlInsert = sqlInsert;
            this.sqlUpdate = sqlUpdate;
            this.sqlDelete = sqlDelete;
            employee = sqlSelect.GetEmployee(User);
            this.dialoger = dialoger;

            LoadData();

            DiseasesCommand = new RelayCommand(obj => GoToDiseasePage());
            MedicalProceduresCommand = new RelayCommand(obj => GoToMedicalProceduresPage());
            ProtegesCommand = new RelayCommand(obj => GoToProtegesPage());
        }
コード例 #4
0
        protected AdminBaseViewModel(User user, ISQLCredentials sqlCredentials, IDialoger dialoger, 
            ISQLSelect sqlSelect, ISQLInsert sqlInsert, ISQLUpdate sqlUpdate)
        {
            this.sqlCredentials = sqlCredentials;
            this.dialoger = dialoger;
            this.user = user;
            this.sqlSelect = sqlSelect;
            this.sqlInsert = sqlInsert;
            this.sqlUpdate = sqlUpdate;

            EmployeesCommand = new RelayCommand(obj => GoToEmployeesPage());
            AnimalsCommand = new RelayCommand(obj => GoToAnimalsPage());
            SpeciesCommand = new RelayCommand(obj => GoToSpeciesPage());
            CagesAndAreasCommand = new RelayCommand(obj => GoToCagesAndAreasPage());
            MedicalProceduresCommand = new RelayCommand(obj => GoToMedicineProceduresPage());
            DiseasesCommand = new RelayCommand(obj => GoToDiseasesPage());
            CleaningsAndFeedingsCommand = new RelayCommand(obj => GoToCleaningsAndFeedingsPage());
        }
コード例 #5
0
        protected RegularEmployeeBaseViewModel(User user, IDialoger dialoger,
            ISQLSelect sqlSelect, ISQLInsert sqlInsert, ISQLUpdate sqlUpdate, ISQLDelete sqlDelete)
        {
            this.dialoger = dialoger;
            this.sqlSelect = sqlSelect;
            this.sqlInsert = sqlInsert;
            this.sqlUpdate = sqlUpdate;
            this.sqlDelete = sqlDelete;

            User = user;
            employee = sqlSelect.GetEmployee(User);

            LoadData();

            FeedingCommand = new RelayCommand(obj => GoToFeedingPage());
            CleaningCommand = new RelayCommand(obj => GoToCleaningPage());
            ProtegesCommand = new RelayCommand(obj => GoToProtegesPage());
        }