public virtual async Task <IHttpActionResult> Search([FromBody] TSearchEntity model, [FromUri] string fields) { //TODO:: Searchbase is niet proper als body, moet appart model worden ooit try { if (model == null) { return(BadRequest("Model not found")); } if (ModelState.IsValid) { var entities = await EntityReader.Filter(model, fields.Split(',')); var models = Mapper.Map <IEnumerable <TModel> >(entities); return(Ok(models)); } else { return(BadRequest(ModelState)); } } catch (Exception ex) { return(InternalServerError(ex)); } }
public async Task <IHttpActionResult> GetInfo([FromBody] SearchBase <Gebruiker> model) { try { if (User?.Identity == null) { return(Unauthorized()); } if (!User.Identity.IsAuthenticated) { return(Unauthorized()); } var currentUser = await EntityReader.Filter(g => g.Email == User.Identity.Name, nameof(Gebruiker.Verantwoordelijke)); return(Ok(Mapper.Map <GebruikerModel>(currentUser.FirstOrDefault()))); } catch (Exception ex) { return(InternalServerError(ex)); } }
public override async Task <IHttpActionResult> Get([FromUri] string fields) { try { IEnumerable <Issue> entities = null; var userName = User.Identity.Name; if (User.IsInRole(Rol.Administrator)) { entities = await EntityReader.GetAllAsync(fields.Split(',')); } else if (User.IsInRole(Rol.Manager)) { entities = await EntityReader.Filter(e => e.Gebruiker.Email == userName || e.Gebruiker.Verantwoordelijke.Email == userName, fields.Split(',')); } else if (User.IsInRole(Rol.Dispatcher)) { entities = await EntityReader.Filter(e => e.Gebruiker.Email == userName || (e.IssueStatussen.OrderByDescending(x => x.CreationDate).FirstOrDefault().Solver.Email == userName) || e.IssueStatussen.OrderByDescending(x => x.CreationDate).FirstOrDefault().StatusBeschrijving == IssueStatusBeschrijving.Geweigerd || e.IssueStatussen.OrderByDescending(x => x.CreationDate).FirstOrDefault().StatusBeschrijving == IssueStatusBeschrijving.Nieuw, fields.Split(',')); } else if (User.IsInRole(Rol.Solver)) { entities = await EntityReader.Filter(e => e.Gebruiker.Email == userName || (e.IssueStatussen.OrderByDescending(x => x.CreationDate).FirstOrDefault().Solver.Email == userName), fields.Split(',')); } else if (User.IsInRole(Rol.Gebruiker)) { entities = await EntityReader.Filter(e => e.Gebruiker.Email == userName, fields.Split(',')); } return(Ok(Mapper.Map <IEnumerable <IssueModel> >(entities))); } catch (Exception ex) { return(InternalServerError(ex)); } }