コード例 #1
0
        public CrearProfesorModel ObtenerModeloCrearProfesor()
        {
            var diccionarioEmpresas = MostrarListadoEmpresas();
            var model = new CrearProfesorModel
            {
                Empresas             = diccionarioEmpresas,
                IdEmpresaSeleccionda = Guid.Empty
            };

            return(model);
        }
コード例 #2
0
        private bool ValidateModel(CrearProfesorModel model, out string error)
        {
            error = string.Empty;
            if (model.IdEmpresaSeleccionda != Guid.Empty && !string.IsNullOrWhiteSpace(model.NombreEmpresa))
            {
                error = "No introduzca nombre si ha escogido una empresa existente";
                return(false);
            }

            if (_contexto.EmpresasProfesor.Any(x => x.Nombre == model.NombreEmpresa))
            {
                error = "Esta empresa ya existe";
                return(false);
            }

            return(true);
        }
コード例 #3
0
        //Retorna Guid para redirigir a detalles profesor tras creación
        public Guid InsertarProfesor(CrearProfesorModel model)
        {
            if (ValidateModel(model, out string error))
            {
                Profesor profesor;
                if ((model.IdEmpresaSeleccionda == null || model.IdEmpresaSeleccionda == Guid.Empty) && (!string.IsNullOrWhiteSpace(model.NombreEmpresa)))
                {
                    var empresa = new EmpresaProfesor
                    {
                        Id     = Guid.NewGuid(),
                        Nombre = model.NombreEmpresa
                    };
                    profesor = new Profesor
                    {
                        Id              = Guid.NewGuid(),
                        Nombre          = model.Nombre,
                        EmpresaProfesor = empresa,
                        FechaDeAlta     = DateTime.Now,
                    };
                }
                else
                {
                    profesor = new Profesor
                    {
                        Id                = Guid.NewGuid(),
                        Nombre            = model.Nombre,
                        IdEmpresaProfesor = model.IdEmpresaSeleccionda == Guid.Empty ? null : (Guid?)model.IdEmpresaSeleccionda,
                        FechaDeAlta       = DateTime.Now
                    };
                }

                _contexto.Add(profesor);
                _contexto.SaveChanges();
                return(profesor.Id);
            }
            else
            {
                throw new ValidationException(error);
            }
        }
コード例 #4
0
        public IActionResult CrearProfesor(CrearProfesorModel model)
        {
            try
            {
                var idProfesor = _repositorio.InsertarProfesor(model);
                return(RedirectToAction("DetallesProfesor", new { idProfesor }));
            }

            catch (ValidationException vex)
            {
                model.Empresas = _repositorio.ObtenerListadoEmpresas();
                model.Mensaje  = vex.ToString();
                return(View(model));
            }

            catch
            {
                model.Empresas = _repositorio.ObtenerListadoEmpresas();
                model.Mensaje  = "¡Ha ocurrido un error inesperado! Estamos trabajando en ello";
                return(View(model));
            }
        }