public override async Task <ActionResult <Entities.Form> > Post(Entities.Form entity) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!JWTTokenDeserializer.IsValidPCSSuperUser(this.HttpContext.Request.Headers["Authorization"].ToString())) { return(new StatusCodeResult(StatusCodes.Status401Unauthorized));; } //link form validation schema if any if (entity.ValidationSchema != null) { entity.ValidationSchema.Id = Guid.NewGuid().ToString(); entity.ValidationSchema.FormId = entity.Id; } //validate entity //var schemaName = typeof(Entities.Form).Name; //var schema = _mgSurveyDbContext.ValidationSchemas.FirstOrDefault(s => s.Name == schemaName || s.Code == schemaName); _mgSurveyDbContext.Forms.Add(entity); await _mgSurveyDbContext.SaveChangesAsync(); return(Ok(entity)); }
public override async Task <ActionResult <Entities.SurveyResponse> > Post(Entities.SurveyResponse entity) { var appName = Convert.ToString(Request.Headers["AppName"]); var key = Convert.ToString(Request.Headers["AppKey"]); var user = Convert.ToString(Request.Headers["UserName"]); var type = _mgSurveyDbContext.FormTypes.FirstOrDefault(t => t.Name.ToLower() == appName.ToLower() && t.SecretKey.ToLower() == key.ToLower()); if (type == null) { return(BadRequest()); } if (JWTTokenDeserializer.IsValidPCSSuperUser(this.HttpContext.Request.Headers["Authorization"].ToString())) { return(new StatusCodeResult(StatusCodes.Status401Unauthorized)); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _mgSurveyDbContext.SurveyResponses.Add(entity); await _mgSurveyDbContext.SaveChangesAsync(); return(Ok(entity)); // }
public virtual async Task <ActionResult <TEntity> > Post(TEntity entity) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //validate entity var schemaName = typeof(TEntity).Name; var schema = _mgSurveyDbContext.ValidationSchemas.FirstOrDefault(); var validationErrors = _schemaValidatorService.Validate <TEntity>(entity, schema); if (validationErrors != null && validationErrors.Count > 0) { return(BadRequest(validationErrors)); } _mgSurveyDbContext.Context.Set <TEntity>().Add(entity); await _mgSurveyDbContext.SaveChangesAsync(); return(Ok(entity)); }