public override bool Validar() { ValidationResult result = new CursoValidator().Validate(CursoActual); if (!result.IsValid) { string notificacion = string.Join(Environment.NewLine, result.Errors); MessageBox.Show(notificacion); return(false); } return(true); }
public PadraoResult <Curso> CadastrarCurso(Curso curso) { var validator = new CursoValidator(); var valida = validator.Valida(curso); var result = new PadraoResult <Curso>(); if (!valida.IsValid) { result.Error = true; result.Message = valida.Erros; result.Status = HttpStatusCode.BadRequest; return(result); } try { using (db) { foreach (var item in db.Cursos) { if (item.Nome == curso.Nome) { result.Error = true; result.Message.Add($"O nome {curso.Nome} já esta cadastrado"); result.Status = HttpStatusCode.BadRequest; return(result); } } db.Cursos.Add(curso); db.SaveChanges(); result.Error = false; result.Status = HttpStatusCode.OK; result.Data = db.Cursos.ToList(); return(result); } } catch (Exception e) { result.Error = true; result.Message.Add(e.Message); return(result); } }
/// <summary> /// Inicia uma nova instância da classe <see cref="GestUAB.Modules.CursoModule"/> class. /// </summary> public CursoModule() : base("/cursos") { this.Get["/"] = _ => { return View["index", CursoManager.GetAll()]; }; this.Get["/{Id}"] = x => { Guid id = Guid.Parse(x.Id); var m = CursoManager.Get(id); if (m == null) { return new NotFoundResponse(); } return View["show", m]; }; this.Get["/new"] = x => { return View["new", new Curso()]; }; this.Post["/new"] = x => { var curso = this.Bind<Curso>(); var result = new CursoValidator().Validate(curso); if (!result.IsValid) { return Response.AsJson(result.Errors) .WithStatusCode(HttpStatusCode.BadRequest) .WithHeader("X-Status-Reason", "A validação falhou.".ToHtmlEncode()); } curso.Setor = SetorManager.Get(Guid.Parse(Request.Form["Setor"])); CursoManager.Insert(curso); return Response.AsJson("Redirecionando para a página do curso", HttpStatusCode.Created) .WithHeader("Location", string.Format("/cursos/{0}", curso.Id)); }; this.Get["/edit/{Id}"] = x => { Guid id = Guid.Parse(x.Id); var curso = CursoManager.Get(id); if (curso == null) { return new NotFoundResponse(); } return View["edit", curso]; }; this.Put["/edit/{Id}"] = x => { var curso = this.Bind<Curso>(); var result = new CursoValidator().Validate(curso, ruleSet: "Update"); if (!result.IsValid) { return Response.AsJson(result.Errors, HttpStatusCode.BadRequest) .WithHeader("X-Status-Reason", "A validação falhou.".ToHtmlEncode()); } if (CursoManager.Update(curso)) { return Response.AsJson("Redirecionando para a página do curso", HttpStatusCode.Accepted) .WithHeader("Location", string.Format("/cursos/{0}", curso.Id)); } return Response.AsJson("Ocorreu um erro ao atualizar o curso.") .WithHeader("X-Status-Reason", "Ocorreu um erro ao atualizar o curso."); }; this.Delete["/delete/{Id}"] = x => { Guid id = Guid.Parse(x.Id); if (CursoManager.Delete(id)) { return Response.AsJson("Redirecionando para a página a lista de cursos.\t", HttpStatusCode.NoContent) .WithHeader("Location", string.Format("/cursos")); } return Response.AsJson("Ocorreu um erro ao excluir o curso.") .WithHeader("X-Status-Reason", "Ocorreu um erro ao excluir o curso."); }; }