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));
        }
Пример #2
0
        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));
        }