예제 #1
0
        /// <summary>
        /// updates a itemnature by dto
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public async Task <AlpApiResponse> UpdateItemNature(ItemNatureDto dto)
        {
            var response = new AlpApiResponse();

            try
            {
                _logger.LogDebug(new
                {
                    action = nameof(UpdateItemNature),
                    dto    = dto?.ToString()
                }.ToString());

                dto.Validate();

                var updatedEntity = await _context.ItemNature.FirstOrDefaultAsync(itemNature => itemNature.ItemNatureId == dto.Id);

                updatedEntity.UpdateEntityByDto(dto);
                await _context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                _logger.LogError(new
                {
                    exception             = e,
                    message               = e.Message,
                    innerException        = e,
                    innerExceptionMessage = e.InnerException?.Message
                }.ToString());
                response.Message = e.Message;
                response.Success = false;
            }

            return(response);
        }
예제 #2
0
        public static void UpdateEntityByDto(this ItemNature entity, ItemNatureDto dto)
        {
            if (dto == null || entity == null)
            {
                return;
            }

            entity.ItemNatureName = dto.Name;
            entity.Locked         = dto.Locked;
        }
예제 #3
0
        public static ItemNature DtoToEntity(this ItemNatureDto dto)
        {
            if (dto == null)
            {
                return(null);
            }

            return(new ItemNature
            {
                ItemNatureName = dto.Name,
                ItemNatureId = dto.Id,
                Locked = dto.Locked,
            });
        }
예제 #4
0
        public Task <AlpApiResponse> UpdateItemNature([FromBody] ItemNatureDto itemNature)
        {
            var sessionToken = HttpContext.Request.Headers["sessiontoken"];

            if (!_accountService.Authorize(sessionToken, new List <RoleType> {
                RoleType.Admin
            }))
            {
                return(Task.FromResult(new AlpApiResponse {
                    Success = false, Message = "Nincs jogosultsága ehhez a művelethez!"
                }));
            }
            return(_itemNatureService.UpdateItemNature(itemNature));
        }
예제 #5
0
        public async Task <AlpApiResponse <ItemNatureDto> > AddNewItemNature(ItemNatureDto dto)
        {
            var response = new AlpApiResponse <ItemNatureDto>();

            try
            {
                _logger.LogDebug(new
                {
                    action = nameof(AddNewItemNature),
                    dto    = dto?.ToString()
                }.ToString());

                dto.Validate();

                var entity = dto.DtoToEntity();
                await _context.ItemNature.AddAsync(entity);

                await _context.SaveChangesAsync();

                response.Value = entity.EntityToDto();
            }
            catch (Exception e)
            {
                _logger.LogError(new
                {
                    exception             = e,
                    message               = e.Message,
                    innerException        = e,
                    innerExceptionMessage = e.InnerException?.Message
                }.ToString());
                response.Message = e.Message;
                response.Success = false;
            }

            return(response);
        }