public IHttpActionResult Put(FreelancerUpdate freelancer) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var service = CreateFreelancerService(); if (!service.UpdateFreelancer(freelancer)) { return(InternalServerError()); } return(Ok()); }
// TODO ability add or remove just coding languages public bool UpdateFreelancer(FreelancerUpdate freelancerToUpdate) { var entity = _ctx.Freelancers.Single(e => e.FreelancerId == _userId.ToString()); entity.FirstName = freelancerToUpdate.FirstName; entity.LastName = freelancerToUpdate.LastName; entity.Rating = freelancerToUpdate.Rating; entity.StateId = _ctx.States.Select(s => s.StateId).Single(); entity.ModifiedDate = DateTimeOffset.UtcNow; var lang = _ctx.CodingLanguages.Where(c => c.CodingLanguageId == freelancerToUpdate.CodingLanguageId).Select(c => c).FirstOrDefault(); entity.CodingLanguages.Add(lang); return(_ctx.SaveChanges() == 1); }
public async Task <ActionResult> UpdateFreelancerAsync(int id, [FromBody] FreelancerUpdate newFreelancerData) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var freelancer = await _contactService.GetFreelancerAsync(id); if (freelancer is null) { return(NotFound($"No freelancer with id '{id}' exists")); } await _contactService.UpdateFreelancerAsync(id, newFreelancerData); return(Ok()); }
public async Task UpdateFreelancerAsync(int id, FreelancerUpdate FreelancerData) { await _contactCommand.UpdateContactAsync(id, _mapper.Map <Database.Entities.Contact>(FreelancerData)); }