public void Edit(string id, bool newValue) { string message = "<b>Campo:</b> {0}<br /><b>Valor:</b> {1}<br /><b>Valor anterior:</b> {2}"; ParticipanteBusiness.ActualizarPagado(id, newValue); // Send Message... X.Msg.Notify(new NotificationConfig() { Title = "Registro modificado #" + id, Html = string.Format(message, "Pagado", newValue, !newValue), Width = 250, HideDelay = 10000 }).Show(); gpAdminRegistro.GetStore().GetById(id).Commit(); }
/// <summary> /// Evento de clic del Botón Registrar /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void imgbtnRegistrar_Click(object sender, DirectEventArgs e) { try { //1. Obtener datos de la Forma string strRegistro = e.ExtraParams["registro"]; string strEdad = e.ExtraParams["edad"]; strEdad = strEdad.Split(' ')[0]; byte iEdad = Convert.ToByte(strEdad.Substring(1)); Dictionary <string, string> dRegistro = JSON.Deserialize <Dictionary <string, string> >(strRegistro); //2. Inicializar los objetos Participante oParticipante = new Participante(); oParticipante.Edad = iEdad; Empresa oEmpresa = new Empresa(); Respuestas oRespuestas = new Respuestas(); //3. Por cada elemento del submit de la Forma detectar el campo y asignarlo al objeto correspondiente foreach (KeyValuePair <string, string> sd in dRegistro) { switch (sd.Key) { //4. Para los Participantes case "txtfNombre": oParticipante.Nombre = sd.Value; break; case "txtfAPaterno": oParticipante.APaterno = sd.Value; break; case "txtfAMaterno": oParticipante.AMaterno = sd.Value; break; case "cmbEstado": oParticipante.Estado = sd.Value; break; case "txtfCiudad": oParticipante.Ciudad = sd.Value; break; case "dfFechaNacimiento": oParticipante.FechaNacimiento = Convert.ToDateTime(sd.Value); break; case "txtfEdad": oParticipante.Edad = Convert.ToByte(sd.Value); break; case "txtfTelefono": oParticipante.Telefono = sd.Value; break; case "txtfTelefonoMovil": oParticipante.Celular = sd.Value; break; case "txtfCorreo": oParticipante.Email = sd.Value; break; case "cmbSexo": oParticipante.Genero = sd.Value; break; case "cmbTipoParticipante": oParticipante.TipoParticipante = Convert.ToByte(sd.Value); break; case "cmbRequiereFactura": oParticipante.Factura = Convert.ToBoolean(Convert.ToByte(sd.Value)); break; case "txtOtro": oParticipante.OtroTipoParticipante = sd.Value; break; case "txtNombreEmpresa": oParticipante.NombreEmpresa = sd.Value; break; case "txtPuesto": oParticipante.Puesto = sd.Value; break; case "txtArea": oParticipante.Area = sd.Value; break; //5. Para cuando quiere Factura case "txtEmpresa": oEmpresa.Nombre = sd.Value; break; case "txtfRFC": oEmpresa.RFC = sd.Value; break; case "txtfCalle": oEmpresa.Calle = sd.Value; break; case "txtfNoExt": oEmpresa.NoExt = sd.Value; break; case "txtNoInt": oEmpresa.NoInt = sd.Value; break; case "txtfColonia": oEmpresa.Colonia = sd.Value; break; case "txtfCP": oEmpresa.CP = Convert.ToInt32(sd.Value); break; case "cmbEstadoEmpresa": oEmpresa.Estado = sd.Value; break; case "txtfCiudadEmpresa": oEmpresa.Ciudad = sd.Value; break; case "txtfTelefonoEmpresa": oEmpresa.Telefono = sd.Value; break; case "txtfCorreoEmpresa": oEmpresa.Email = sd.Value; break; //6. Para las respuestas de las preguntas case "txtfPregunta01": oRespuestas.Respuesta01 = sd.Value; break; case "cmbPregunta02": oRespuestas.Respuesta02 = Convert.ToBoolean(Convert.ToByte(sd.Value)); break; case "cmbPregunta03": oRespuestas.Respuesta03 = Convert.ToBoolean(Convert.ToByte(sd.Value)); break; case "txtfPregunta04": oRespuestas.Respuesta04 = sd.Value; break; case "cmbPregunta05": oRespuestas.Respuesta05 = Convert.ToByte(sd.Value); break; } } //7. Validar cuando requiere factura se asigna el ID de la Empresa al Participante if (oParticipante.Factura) { //8. Insertar los datos de la empresa oEmpresa.ID = EmpresaBusiness.Insertar(oEmpresa); oParticipante.Empresa = oEmpresa.ID; } //9. Valida si es de MICHOACAN será gratis la entrada Pagado = true if (oParticipante.Estado.Equals("MICHOACAN")) { oParticipante.Pagado = true; } //10. Insertar el participante y sus respuestas oParticipante.ID = ParticipanteBusiness.Insertar(oParticipante); oRespuestas.Participante = oParticipante.ID; oRespuestas.ID = RespuestasBusiness.Insertar(oRespuestas); //11. Mandar mensaje con el código del participante var success = new JFunction { Fn = "btnRegistrar_Click_Success" }; X.Msg.Alert("Registro completo", "<p align='center'>Has sido registrado satisfactoriamente con el código de participante <br/>" + oParticipante.ID + ".</p>", success).Show(); //12. Mandar código por correo si ha capturado if (oParticipante.Email.Length > 0) { SmtpClient servidorDeCorreo = new SmtpClient("smtp.1and1.com", 25); servidorDeCorreo.EnableSsl = false; servidorDeCorreo.Credentials = new NetworkCredential("*****@*****.**", "N8csmh3v"); MailMessage mailmsgMensaje = new MailMessage("*****@*****.**", oParticipante.Email, "Registro a convención mundial del Chile", "Tu código de participante es: " + oParticipante.ID); servidorDeCorreo.Send(mailmsgMensaje); } } catch (Exception ex) { X.Msg.Alert("Error", "<p align='center'>Se ha producido un error: <br/>" + ex.Message + ".</p>").Show(); } }