public async Task <IHttpActionResult> PostSalesReports(SalesReportsVm vm) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = Task.Factory.StartNew(() => { IUnitOfWork uow = new UnitOfWorkImp(new IRepositoryConnection[] { SalesReportsRepository }); var bo = (BOSalesReports)vm.BOSalesReports(SalesReportsRepository); uow.Create(bo); string err; if (!uow.Commit(out err)) { var resp = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(err) }; throw new HttpResponseException(resp); } vm = new SalesReportsVm(bo); return(true); }); await result; return(CreatedAtRoute("DefaultApi", new { id = vm.GroupBy }, vm)); }
public async Task <IHttpActionResult> PutSalesReports(string id, SalesReportsVm vm) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != vm.GroupBy) { return(BadRequest()); } var result = Task.Factory.StartNew(() => { IUnitOfWork uow = new UnitOfWorkImp(new IRepositoryConnection[] { SalesReportsRepository }); var bo = (BOSalesReports)vm.BOSalesReports(SalesReportsRepository); uow.Update(bo); string err; if (!uow.Commit(out err)) { var resp = new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(err) }; throw new HttpResponseException(resp); } return(true); }); await result; if (!result.Result) { return(NotFound()); } return(StatusCode(HttpStatusCode.NoContent)); }