-
Notifications
You must be signed in to change notification settings - Fork 0
/
frmAltaPokemon.cs
152 lines (129 loc) · 4.69 KB
/
frmAltaPokemon.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using dominio;
using negocio;
using System.Configuration;
namespace ejemplos_ado_net
{
public partial class frmAltaPokemon : Form
{
private Pokemon pokemon = null;
OpenFileDialog archivo = null;
//pasaje de parametros entre ventanas
public frmAltaPokemon()
{
InitializeComponent();
}
public frmAltaPokemon(Pokemon pokemon) {
InitializeComponent();
this.pokemon = pokemon;
Text = "Modificar Pokemon";
}
private void btnAceptar_Click(object sender, EventArgs e)
{
//Pokemon poke = new Pokemon();
PokemonNegocio negocio = new PokemonNegocio();
try
{
if (pokemon == null)
pokemon = new Pokemon();
pokemon.Numero = int.Parse(txtNumero.Text);
pokemon.Nombre = txtNombre.Text;
pokemon.Descripcion = txtDescripcion.Text;
pokemon.UrlImagen = txtUrlImagen.Text;
pokemon.Tipo = (Elemento)cboTipo.SelectedItem;
pokemon.Debilidad = (Elemento)cboDebilidad.SelectedItem;
//leo el elemento seleccionado y lo transformo a Elemento
if (pokemon.Id != 0)
{
negocio.modificar(pokemon);
MessageBox.Show("Modificado exitosamente");
}
else
{
negocio.agregar(pokemon);
MessageBox.Show("Agregado exitosamente");
}
// Guardo imagen si la levantó localmente:
if (archivo != null && !(txtUrlImagen.Text.ToUpper().Contains("HTTP")))
{
File.Copy(archivo.FileName, ConfigurationManager.AppSettings["images-folder"] + archivo.SafeFileName);
}
Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
private void btnCancelar_Click(object sender, EventArgs e)
{
//this.Close();
Close();
}
private void frmAltaPokemon_Load(object sender, EventArgs e)
{
ElementoNegocio elementoNegocio = new ElementoNegocio();
try
{
cboTipo.DataSource = elementoNegocio.listar();
cboTipo.ValueMember = "id";
cboTipo.DisplayMember = "Descripcion";
cboDebilidad.DataSource = elementoNegocio.listar();
cboDebilidad.ValueMember = "Id";
cboDebilidad.DisplayMember = "Descripcion";
if (pokemon != null)
//hay un pokemon para modificar, hay que precargarlo haciendo lo que sigue
{
txtNumero.Text = pokemon.Numero.ToString();
txtNombre.Text = pokemon.Nombre;
txtDescripcion.Text = pokemon.Descripcion;
txtUrlImagen.Text = pokemon.UrlImagen;
cargarImagen(pokemon.UrlImagen);
cboTipo.SelectedValue = pokemon.Tipo.Id;
cboDebilidad.SelectedValue = pokemon.Debilidad.Id;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
throw;
}
}
private void txtUrlImagen_Leave(object sender, EventArgs e)
{
cargarImagen(txtUrlImagen.Text);
}
private void cargarImagen(string imagen)
{
try
{
pbxPokemon.Load(imagen);
}
catch (Exception ex)
{
pbxPokemon.Load("https://uning.es/wp-content/uploads/2016/08/ef3-placeholder-image.jpg");
}
}
private void btnAgregarImagen_Click(object sender, EventArgs e)
{
archivo = new OpenFileDialog();
archivo.Filter = "jpg |*.jpg |png |*.png";
if (archivo.ShowDialog() == DialogResult.OK) {
// Guarda la ruta completa del archivo
txtUrlImagen.Text = archivo.FileName;
cargarImagen(archivo.FileName);
// Guardo la imagen
// File.Copy(archivo.FileName, ConfigurationManager.AppSettings["images-folder"] + archivo.SafeFileName);
}
}
}
}