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));
        }
Esempio n. 3
0
 public static TTarget MapTo <TTarget>(this PropertyTaskViewModel source) where TTarget : PropertyTask
 {
     return(Mapper.Map <PropertyTaskViewModel, TTarget>(source));
 }