public IHttpActionResult PostPropertyTask(PropertyTaskViewModel propertyTask) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.UpdatePropertyTask(propertyTask.MapTo <PropertyTask>()); //List<Crew> crews= new List<Crew>(); //foreach (Crew cr in propertyTask.Crews) //{ // crews.Add(db.Crews.Single(c=>c.Id==cr.Id)); //} //propertyTask.Crews = crews; //db.PropertyTasks.Add(propertyTask); //db.SaveChanges(); return(Ok(propertyTask)); }
public IHttpActionResult PutPropertyTask(int id, PropertyTaskViewModel propertyTask) { //if (!ModelState.IsValid) //{ // return BadRequest(ModelState); //} if (id != propertyTask.Id) { return(BadRequest()); } db.UpdatePropertyTask(propertyTask.MapTo <PropertyTask>()); // foreach (var eventSchedule in propertyTask.EventSchedules) // { // eventSchedule.PropertyTaskId = propertyTask.Id; // if (eventSchedule.Id > 0) // { // db.Entry(eventSchedule).State = EntityState.Modified; // } // else // { // db.EventSchedules.Add(eventSchedule); // } // } // //Remove events from property task // List<EventSchedule> currentEvents = db.EventSchedules.Where(e => e.PropertyTaskId == id).ToList(); // foreach (EventSchedule eventsch in currentEvents) // { // EventSchedule eventSchValue = propertyTask.EventSchedules.SingleOrDefault(e => e.Id == eventsch.Id); // if (eventSchValue == null) // { // db.EventSchedules.Remove(eventsch); // } // } //// db.Entry(propertyTask).State = EntityState.Modified; // try // { // db.SaveChanges(); // } // catch (DbUpdateConcurrencyException) // { // if (!PropertyTaskExists(id)) // { // return NotFound(); // } // else // { // throw; // } // } return(StatusCode(HttpStatusCode.NoContent)); }
public static TTarget MapTo <TTarget>(this PropertyTaskViewModel source) where TTarget : PropertyTask { return(Mapper.Map <PropertyTaskViewModel, TTarget>(source)); }