Beispiel #1
0
        public async Task <IServiceResult <PromoterViewModel> > Update(
            int id,
            PromoterUpdate newData)
        {
            var existingPromoter =
                await _context
                .Promoters
                .Include(p => p.ApplicationUser)
                .FirstOrDefaultAsync(p => p.Id == id);

            if (existingPromoter == null)
            {
                return(ServiceResult <PromoterViewModel> .Error(
                           $"Promoter with id {id} does not exist"));
            }

            existingPromoter = _mapper.Map(newData, existingPromoter);

            _context.Promoters.Update(existingPromoter);
            await _context.SaveChangesAsync();

            var promoterViewModel = _mapper.Map <PromoterViewModel>(existingPromoter);

            return(ServiceResult <PromoterViewModel> .Success(promoterViewModel));
        }
Beispiel #2
0
        public async Task <IActionResult> Update(
            int id,
            [FromBody] PromoterUpdate update)
        {
            if (update == null)
            {
                return(BadRequest("Promoter registration not given"));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest("The given promoter registration is invalid"));
            }

            var result = await _promoterUpdater.Update(id, update);

            if (result.Successful())
            {
                return(Ok(result.Body()));
            }
            return(BadRequest(result.GetAggregatedErrors()));
        }