示例#1
0
        public ActionResult RegisterPostulant([FromBody] PostulantCreateDTO postulantCreateDTO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new
                {
                    Message = "La informacion de registro del proyecto son invalidos.",
                    ErrorsCount = ModelState.ErrorCount,
                    Errors = ModelState.Select(x => x.Value.Errors)
                }));
            }

            var newPostulant = _mapper.Map <Postulant>(postulantCreateDTO);

            if (newPostulant == null)
            {
                return(BadRequest(new { Error = "No se enviaron los datos esperados." }));
            }

            var repuesta = this._appDBContext.Postulants.Add(newPostulant);

            this._appDBContext.SaveChanges();

            var postulantsModel = this._mapper.Map <PostulantResponseDTO>(repuesta.Entity);

            return(Ok(new
            {
                Message = "OK",
                Result = postulantsModel
            }));
        }
示例#2
0
        public async Task <IActionResult> PostPostulants(string projectId)
        {
            var userCredentials = GetUserCredentials();

            var newPostulant = new PostulantCreateDTO
            {
                ProjectId = Guid.Parse(projectId),
                UserId    = userCredentials.Id
            };

            var repuesta = await CallApiPOSTAsync <PostulantCreateDTO>(uri : "/api/postulants/", body : newPostulant, isSecured : true);

            if (repuesta.Equals(null))
            {
                ViewBag.ErrorMesseger = "Error al Postularse. \n Intentelo nuevamente.";

                return(RedirectToAction("Index", new { projectId = projectId }));
            }

            return(RedirectToAction("Index", new { projectId = projectId }));
        }