Пример #1
0
        public async Task <bool> Do_MatricularEstudiante(int estId,
                                                         AddEstudianteViewModel model)
        {
            try
            {
                var curso = await _data.Find_Curso(model.CursoId);

                var estudiante = await _data.Find_Estudiante(estId);

                _data.Do_MatricularEstudiante(curso, estudiante,
                                              model.Map(curso.Id, estudiante.Id), model.Password);

                if (!await _data.SaveAllAsync())
                {
                    throw new ApplicationServicesException(
                              "Lo sentimos, la contraseña es inválida");
                }

                return(true);
            }
            catch (Exception)
            {
                throw  new ApplicationServicesException(
                          "Contraseña inválida");
            }
        }
Пример #2
0
        public async Task <ApiResult <bool> > Do_MatricularEstudiante(int estId,
                                                                      AddEstudianteViewModel model)
        {
            var result = ApiResult <bool> .Initialize(true);

            try
            {
                var curso = await _data.Find_Curso(model.CursoId);

                var estudiante = await _data.Find_Estudiante(estId);

                var dataModel = model.Map(curso.Id, estudiante.Id);
                _data.Do_MatricularEstudiante(curso, estudiante,
                                              ref dataModel, model.Password);
                result.Success = await _data.SaveAllAsync();

                if (!result.Success)
                {
                    result.AddError("password", "Lo sentimos, la contraseña es inválida.");
                }

                return(result);
            }
            catch (Exception e)
            {
                //TODO: Log exception.
                result.AddError("", "El estudiante ya se ha matriculado en el curso.");
                result.Success = false;
                return(result);
            }
        }
Пример #3
0
 public async Task <IActionResult> EnrollStudent([FromBody] AddEstudianteViewModel model)
 {
     return(await this.Get(async() =>
     {
         var estId = _userService.Get_EstudianteId(User.Claims);
         return await _estudianteService.Do_MatricularEstudiante(estId, model);
     }));
 }
        public async Task <IActionResult> AddEstudiante(
            AddEstudianteViewModel model)
        {
            if (ModelState.IsValid)
            {
                var id = _usrService.Get_EstudianteId(User.Claims);
                try
                {
                    var res = await _ctrlService
                              .Do_MatricularEstudiante(id, model);

                    if (res)
                    {
                        return(RedirectToAction("Index"));
                    }
                }
                catch (ApplicationServicesException e)
                {
                    this.SetAlerts("error-alerts", e.Message);
                }
            }
            return(RedirectToAction("Busqueda"));
        }