public ViewModelArbitrosCampos()
 {
     Campos        = new Campos();
     ItemsCampos   = Campos.GetCampos();
     Arbitros      = new Arbitros();
     ItemsArbitros = Arbitros.GetArbitros();
     IsReadOnly    = true;
 }
        public async Task <IActionResult> Editar(int id, [Bind("Cedula, Nombre, Apellido, Direccion, Pais, Telefono, CorreoElectronico, NombreArchivo")] Arbitros arbitros)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                string path = $"{Directory.GetCurrentDirectory()}{@"\wwwroot\images\TempFotos"}";

                Arbitros entidad = _context.Arbitros.Find(id);

                entidad.Cedula            = arbitros.Cedula.Trim();
                entidad.Nombre            = arbitros.Nombre.Trim();
                entidad.Apellido          = arbitros.Apellido.Trim();
                entidad.Direccion         = arbitros.Direccion.Trim();
                entidad.Pais              = arbitros.Pais.Trim();
                entidad.Telefono          = arbitros.Telefono;
                entidad.CorreoElectronico = arbitros.CorreoElectronico.Trim();

                if (!string.IsNullOrWhiteSpace(arbitros.NombreArchivo))
                {
                    if (System.IO.File.Exists(path + "\\" + arbitros.NombreArchivo))
                    {
                        entidad.Foto = FormateadorImagen.CambiarTamanio(path + "\\" + arbitros.NombreArchivo, 275, 350);
                    }
                }
                _context.Arbitros.Update(entidad);
                await _context.SaveChangesAsync();

                // Al final de la modificación eliminamos el archivo
                if (!string.IsNullOrWhiteSpace(arbitros.NombreArchivo))
                {
                    System.IO.File.Delete(path + "\\" + arbitros.NombreArchivo);
                }
            }
            catch (DbUpdateConcurrencyException ex)
            {
                string errMsg = FormateadorCadenas.ObtenerMensajesErrores(ex);
                return(BadRequest(errMsg));
            }
            catch (Exception ex)
            {
                string errMsg = FormateadorCadenas.ObtenerMensajesErrores(ex);
                return(BadRequest(errMsg));
            }

            return(Ok("Registro Actualizado"));
        }
        public async Task <IActionResult> Crear([Bind("Cedula, Nombre, Apellido, Direccion, Pais, Telefono, CorreoElectronico, NombreArchivo")] Arbitros arbitros)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                string path = $"{Directory.GetCurrentDirectory()}{@"\wwwroot\images\TempFotos"}";

                Arbitros entidad = new Arbitros
                {
                    Cedula            = arbitros.Cedula.Trim(),
                    Nombre            = arbitros.Nombre.Trim(),
                    Apellido          = arbitros.Apellido.Trim(),
                    Direccion         = arbitros.Direccion.Trim(),
                    Pais              = arbitros.Pais.Trim(),
                    Telefono          = arbitros.Telefono,
                    CorreoElectronico = arbitros.CorreoElectronico.Trim(),
                    Foto              = string.IsNullOrWhiteSpace(arbitros.NombreArchivo) == false?FormateadorImagen.CambiarTamanio(path + "\\" + arbitros.NombreArchivo, 275, 350) : null,

                                            //Valores fijos
                                            Estado = true
                };

                _context.Arbitros.Add(entidad);
                await _context.SaveChangesAsync();

                if (!string.IsNullOrWhiteSpace(arbitros.NombreArchivo))
                {
                    System.IO.File.Delete(path + "\\" + arbitros.NombreArchivo);
                }
            }
            catch (DbUpdateConcurrencyException ex)
            {
                string errMsg = FormateadorCadenas.ObtenerMensajesErrores(ex);
                return(BadRequest(errMsg));
            }
            catch (Exception ex)
            {
                string errMsg = FormateadorCadenas.ObtenerMensajesErrores(ex);
                return(BadRequest(errMsg));
            }

            return(Ok(arbitros));
        }
        public async Task <IActionResult> Eliminar(int id)
        {
            try
            {
                Arbitros entidad = _context.Arbitros.Find(id);

                entidad.Estado = !entidad.Estado;

                _context.Arbitros.Update(entidad);
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                string errMsg = FormateadorCadenas.ObtenerMensajesErrores(ex);
                return(BadRequest(errMsg));
            }
            catch (Exception ex)
            {
                string errMsg = FormateadorCadenas.ObtenerMensajesErrores(ex);
                return(BadRequest(errMsg));
            }

            return(Ok());
        }
 public ViewModelNuevoArbitro()
 {
     Arbitros = new Arbitros();
 }