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();
                }
            }
        }