コード例 #1
0
ファイル: NestedDtos.cs プロジェクト: vip32/AutoMapper
 protected override void Because_of()
 {
     using (var context = new TestContext())
     {
         _destination = context.Arts.ProjectTo <ArtDto>(Configuration).FirstOrDefault();
     }
 }
コード例 #2
0
 private void ArtCellGotFocus(SelectionBase sender, ChangeActivePositionEventArgs e)
 {
     _needLoadArt = false;
     _artPosition = e.NewFocusPosition;
     _selectedArt = _artDtos[_artPosition.Row - 1];
     lArt.Text    = _selectedArt.FullName;
     if (_searchMode && !_searchChanging)
     {
         _searchString = "";
         lInfo.Text    = $"Поиск: {_searchString}";
     }
 }
コード例 #3
0
        public ArtDto GetArtFromTable(int row)
        {
            var art = new ArtDto()
            {
                ArtId  = (int)gridArt[row, Const.Columns.Art.ArtId].Value,
                Mag    = (string)gridArt[row, Const.Columns.Art.Mag].Value,
                IYear  = (int?)gridArt[row, Const.Columns.Art.IYear].Value,
                IMonth = (string)gridArt[row, Const.Columns.Art.IMonth].Value,
                Author = (string)gridArt[row, Const.Columns.Art.Author].Value,
                Name   = (string)gridArt[row, Const.Columns.Art.Name].Value,
                NN     = (int?)gridArt[row, Const.Columns.Art.NN].Value,
                Serie  = (string)gridArt[row, Const.Columns.Art.Serie].Value
            };

            return(art);
        }
コード例 #4
0
 public void UpdateArtRow(ArtDto art, int r)
 {
     gridArt[r, 0] = new SourceGrid.Cells.Cell(art.ArtId, _editorsArt[0]);
     gridArt[r, 1] = new SourceGrid.Cells.Cell(art.Mag, _editorsArt[1]);
     gridArt[r, 1].AddController(_gridArtController);
     gridArt[r, 2] = new SourceGrid.Cells.Cell(art.IYear, _editorsArt[2]);
     gridArt[r, 2].AddController(_gridArtController);
     gridArt[r, 3] = new SourceGrid.Cells.Cell(art.IMonth, _editorsArt[3]);
     gridArt[r, 3].AddController(_gridArtController);
     gridArt[r, 4] = new SourceGrid.Cells.Cell(art.Author, _editorsArt[4]);
     gridArt[r, 4].AddController(_gridArtController);
     gridArt[r, 5] = new SourceGrid.Cells.Cell(art.Name, _editorsArt[5]);
     gridArt[r, 5].AddController(_gridArtController);
     gridArt[r, 6] = new SourceGrid.Cells.Cell(art.NN, _editorsArt[6]);
     gridArt[r, 6].AddController(_gridArtController);
     gridArt[r, 7] = new SourceGrid.Cells.Cell(art.Serie, _editorsArt[7]);
     gridArt[r, 7].AddController(_gridArtController);
     gridArt[r, 8] = new SourceGrid.Cells.Cell(art.cnt, _editorsArt[8]);
     gridArt[r, 9] = new SourceGrid.Cells.Cell(art.FullName, _editorsArt[9]);
 }
コード例 #5
0
        private bool UpdateArtEntity(ArtDto art, int row)
        {
            var isAdded = false;

            if (art.ArtId == 0)
            {
                var entity = Mapper.Map <Arts>(art);
                _ctx.Arts.Add(entity);
                _ctx.SaveChanges();
                art.ArtId = entity.ArtId;
                gridArt[row, Const.Columns.Art.ArtId].Value = entity.ArtId;
                isAdded = true;
            }
            else
            {
                var entity = _ctx.Arts.Single(x => x.ArtId == art.ArtId);
                Mapper.Map(art, entity);
                _ctx.SaveChanges();
            }

            _selectedArt      = art;
            _artDtos[row - 1] = art;

            var pArt = _arts.FirstOrDefault(x => x.Id == art.ArtId);

            if (pArt != null)
            {
                _arts.Remove(pArt);
            }
            _arts.InsertPairSorted(new Pair <int>()
            {
                Id = art.ArtId, Name = art.FullName
            });

            _editArt.Control.Items.Clear();
            _editArt.Control.Items.AddRange(_arts.Select(x => x.Name).ToArray());

            return(isAdded);
        }
