public static AttendeeModel Create(Attendee obj) { if (obj == null) return null; var model = new AttendeeModel() { Id = obj.Id, Code = obj.Code, EmailAddress = obj.EmailAddress, JobTitle = obj.JobTitle, Name =obj.Name }; var proposals = new List<TalkProposalModel>(); if (obj.TalkProposals != null) { foreach (var talkProposalReference in obj.TalkProposals) { proposals.Add(Create(talkProposalReference)); } } model.TalkProposals = proposals; return model; }
public async Task<IHttpActionResult> PutAttendees(int id, AttendeeModel model) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != model.Id) { return BadRequest(); } try { var attendee = _attendeeService.Find(id); attendee = ObjectFactory.Parse(model, attendee); attendee.ObjectState = ObjectState.Modified; _attendeeService.Update(attendee); await _unitOfWork.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AttendeesExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }
internal static Entities.Attendee Parse(AttendeeModel model, Attendee obj) { if (model == null) { return null; } if (obj != null) { obj.Name = model.Name; obj.JobTitle = model.JobTitle; obj.Code = model.Code; obj.EmailAddress = model.EmailAddress; } return obj; }
public async Task<IHttpActionResult> PostAttendees(AttendeeModel model) { if (!ModelState.IsValid) { return BadRequest(ModelState); } var attendee = new Attendee(); attendee = ObjectFactory.Parse(model, attendee); attendee.ObjectState = ObjectState.Added; _attendeeService.Insert(attendee); await _unitOfWork.SaveChangesAsync(); model = ModelFactory.Create(attendee); return CreatedAtRoute("DefaultApi", new { id = model.Id }, model); }