public async Task <ActionResult <InfluencerVM> > CreateInfluencer(InfluencerVM influencerVM) { try { if (influencerVM == null) { return(BadRequest()); } // Add custom model validation error Influencer influencer = await influencerRepository.GetInfluencerByname(influencerVM.Influencer); if (influencer != null) { ModelState.AddModelError("Name", $"Influencer name: {influencerVM.Influencer.Name} already in use"); return(BadRequest(ModelState)); } await influencerRepository.CreateInfluencer(influencerVM); return(CreatedAtAction(nameof(GetInfluencer), new { id = influencerVM.Influencer.Id }, influencerVM)); } catch (DbUpdateException Ex) { return(StatusCode(StatusCodes.Status500InternalServerError, Ex.InnerException.Message)); } }
public async Task <InfluencerVM> GetInfluencer(int id) { InfluencerVM influencerVM = new InfluencerVM(); influencerVM.Influencer = await appDbContext.Influencers.FirstOrDefaultAsync(e => e.Id == id); return(influencerVM); }
public async Task <InfluencerVM> CreateInfluencer(InfluencerVM influencerVM) { var result = await appDbContext.Influencers.AddAsync(influencerVM.Influencer); await appDbContext.SaveChangesAsync(); influencerVM.Influencer = result.Entity; return(influencerVM); }
private async Task <InfluencerVM> CheckDeserialize(HttpResponseWrapper <InfluencerVM> httpResponseWrapper) { InfluencerVM influencerVM = new InfluencerVM(); if (httpResponseWrapper.Success) { influencerVM = await Deserialize <InfluencerVM>(httpResponseWrapper.HttpResponseMessage, defaultJsonSerializerOptions); } else { influencerVM.Exception = await httpResponseWrapper.GetBody(); } return(influencerVM); }
public async Task <InfluencerVM> UpdateInfluencer(InfluencerVM influencerVM) { Influencer result = await appDbContext.Influencers .FirstOrDefaultAsync(e => e.Id == influencerVM.Influencer.Id); if (result != null) { appDbContext.Entry(result).State = EntityState.Detached; result = mapper.Map(influencerVM.Influencer, result); appDbContext.Entry(result).State = EntityState.Modified; await appDbContext.SaveChangesAsync(); return(new InfluencerVM { Influencer = result }); } return(null); }
public async Task <InfluencerVM> UpdateInfluencer(int id, InfluencerVM influencerVM) { var response = await httpService.Put($"{url}/{id}", influencerVM); return(await CheckDeserialize(response)); }
public async Task <InfluencerVM> CreateInfluencer(InfluencerVM influencerVM) { var response = await httpService.PostAsync(url, influencerVM); return(await CheckDeserialize(response)); }