Пример #1
0
 public List <AdvertDTO> GetFiltered(List <AdvertDTO> advertList, AdvertDTO filter)
 {
     return(advertList
            .Where(x => filter.GameCharacter.World != null ? x.GameCharacter.World == filter.GameCharacter.World : true)
            .Where(x => filter.GameCharacter.Vocation != null ? x.GameCharacter.Vocation == filter.GameCharacter.Vocation : true)
            .ToList());
 }
        public void Update(AdvertDTO model)
        {
            var advert = MapOneModel(model);

            advert.UpdatedAt = DateTime.Now;
            _unitOfWork.Adverts.Update(advert);
            _unitOfWork.Save();
        }
        public async Task Add(AdvertDTO advertDTO)
        {
            var UserId = Convert.ToInt32(_context.HttpContext.User.Claims.Where(x => x.Type == "UserId").First().Value);
            var advert = _mapper.Map <Advert>(advertDTO);

            advert.UserId = UserId;

            await _advertRepository.Add(advert);
        }
Пример #4
0
        public IActionResult PostPrivate(AdvertDTO advert)
        {
            var user = HttpContext.User;

            return(Ok(new
            {
                Message = "Hello from a private endpoint! You need to be authenticated to see this."
            }));
        }
Пример #5
0
        public async Task <IActionResult> Update([FromBody] AdvertDTO advert, int advertId)
        {
            if (ModelState.IsValid)
            {
                await _advertService.Update(advert, advertId);

                return(Ok());
            }
            return(BadRequest());
        }
        public void Create(AdvertDTO model)
        {
            var advert = MapOneModel(model);

            advert.IsActive  = true;
            advert.CreatedAt = DateTime.Now;
            advert.UpdatedAt = DateTime.Now;
            _unitOfWork.Adverts.Create(advert);
            _unitOfWork.Save();
        }
Пример #7
0
        public async Task <IActionResult> Post([FromBody] AdvertDTO advertDTO)
        {
            if (ModelState.IsValid)
            {
                await _advertService.Add(advertDTO);

                return(Ok());
            }

            return(BadRequest());
        }
        public async Task Update(AdvertDTO advertDTO, int id)
        {
            var userId   = Convert.ToInt32(_context.HttpContext.User.Claims.Where(x => x.Type == "UserId").First().Value);
            var dbentity = await _advertRepository.GetAdvertByID(id);

            dbentity.CategoryId  = advertDTO.CategoryId;
            dbentity.CityId      = advertDTO.CityId;
            dbentity.Contact     = advertDTO.Contact;
            dbentity.Id          = id;
            dbentity.UserId      = userId;
            dbentity.Title       = advertDTO.Title;
            dbentity.Description = advertDTO.Description;
            await _advertRepository.Update(dbentity);
        }
Пример #9
0
        public async Task <Result> Create(AdvertDTO model, ApplicationUser user, int selectedCharacterId)
        {
            Advert ad = mapper.Map <Advert>(model);

            ad.ApplicationUser = user;
            ad.AuthorName      = user.UserName;
            ad.GameCharacterId = selectedCharacterId;

            await advertRepository.Add(ad);

            return(new Result {
                Succeeded = true
            });
        }
Пример #10
0
        public IActionResult Post(AdvertDTO advert)
        {
            FileMetadata image = null;

            if (advert.ImageId != null)
            {
                image = _db.FileMetadata.Read(advert.ImageId.Value);
                if (image == null)
                {
                    return(NotFound($"Image {image.Id} not found!"));
                }
                else if (image.Assigned)
                {
                    return(Conflict($"Image {image.Id} is already used!"));
                }
                else if (image.OwnerId != User.GetId())
                {
                    return(Conflict($"Image {image.Id} is owned by another user!"));
                }
            }

            advert.UserId = User.GetId();
            var advertEntity = _mapper.Map <Advert>(advert);

            try
            {
                _db.StartTransaction();
                var advertId = _db.Adverts.Create(advertEntity);
                _db.Adverts.CreateFavorite(new AdvertFavorite
                {
                    UserId   = User.GetId(),
                    AdvertId = advertId
                });

                if (image != null)
                {
                    image.Assigned = true;
                    _db.FileMetadata.Update(image);
                }

                _db.Commit();
            }
            catch
            {
                _db.Rollback();
                throw;
            }

            return(Created(string.Empty, advertEntity.Id));
        }
        public async Task <string> Add(AdvertModel model)
        {
            AdvertDTO advertDTO = mapper.Map <AdvertDTO>(model);

            advertDTO.ID = new Guid().ToString();
            advertDTO.CreationDateTime = DateTime.UtcNow;
            advertDTO.Status           = AdvertStatus.Pending;
            using (var client = new AmazonDynamoDBClient())
            {
                using (var context = new DynamoDBContext(client))
                {
                    await context.SaveAsync(advertDTO);
                }
            }

            return(advertDTO.ID);
        }
Пример #12
0
        public IActionResult Details(int id)
        {
            AdvertDTO model = _advertsService.GetAdvert(id).Result;

            return(View(model));
        }
        public void ValidateAdvertTest_TError(AdvertDTO advert, string[] expected)
        {
            var actual = validatorWithError.Validate(advert);

            Assert.Equal(expected, actual.Errors);
        }
        public void ValidateAdvertTest(AdvertDTO advert, bool expected)
        {
            var actual = validator.Validate(advert);

            Assert.Equal(expected, actual);
        }
 private Advert MapOneModel(AdvertDTO advert)
 {
     return(_mapper.Map <AdvertDTO, Advert>(advert));
 }