public async Task <RoboDto> Update(RoboDto dto, Guid currentUserId) { var res = !dto.Id.HasValue || dto.Id == Guid.Empty ? await Insert(dto, currentUserId) : await Edit(dto, currentUserId); return(res.ToDto()); }
public RoboDto ToDto() { var res = new RoboDto { Id = this.Id, Name = this.Name, Description = this.Description, MasterId = this.MasterId }; return(res); }
private async Task <RoboMetadata> Insert(RoboDto dto, Guid currentUserId) { var entity = new RoboMetadata { MasterId = currentUserId, Name = dto.Name, Description = dto.Description }; await db.RoboMetadata.AddAsync(entity); await db.SaveChangesAsync(); return(entity); }
private async Task <RoboMetadata> Edit(RoboDto dto, Guid currentUserId) { var entity = await db.RoboMetadata.SingleAsync(x => x.Id == dto.Id); if (entity.MasterId != currentUserId) { throw new UnauthorizedAccessException(); } entity.Name = dto.Name; entity.Description = dto.Description; await db.SaveChangesAsync(); return(entity); }
public async Task <RoboDto> Update([FromBody] RoboDto dto) { var res = await service.Update(dto, User.GetUserId()); return(res); }