public ActionResult NewRequirement(RequirementCreateModel model)
        {
            if (ModelState.IsValid)
            {
                using (var ctx = new Entities())
                {
                    model.Tag = Utils.Tagify(model.Summary);
                    int cellID = RouteData.Values["cell"].GetCellID();

                    if (ctx.TagExists(RequirementTypes.Requirement, cellID, null, model.Tag))
                    {
                        Warning("Já existe um requisito com este nome!");
                    }
                    else
                    {
                        int userID = Authentication.GetLoggedUser().UserID;
                        int ret    = ctx.SaveRequirement(RequirementTypes.Requirement, cellID, null, userID, model.Message, model.Tag, model.Summary, model.Text, model.StoryId);

                        if (ret != 0)
                        {
                            Success("Requisito inserido com sucesso!");
                            return(RedirectToRoute("Details", new { @cell = RouteData.Values["cell"], @controller = "Requirements", @tag = model.Tag, @action = "Details" }));
                        }
                        else
                        {
                            Error("Erro ao tentar inserir o novo requisito!");
                        }
                    }
                }
            }
            else
            {
                Warning("Preencha o formulário corretamente!");
            }

            NewRequirementModel edit = new NewRequirementModel(model);

            RouteData.Values["title"] = edit.Story.Summary;
            return(View(edit));
        }
Beispiel #2
0
        public async Task <IActionResult> AddRequirement(RequirementCreateModel model)
        {
            if (ModelState.IsValid)
            {
                var cmd    = new AddRequirementCommand(model.VacancyId, model.ClientId, model.SkillType, model.RequirementType, model.Content);
                var result = await _mediator.Send(cmd);

                if (result.IsFailure)
                {
                    ViewBag.Notify = result.Error; // todo: toastr
                }
            }

            if (model.VacancyId != Guid.Empty)
            {
                return(RedirectToAction(nameof(ClientController.Requirements), new { client = model.ClientId, vacancy = model.VacancyId }));
            }
            else
            {
                return(RedirectToAction(nameof(ClientController.Index)));
            }
        }