private void FocusCotizacion() { var cotizacion = GetSelectedRow(gridViewSLeads); var comentarios = ClsComentario.ObtieneTodosLosMensajes(cotizacion).ObjetoTransaccion as List <Comentario>; gridComentarios.DataSource = comentarios; gridComentarios.RefreshDataSource(); MenuCopiar.Enabled = cotizacion.PermiteCopiar; Seleccion = "cot"; CargarEstado(); if (cotizacion.Estado.Id32 > 5) { cboEstado.Properties.Items.Clear(); cboEstado.Properties.Items.Add(EstadosCotizaciones[0]); } }
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(this.cboEstado, "", ErrorType.None); } if (this.txtComentario.Text == "") { ctrldxError.SetError(this.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(); } } }