public async Task <AnnoucementDto> GetAnnoucement(int id) { AnnoucementDto annoucement = await _annoucementRepo.GetSingleAnnoucementForView(id); if (annoucement != null) { return(annoucement); } return(null); }
public async Task <IActionResult> Add([FromForm] AnnoucementCreateModel annoucementCreateModel) { AnnoucementDto annoucementDto = _mapper.Map <AnnoucementDto>(annoucementCreateModel); annoucementDto.UserId = User.GetUserID(); AnnoucementDto createdAnnoucementDto = await _annoucementService.CreateAnnoucement(annoucementDto, annoucementCreateModel.Photo); AnnoucementWebModel createdAnnoucementModel = _mapper.Map <AnnoucementWebModel>(createdAnnoucementDto); return(CreatedAtAction(nameof(GetById), new { id = createdAnnoucementDto.AnnoucementId }, createdAnnoucementDto)); }
public async Task <IActionResult> GetById([FromRoute] int id) { AnnoucementDto annoucementDto = await _annoucementService.GetAnnoucement(id); if (annoucementDto == null) { return(NotFound($"No annoucement with id: {id}")); } AnnoucementWebModel annoucementWebModel = _mapper.Map <AnnoucementWebModel>(annoucementDto); return(Ok(annoucementWebModel)); }
public async Task <AnnoucementDto> CreateAnnoucement(AnnoucementDto annoucementDto) { Annoucement annoucementToCreate = _mapper.Map <Annoucement>(annoucementDto); annoucementToCreate.CreateDate = DateTime.Now; annoucementToCreate.ExpirationDate = DateTime.Now.AddDays(30); annoucementToCreate.IsActive = true; Annoucement createdAnnoucement = await CreateAndReturn(annoucementToCreate); return(_mapper.Map <AnnoucementDto>(createdAnnoucement)); }
public async Task <AnnoucementDto> UpdateAnnoucement(AnnoucementDto annoucementDto) { Annoucement annoucementFromDb = await GetSingle(a => a.AnnoucementId == annoucementDto.AnnoucementId); Action <IMappingOperationOptions <AnnoucementDto, Annoucement> > mappingOptions = x => x.BeforeMap((src, dest) => { src.CreateDate = dest.CreateDate; src.ExpirationDate = dest.ExpirationDate; src.IsActive = dest.IsActive; }); _mapper.Map <AnnoucementDto, Annoucement>(annoucementDto, annoucementFromDb, mappingOptions); Annoucement createdAnnoucement = await UpdateAndReturn(annoucementFromDb); return(_mapper.Map <AnnoucementDto>(createdAnnoucement)); }
public async Task <AnnoucementDto> CreateAnnoucement(AnnoucementDto annoucementDto, List <IFormFile> images) { bool exists = await BrandCategoryExists(annoucementDto.BrandCategoryId); if (!exists) { throw new Exception("BrandCategory Id does not exist"); } AnnoucementDto createdAnnoucement = await _annoucementRepo.CreateAnnoucement(annoucementDto); if (images != null) { await SaveAnnoucementImages(createdAnnoucement.AnnoucementId, images); } return(createdAnnoucement); }
public async Task <IActionResult> Delete([FromRoute] int id) { AnnoucementDto annoucement = await _annoucementService.GetAnnoucement(id); if (annoucement == null) { return(BadRequest($"No annoucement with id: {id}")); } int currentUser = User.GetUserID(); if (currentUser != annoucement.UserId) { return(StatusCode((int)HttpStatusCode.Forbidden, "You are not allowed to delete other user's annoucement!")); } await _annoucementService.DeleteAnnoucement(id); return(Ok()); }
public async Task <AnnoucementDto> UpdateAnnoucement(AnnoucementDto annoucementDto, List <IFormFile> images) { bool exists = await BrandCategoryExists(annoucementDto.BrandCategoryId); if (!exists) { throw new Exception("BrandCategory Id does not exist"); } AnnoucementDto updatedAnnoucement = await _annoucementRepo.UpdateAnnoucement(annoucementDto); if (images != null) { _imageFileManager.DeleteOldImages(updatedAnnoucement.AnnoucementId); await SaveAnnoucementImages(updatedAnnoucement.AnnoucementId, images); } return(annoucementDto); }
public async Task <IActionResult> Update([FromForm] AnnoucementUpdateModel annoucementUpdateModel) { AnnoucementDto annoucementDto = await _annoucementService.GetAnnoucement(annoucementUpdateModel.AnnoucementId); if (annoucementDto == null) { return(BadRequest($"No annoucement with id: {annoucementUpdateModel.AnnoucementId}")); } int currentUser = User.GetUserID(); if (currentUser != annoucementDto.UserId) { return(StatusCode((int)HttpStatusCode.Forbidden, "You are not allowed to update other user's annoucement!")); } AnnoucementDto annoucementUpdateDto = _mapper.Map <AnnoucementDto>(annoucementUpdateModel); annoucementUpdateDto.UserId = currentUser; AnnoucementDto updatedAnnoucement = await _annoucementService.UpdateAnnoucement(annoucementUpdateDto, annoucementUpdateModel.Photo); return(CreatedAtAction(nameof(GetById), new { id = updatedAnnoucement.AnnoucementId }, updatedAnnoucement)); }