public async Task <ActionResult <BLL.ViewModels.Form> > PostForm(PostFormModel formModel)
        {
            if (string.IsNullOrEmpty(formModel.name))
            {
                return(BadRequest());
            }
            var userId = User.Claims.First(c => c.Type == "UserID").Value;

            if (userId == null)
            {
                return(NotFound());
            }
            var form = _mapper.Map <PostFormModel, BLL.ViewModels.Form>(formModel);

            form.Url = Hash(DateTime.Now + formModel.name);
            form     = await _formDomain.Create(form);

            var userForm = new BLL.ViewModels.User_form
            {
                Form_id  = form.Id,
                User_id  = userId,
                Can_edit = true
            };

            await new User_form(_config).Create(userForm);

            return(Ok());
        }
        public async Task <IActionResult> PutForm(PostFormModel formModel)
        {
            if (string.IsNullOrEmpty(formModel.name))
            {
                return(BadRequest());
            }
            var userId = User.Claims.First(c => c.Type == "UserID").Value;

            if (userId == null)
            {
                return(NotFound());
            }
            var form = await _formDomain.Get(formModel.url);

            if (form == null)
            {
                return(NotFound());
            }
            var uf = await _userFormDomain.Get(userId, form.Id);

            if (uf == null)
            {
                return(NotFound());
            }
            if (!uf.Can_edit)
            {
                return(BadRequest());
            }

            var formNew = _mapper.Map <BLL.ViewModels.Form>(formModel);
            await _formDomain.Update(formNew);

            (await _userFormDomain.Get(form.Id)).ForAll(usf => _userFormDomain.Delete(usf.Id));
            var userForm = new BLL.ViewModels.User_form
            {
                Form_id  = form.Id,
                User_id  = userId,
                Can_edit = true
            };

            await new User_form(_config).Create(userForm);
            return(Ok());
        }
示例#3
0
        public async Task <ActionResult <AnswerModel> > PostAnswer(AnswerModel answer)
        {
            var uf = new BLL.ViewModels.User_form();

            uf.User_id = User.Claims.First(c => c.Type == "UserID").Value;
            if (uf.User_id == null)
            {
                return(NotFound());
            }
            var form = await _formDomain.Get(answer.FormUrl);

            if (form == null)
            {
                return(NotFound());
            }
            uf.Form_id = form.Id;

            uf.AnswerDate = answer.AnswerDate;

            uf.jsonAnswer = answer.jAnswer;
            await _userFormDomain.Create(uf);

            return(Ok());
        }