private static Estado GetFromDataReader(SqlDataReader reader) { try { var i = new Estado(); i.Id = i.Id32 = Convert.ToInt32(reader["id"]);//num solicitud i.Nombre = reader["nombre"].ToString(); i.Activo = Convert.ToBoolean(reader["activo"]); return i; } catch (Exception ex) { Log.EscribirLog(ex.Message); //throw; return null; } }
private void btnGuardarComentario_Click(object sender, EventArgs e) { var exito = true; Estado Estado = new Estado(); //Valida Datos Obligatorios if (this.cboEstado.SelectedItem == null || this.cboEstado.SelectedIndex < 0) { ctrldxError.SetError(this.cboEstado, "Debe Seleccionar un Tipo de Comentario", ErrorType.Critical); return; } else { ctrldxError.SetError(cboEstado, "", ErrorType.None); } if (txtComentario.Text == "") { ctrldxError.SetError(txtComentario, "Debe Ingresar un Comentario", ErrorType.Critical); return; } else { ctrldxError.SetError(this.txtComentario, "", ErrorType.None); } Cursor.Current = Cursors.WaitCursor; if (!ctrldxError.HasErrors) { ResultadoTransaccion resultado = new ResultadoTransaccion(); var comentario = new Comentario { EsHistorial = false, Observacion = txtComentario.Text, Usuario = Base.Usuario.UsuarioConectado.Usuario }; var cotizacion = GetSelectedRow(gridViewSLeads); resultado = ClsComentario.GuardarMensaje(cotizacion, comentario); var comentarios = gridComentarios.DataSource as List<Comentario>; /*emailInformeFijo = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailInformeFijo"); emailInformeFcl = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailInformeFCL"); */ var mailFijo = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailInformeFijo"); var xmldoc = new XmlDocument(); xmldoc.Load(Path.Combine(Application.StartupPath, @"Cotizaciones\CotizacionSetting.xml")); var mailFCL = xmldoc.SelectSingleNode("/setting/cotizacionDirecta/notificaciones/FCL").InnerText; mailFijo = mailFijo + ";" + mailFCL; var listMail = new List<String>(); foreach (var mail in mailFijo.Split(';')) { if (!listMail.Contains(mail)) listMail.Add(mail); } foreach (var c in comentarios) { if (!listMail.Contains(c.Usuario.Email)) listMail.Add(c.Usuario.Email); } var cot = ClsCotizacionDirecta.ObtieneCotizacionDirecta(cotizacion.Id32).ObjetoTransaccion as CotizacionDirecta; if (!listMail.Contains(cot.Usuario.Email)) listMail.Add(cot.Usuario.Email); var subjectComenterio = xmldoc.SelectSingleNode("/setting/cotizacionDirecta/comentarios/subject").InnerText; var bodyComentario = xmldoc.SelectSingleNode("/setting/cotizacionDirecta/comentarios/body").InnerText; var subjectCambioEstado = xmldoc.SelectSingleNode("/setting/cotizacionDirecta/cambiosDeEstado/subject").InnerText; var bodyCambioEstado = xmldoc.SelectSingleNode("/setting/cotizacionDirecta/cambiosDeEstado/body").InnerText; var body = String.Empty; var subject = String.Empty; if (cboEstado.SelectedIndex != 0) { body = bodyCambioEstado; subject = subjectCambioEstado; } else { body = bodyComentario; subject = subjectComenterio; } subject = subject.Replace("[numero]", cotizacion.Numero + " - " + cotizacion.Cliente); body = body.Replace("[usuario]", comentario.Usuario.NombreCompleto); body = body.Replace("[estado]", ((Estado)cboEstado.SelectedItem).Nombre); body = body.Replace("[comentario]", comentario.Observacion); var destinatarios = String.Join(";", listMail.ToArray()); new EnvioMailObject().EnviarEmail(destinatarios, subject, body); if (cboEstado.SelectedIndex != 0) { Estado = (Estado)cboEstado.SelectedItem; resultado = CotizacionDirectaEstado.ModificarEstado(cotizacion.Id32, Estado.Id32); if (resultado.Estado == Enums.EstadoTransaccion.Aceptada) { LimpiarFormularioMensaje(); CargarGrillaCotizaciones(); MessageBox.Show(resultado.Descripcion, "Sistema Comercial Craft", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show(resultado.Descripcion, "Sistema Comercial Craft", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { LimpiarFormularioMensaje(); } Cursor.Current = Cursors.Default; if (Seleccion == "cot") FocusCotizacion(); } }