public async Task <IHttpActionResult> PostPrivileges(PrivilegesVm vm) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = Task.Factory.StartNew(() => { IUnitOfWork uow = new UnitOfWorkImp(new IRepositoryConnection[] { PrivilegesRepository }); var bo = (BOPrivileges)vm.BOPrivileges(PrivilegesRepository); 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 PrivilegesVm(bo); return(true); }); await result; return(CreatedAtRoute("DefaultApi", new { id = vm.İd }, vm)); }
public async Task <IHttpActionResult> PutPrivileges(string id, PrivilegesVm vm) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != vm.İd) { return(BadRequest()); } var result = Task.Factory.StartNew(() => { IUnitOfWork uow = new UnitOfWorkImp(new IRepositoryConnection[] { PrivilegesRepository }); var bo = (BOPrivileges)vm.BOPrivileges(PrivilegesRepository); 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)); }