public async Task <IActionResult> RegisterBadge(Badge badge) { await _context.Badges.AddAsync(badge); await _context.SaveChangesAsync(); return(CreatedAtAction(nameof(GetBadgeById), new { id = badge.Id }, badge)); }
public async Task <IActionResult> UpdateEvent(Guid eventId, Event newEvent) { var existingEvent = await _context.Events.FirstOrDefaultAsync(x => x.Id == eventId); existingEvent.Address = newEvent.Address; existingEvent.Title = newEvent.Title; existingEvent.Start = newEvent.Start; existingEvent.End = newEvent.End; existingEvent.Description = newEvent.Description; existingEvent.Badge = newEvent.Badge; _context.Entry(existingEvent).State = EntityState.Modified; await _context.SaveChangesAsync(); return(NoContent()); }
public async Task <Unit> Handle(DeleteMakerSpace request, CancellationToken cancellationToken) { var makerspace = await _context.MakerSpace.FirstOrDefaultAsync(x => x.Id == request.Id); _context.MakerSpace.Remove(makerspace); await _context.SaveChangesAsync(); return(new Unit()); }
public async Task <Unit> Handle(RemoveUser request, CancellationToken cancellationToken) { var user = await _context.Users.FindAsync(request.Id); _context.Users.Remove(user); await _context.SaveChangesAsync(); return(new Unit()); }
public async Task <Unit> Handle(UpdateMakerSpace request, CancellationToken cancellationToken) { var makerspace = await _context.MakerSpace.Include(x => x.Address).Include(x => x.ContactInfo).FirstOrDefaultAsync(x => x.Id == request.Id); makerspace.UpdateMakerSpace(request); _context.Entry(makerspace).State = EntityState.Modified; await _context.SaveChangesAsync(); return(new Unit()); }
public async Task <Unit> Handle(UpdateMakerSpaceTool request, CancellationToken cancellationToken) { var tool = await _context.Set <Tool>().FirstOrDefaultAsync(x => x.Id == request.Id); tool.UpdateTool(request); _context.Entry(tool).State = EntityState.Modified; await _context.SaveChangesAsync(); return(new Unit()); }
public async Task <Unit> Handle(UpdateUser request, CancellationToken cancellationToken) { var user = await _context.Users.FindAsync(request.Id); user.UpdateUserFromRequest(request); _context.Entry(user).State = EntityState.Modified; await _context.SaveChangesAsync(); return(new Unit()); }
public async Task <Unit> Handle(EditMakerSpaceAddress request, CancellationToken cancellationToken = default) { var makerSpace = await _context.MakerSpace.Include(x => x.Address).FirstOrDefaultAsync(x => x.Id == request.MakerSpaceId); var newAddress = new Address(request.Street, request.City, request.Country, request.Country); makerSpace.Address = newAddress; await _context.SaveChangesAsync(); return(new Unit()); }
public async Task <IActionResult> UserFollowsMakerSpace(Guid userId, Guid makerspaceId) { var user = await _context.Users.Include(x => x.MakerSpaces).FirstOrDefaultAsync(x => x.Id == userId); var ms = await _context.MakerSpace.FirstOrDefaultAsync(x => x.Id == makerspaceId); if (user is null || ms is null) { return(NotFound()); } if (user.MakerSpaces.Contains(ms)) { return(NotFound("User already follows makerspace")); } user.MakerSpaces.Add(ms); _context.Entry(user).State = EntityState.Modified; await _context.SaveChangesAsync(); return(Accepted()); }
public async Task <RegisterMakerSpaceResponseV2> Handle(RegisterMakerSpaceV2 request, CancellationToken cancellationToken) { var makerspace = Create(request); _context.MakerSpace.Add(makerspace); await _context.SaveChangesAsync(); return(new RegisterMakerSpaceResponseV2 { Id = makerspace.Id }); }
public async Task <Unit> Handle(RemoveMakerSpaceTool request, CancellationToken cancellationToken = default) { var makerSpace = await _context.MakerSpace.Include(x => x.Tools).FirstOrDefaultAsync(x => x.Id == request.MakerSpaceId); var tool = makerSpace.Tools.FirstOrDefault(x => x.Id == request.ToolId); makerSpace.Tools.Remove(tool); await _context.SaveChangesAsync(); return(new Unit()); }
public async Task <Unit> Handle(EditMakerSpaceContactInfo request, CancellationToken cancellationToken = default) { var makerSpace = await _context.MakerSpace.Include(x => x.ContactInfo).FirstOrDefaultAsync(x => x.Id == request.MakerSpaceId); var newContactInfo = new ContactInfo { Email = request.Email, Phone = request.Phone }; makerSpace.ContactInfo = newContactInfo; await _context.SaveChangesAsync(); return(new Unit()); }
public async Task <RegisterUserResponse> Handle(RegisterUser request, CancellationToken cancellationToken) { var user = ConvertCommandToUser(request); _context.Users.Add(user); await _context.SaveChangesAsync(); var response = new RegisterUserResponse { Id = user.Id }; return(response); }
public async Task <RegisterEventResponse> Handle(RegisterEvent request, CancellationToken cancellationToken) { var newEvent = ConvertCommandToEvent(request); _context.Events.Add(newEvent); await _context.SaveChangesAsync(); var response = new RegisterEventResponse { Id = newEvent.Id }; return(response); }
public async Task <Unit> Handle(AddMakerSpaceTool request, CancellationToken cancellationToken = default) { var makerSpace = await _context.MakerSpace.Include(x => x.Tools).FirstOrDefaultAsync(x => x.Id == request.MakerSpaceId); var msTool = makerSpace.Tools.FirstOrDefault(x => x.Make == request.Make && x.Model == request.Model); var tool = new Tool { Make = request.Make, Model = request.Model }; makerSpace.Tools.Add(tool); await _context.SaveChangesAsync(); return(new Unit()); }
public async Task <Unit> Handle(EditBaseMakerSpace request, CancellationToken cancellationToken = default) { var makerSpace = await _context.MakerSpace.FirstOrDefaultAsync(x => x.Id == request.MakerSpaceId); if (makerSpace is null) { throw new NullReferenceException("Cannot find MakerSpace"); } makerSpace.Name = request.Name; makerSpace.VATNumber = request.VATNumber; makerSpace.Logo = request.LogoUrl; makerSpace.AccessType = request.AccessType; await _context.SaveChangesAsync(); return(new Unit()); }
public async Task <Guid> Handle(RegisterMakerSpace request, CancellationToken cancellationToken = default) { var newAddress = new Address(request.Street, request.City, request.Country, request.PostCode); var newContactInfo = new ContactInfo { Email = request.Email, Phone = request.Phone }; var newMakerSpace = new MakerSpace { Name = request.Name, Address = newAddress, ContactInfo = newContactInfo, VATNumber = request.VATNumber, Logo = request.LogoUrl, AccessType = request.AccessType }; _context.MakerSpace.Add(newMakerSpace); await _context.SaveChangesAsync(); return(newMakerSpace.Id); }