示例#1
0
        public async Task <ActionResult <DeskViewModel> > PostDesk([FromBody] PostDeskDTO dto)
        {
            var user = await _context.Users.FindAsync(dto.UserId);

            if (user == null)
            {
                return(NotFound());
            }

            var desk = _context.Desks.Add(new Desk {
                Title = dto.Title, Description = dto.Description
            }).Entity;

            _context.UserHasDesks.Add(new UserHasDesk {
                Desk = desk, User = user
            });

            await _context.SaveChangesAsync();

            var userView = new UserViewModel {
                Id = user.Id, Email = user.Email, Login = user.Login
            };

            var deskView = new DeskViewModel {
                Title       = desk.Title,
                Description = desk.Description,
                Users       = new HashSet <UserViewModel> {
                    userView
                }
            };

            return(CreatedAtAction(nameof(GetDesk), new { id = desk.Id }, deskView));
        }
示例#2
0
        public async Task <ActionResult <DeskViewModel> > GetDesk(int id)
        {
            var desk = await _context.Desks.FindAsync(id);

            if (desk == null)
            {
                return(NotFound());
            }

            var users = await _context.UserHasDesks
                        .Include(o => o.User)
                        .Where(o => desk.Id == o.IdDesk)
                        .Select(o => new UserViewModel {
                Id = o.User.Id, Email = o.User.Email, Login = o.User.Login
            })
                        .ToListAsync();

            var view = new DeskViewModel {
                Id = desk.Id, Title = desk.Title, Description = desk.Description, Users = users
            };

            return(view);
        }
示例#3
0
 public DeskviewPage()
 {
     InitializeComponent();
     BindingContext = new DeskViewModel(this, Name);
 }