コード例 #6
0
        private void gridArt_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
        {
            if (gridArt.Focused)
            {
                var pos = gridArt.Selection.ActivePosition;
                if (pos != Position.Empty)
                {
                    if (e.KeyCode == Keys.Insert)
                    {
                        SearchModeOff();
                        var art = new ArtDto()
                        {
                            Mag    = (string)gridArt[pos.Row, Const.Columns.Art.Mag].Value,
                            IYear  = (int?)gridArt[pos.Row, Const.Columns.Art.IYear].Value,
                            IMonth = (string)gridArt[pos.Row, Const.Columns.Art.IMonth].Value
                        };
                        _artDtos.Insert(pos.Row - 1, Mapper.Map <ArtDto>(art));
                        gridArt.Rows.Insert(pos.Row);
                        UpdateArtRow(art, pos.Row);
                        CheckArtSort(pos, true);
                    }
                    else if (e.KeyCode == Keys.Delete && e.Modifiers == Keys.Control)
                    {
                        if (MessageBox.Show("Delete art?", "Confirm", MessageBoxButtons.YesNo) == DialogResult.Yes)
                        {
                            try
                            {
                                var art = _artDtos[pos.Row - 1];
                                if (art.ArtId > 0)
                                {
                                    var entity = _ctx.Arts.Single(x => x.ArtId == art.ArtId);
                                    _ctx.Arts.Remove(entity);
                                    _ctx.SaveChanges();
                                }

                                gridArt.Rows.Remove(pos.Row);
                                _artDtos.RemoveAt(pos.Row - 1);
                                var pArt = _arts.FirstOrDefault(x => x.Id == art.ArtId);
                                if (pArt != null)
                                {
                                    _arts.Remove(pArt);
                                }

                                _editArt.Control.Items.Clear();
                                _editArt.Control.Items.AddRange(_arts.Select(x => x.Name).ToArray());
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show(GetInnerestException(ex));
                            }
                        }
                    }
                    else if (e.KeyCode == Keys.Home && e.Modifiers == Keys.None)
                    {
                        var col = 0;
                        while (!gridArt.Columns[col].Visible)
                        {
                            col++;
                        }
                        var focusPosn = new Position(pos.Row, col);
                        gridArt.Selection.Focus(focusPosn, true);
                    }
                    else if (e.KeyCode == Keys.End && e.Modifiers == Keys.None)
                    {
                        var col = gridArt.Columns.Count - 1;
                        while (!gridArt.Columns[col].Visible)
                        {
                            col--;
                        }
                        var focusPosn = new Position(pos.Row, col);
                        gridArt.Selection.Focus(focusPosn, true);
                    }
                    else if (e.KeyCode == Keys.Home && e.Modifiers == Keys.Control)
                    {
                        var col = 0;
                        while (!gridArt.Columns[col].Visible)
                        {
                            col++;
                        }
                        var focusPosn = new Position(1, col);
                        gridArt.Selection.Focus(focusPosn, true);
                    }
                    else if (e.KeyCode == Keys.End && e.Modifiers == Keys.Control)
                    {
                        var col = gridArt.Columns.Count - 1;
                        while (!gridArt.Columns[col].Visible)
                        {
                            col--;
                        }
                        var focusPosn = new Position(gridArt.RowsCount - 1, col);
                        gridArt.Selection.Focus(focusPosn, true);
                    }
                }
            }
        }