public ActionResult Post([FromBody] ViewModel.Api.WorkOrder viewmodel) { MapperHelpers.ClientTimeZoneInfo = _clientTimeZoneInfo; var workOrder = map.Map <ViewModel.Api.WorkOrder, Domain.WorkOrder>(viewmodel); workOrder.Employer = Employer; workOrder.EmployerID = Employer.ID; workOrder.onlineSource = true; Domain.WorkOrder newOrder; try { newOrder = serv.Create(workOrder, Employer.email ?? Employer.name); } catch (MacheteValidationException e) { var res = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(e.ErrorMessage), ReasonPhrase = "Validation failed on workOrder" }; return(BadRequest(res)); } catch (InvalidOperationException e) { var res = new HttpResponseMessage(HttpStatusCode.InternalServerError) { Content = new StringContent(e.Message), ReasonPhrase = "Invalid operation " }; return(BadRequest(res)); } ViewModel.Api.WorkOrder result = map.Map <Domain.WorkOrder, ViewModel.Api.WorkOrder>(newOrder); return(new JsonResult(new { data = result })); }
public IHttpActionResult Post([FromBody] ViewModel.WorkOrder order) { var domain = map.Map <ViewModel.WorkOrder, Domain.WorkOrder>(order); domain.EmployerID = employer.ID; domain.onlineSource = true; Domain.WorkOrder newOrder = null; try { newOrder = serv.Create(domain, employer.email ?? employer.name); } catch (MacheteValidationException e) { var res = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(e.ErrorMessage), ReasonPhrase = "Validation failed on workorder" }; throw new HttpResponseException(res); } catch (InvalidOperationException e) { var res = new HttpResponseMessage(HttpStatusCode.InternalServerError) { Content = new StringContent(e.Message), ReasonPhrase = "Invalid operation " }; throw new HttpResponseException(res); } var result = map.Map <Domain.WorkOrder, ViewModel.WorkOrder>(newOrder); return(Json(new { data = result })); }
public new ActionResult <WorkOrderVM> Post([FromBody] WorkOrderVM viewmodel) { MapperHelpers.ClientTimeZoneInfo = _clientTimeZoneInfo; if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var workOrder = map.Map <WorkOrderVM, WorkOrder>(viewmodel); workOrder.Employer = Employer; workOrder.EmployerID = Employer.ID; workOrder.onlineSource = true; WorkOrder newOrder; try { newOrder = serv.Create(workOrder, Employer.email ?? Employer.name); } catch (MacheteValidationException e) { var res = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(e.ErrorMessage), ReasonPhrase = "Validation failed on workOrder" }; return(BadRequest(res)); } catch (InvalidOperationException e) { var res = new HttpResponseMessage(HttpStatusCode.InternalServerError) { Content = new StringContent(e.Message), ReasonPhrase = "Invalid operation " }; return(BadRequest(res)); } WorkOrderVM result = map.Map <WorkOrder, WorkOrderVM>(newOrder); return(CreatedAtAction(nameof(Get), new { result.id }, new { data = result })); }