Example #1
0
        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());
        }
Example #2
0
        public RoboDto ToDto()
        {
            var res = new RoboDto
            {
                Id          = this.Id,
                Name        = this.Name,
                Description = this.Description,
                MasterId    = this.MasterId
            };

            return(res);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        public async Task <RoboDto> Update([FromBody] RoboDto dto)
        {
            var res = await service.Update(dto, User.GetUserId());

            return(res);
        }