public bool NuevoProveedor(string rut, string clave, string nombre, string email, string telefono, bool vip) { bool result = false; int i; //La clave debe tener entre 8 y 15 caracteres, tener al menos un numero, una letra minuscula y una letra mayuscula Regex regexPass = new Regex(@"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,15}$"); Regex regexEmail = new Regex(@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$"); if (int.TryParse(rut, out i) && regexEmail.IsMatch(email) && int.TryParse(telefono, out i) && regexPass.IsMatch(clave)) { Usuario usu = new Usuario(rut, clave, Rol.Proveedor); usu.Insertar(); if (vip) { Proveedor_Vip prov = new Proveedor_Vip(rut, nombre, email, telefono, null); result = prov.Insertar(); } else { Proveedor_Comun prov = new Proveedor_Comun(rut, nombre, email, telefono, null); result = prov.Insertar(); } } return(result); }
protected void btnRegistro_Click(object sender, EventArgs e) { Page.Validate(); if (Page.IsValid) { string rut = txtRut.Text; string clave = txtClave.Text; string nombre = txtNombre.Text; string email = txtEmail.Text; string tel = txtTel.Text; Usuario user = new Usuario(rut, Usuario.HashPassword(clave), Rol.Proveedor); Proveedor prov; List <Servicio> serviciosProv = new List <Servicio>(); foreach (GridViewRow row in grvServicios.Rows) { if (((CheckBox)row.FindControl("ChkSelect")).Checked) { int id; if (int.TryParse(row.Cells[1].Text, out id)) { Servicio s = Servicio.EncuentraServicio(id); if (s != null) { serviciosProv.Add(s); } } } } if (chkVip.Checked) { prov = new Proveedor_Vip(rut, nombre, email, tel, serviciosProv); } else { prov = new Proveedor_Comun(rut, nombre, email, tel, serviciosProv); } if (Usuario.ValidarClave(clave) && prov.Validar()) { if (user.Insertar() && prov.Insertar()) { lblResultado.Text = "El proveedor ha sido registrado exitosamente"; } else { lblResultado.Text = "Ha occurrido un error, verifique sus datos por favor"; } } else { lblResultado.Text = "Ha occurrido un error, verifique sus datos por favor"; } } else { lblResultado.Text = "Ha occurrido un error, verifique sus datos por favor"; } }
public bool NuevoProveedor(string rut, string clave, string nombre, string email, string telefono, bool vip, List <int> intServicios) { bool result = false; int i; //La clave debe tener entre 8 y 15 caracteres, tener al menos un numero, una letra minuscula y una letra mayuscula Regex regexEmail = new Regex(@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$"); bool notnull = rut != null && clave != null && nombre != null && telefono != null && intServicios != null; if (notnull && regexEmail.IsMatch(email) && int.TryParse(telefono, out i) && Usuario.ValidarClave(clave)) { Usuario usu = new Usuario(rut, Usuario.HashPassword(clave), Rol.Proveedor); List <Servicio> servicios = new List <Servicio>(); bool serviciosExisten = true; i = 0; int end = intServicios.Count - 1; while (i < end && serviciosExisten) { int dtoS = intServicios[i]; Servicio s = Servicio.EncuentraServicio(dtoS); if (s != null) { servicios.Add(s); i++; } else { serviciosExisten = false; } } Proveedor prov = null; if (vip) { prov = new Proveedor_Vip(rut, nombre, email, telefono, servicios); } else { prov = new Proveedor_Comun(rut, nombre, email, telefono, servicios); } result = serviciosExisten && usu.Insertar() && prov.Insertar(); } return(result); }