public IHttpActionResult PostServiceTicket(ServiceTicketViewModel serviceTicket) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.ServiceTickets.Add(serviceTicket.MapTo <ServiceTicket>()); db.SaveChanges(); return(Ok(serviceTicket)); }
public IHttpActionResult PutServiceTicket(int id, ServiceTicketViewModel serviceTicket) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != serviceTicket.Id) { return(BadRequest()); } var existingTicket = db.ServiceTickets.FirstOrDefault(p => p.Id == id); if (existingTicket == null) { return(NotFound()); } existingTicket.ServiceTemplateId = serviceTicket.ServiceTemplateId; existingTicket.EventTaskListId = serviceTicket.EventTaskListId; existingTicket.EventDate = serviceTicket.EventDate; existingTicket.ReferenceNumber = serviceTicket.ReferenceNumber; existingTicket.VisitFromTime = serviceTicket.VisitFromTime.Value.ToLocalTime(); existingTicket.VisitToTime = serviceTicket.VisitToTime.Value.ToLocalTime(); existingTicket.JsonFields = serviceTicket.JsonFields; existingTicket.ApprovedById = serviceTicket.ApprovedById; existingTicket.ApprovedDate = serviceTicket.ApprovedDate; existingTicket.Condition = serviceTicket.Condition; existingTicket.Notes = serviceTicket.Notes; db.ServiceMembers.RemoveRange(db.ServiceMembers.Where(s => s.ServiceTicketId == serviceTicket.Id)); foreach (var member in serviceTicket.Members) { if (member.Selected) { db.ServiceMembers.Add(new ServiceMember() { ServiceTicketId = serviceTicket.Id, EmployeeId = member.EmployeeId }); } } db.SaveChanges(); return(StatusCode(HttpStatusCode.NoContent)); }
public static TTarget MapTo <TTarget>(this ServiceTicketViewModel source) where TTarget : ServiceTicket { return(Mapper.Map <ServiceTicketViewModel, TTarget>(source)); }