Esempio n. 1
0
 public Task <ApiResponse <AdvertDto> > AddAdvertAsync(NewAdvertDto advert)
 {
     if (advert == null)
     {
         throw new ArgumentNullException(nameof(advert));
     }
     return(PostAsync <NewAdvertDto, ApiResponse <AdvertDto> >(_advertOptions.AddAdvertUrl, advert));
 }
Esempio n. 2
0
        public async Task <IActionResult> AddAdvertAsync([FromBody] NewAdvertDto advert)
        {
            string id = User.Claims.Where(x => x.Type.Equals("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier")).FirstOrDefault().Value;

            if (!advert.UserId.Equals(id))
            {
                throw new Exception($"{nameof(advert)} Access denied");
            }
            return(ApiResult(await _advertManager.CreateAsync(advert)));
        }
Esempio n. 3
0
        public async Task <AdvertDto> CreateAsync(NewAdvertDto dto)
        {
            if (dto == null)
            {
                throw new ArgumentNullException(nameof(dto));
            }

            if (string.IsNullOrWhiteSpace(dto.Header) || string.IsNullOrWhiteSpace(dto.Description))
            {
                throw new Exception($"{nameof(dto)} Заполните все данные");
            }

            if (dto.Header.Length > 30)
            {
                throw new Exception($"{nameof(dto)} Заголовок не более 30 символов");
            }

            if (dto.Description.Length > 650)
            {
                throw new Exception($"{nameof(dto)} Описание не более 650 символов");
            }

            var advert = _mapper.Map <Advert>(dto);
            var result = await _advertRepository.AddAsync(advert);

            try
            {
                await _advertRepository.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                string mes = ex.Message;
                throw new Exception(ex.Message);
            }
            return(_mapper.Map <AdvertDto>(result));
        }