private void CrearCotizacion() { var resultado = ClsCotizacionDirecta.Crear(CotizacionDirecta); var logCot = CreaLog(CotizacionDirecta, EnumTipoLogCotizacionDirecta.IngresoCotizacion); ClsLogCotizacionesDirecta.Guardar(logCot); MessageBox.Show(resultado.Descripcion, "Sistema Comercial Craft", MessageBoxButtons.OK, MessageBoxIcon.Information); }
private void MenuEnviarAlCliente_Click(object sender, EventArgs e) { var contieneCopiada = false; var cotizacionDirectas = new List <CotizacionDirecta>(); foreach (var c in ListCotizaciones) { var cot = ClsCotizacionDirecta.ObtieneCotizacionDirecta(c.Id32).ObjetoTransaccion as CotizacionDirecta; cotizacionDirectas.Add(cot); if (cot.CopiadoDe != null && cot.CopiadoDe != 0) { contieneCopiada = true; break; } } DialogResult res = DialogResult.None; if (contieneCopiada) { res = MessageBox.Show("Algunas de las cotizaciones fueron copiadas. Confirma el envío al cliente?", "Sistema Comercial Craft", MessageBoxButtons.YesNo, MessageBoxIcon.Question); } if (!contieneCopiada || res == DialogResult.Yes) { foreach (var cotizacionDirecta in cotizacionDirectas) { var mailObject = new EnvioMailObject(); var xmldoc = new XmlDocument(); xmldoc.Load(Path.Combine(Application.StartupPath, @"Cotizaciones\CotizacionSetting.xml")); var subject = xmldoc.SelectSingleNode("/setting/cotizacionDirecta/subjectMail").InnerText; subject = subject.Replace("[nombreCliente]", cotizacionDirecta.Cliente.NombreCliente); var htmlBody = cotizacionDirecta.GenerateHtmlPreviewAndBody(Application.StartupPath); var htmlPDF = cotizacionDirecta.GenerateHTMLforPDF(Application.StartupPath); var listPath = new List <String> { mailObject.GeneratePdfFromHtml(htmlPDF, cotizacionDirecta.Numero) }; mailObject.EnviarMailCotizacionDirecta(subject, htmlBody, listPath); ClsCotizacionDirectaEstadoDao.CambioEstado(cotizacionDirecta.Id32, 4); var logCot = CreaLog(cotizacionDirecta, EnumTipoLogCotizacionDirecta.Envio); ClsLogCotizacionesDirecta.Guardar(logCot); } } Instancia = null; Close(); }
public void CargarGrillaCotizaciones() { var fechaInicio = DateTime.Now.AddDays(Convert.ToInt32(ListSemanas.Text) * -7); ListCotizaciones = ClsCotizacionDirecta.ListarTodasLasCotizacionesPorUsuario( Base.Usuario.UsuarioConectado.Usuario, fechaInicio); foreach (var cotizacion in ListCotizaciones) { cotizacion.Seleccionado = false; } gridSLeads.DataSource = ListCotizaciones; }
private void MenuCopiar_Click(object sender, EventArgs e) { var tableable = GetSelectedRow((GridView)gridViewSLeads); DialogResult res = MessageBox.Show(String.Format("¿Esta Ud. seguro de copiar la Cotización {0}?.{1} Se creará una nueva cotización con la información copiada.", tableable.Numero, Environment.NewLine), "Sistema Comercial Craft", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (res == DialogResult.Yes) { Cursor.Current = Cursors.WaitCursor; if (tableable is CotizacionDirecta) { var cot = ClsCotizacionDirecta.ObtieneCotizacionDirecta(tableable.Id32).ObjetoTransaccion as CotizacionDirecta; cot.CopiadoDe = tableable.Id32; cot.Id = cot.Id32 = 0; foreach (var gl in cot.GastosLocalesList) { gl.Id = gl.Id32 = 0; } foreach (var opcion in cot.Opciones) { opcion.Id = opcion.Id32 = 0; foreach (var puerto in opcion.Pod) { puerto.Id = puerto.Id32 = 0; } foreach (var puerto in opcion.Pol) { puerto.Id = puerto.Id32 = 0; } foreach (var det in opcion.Detalles) { det.Id = det.Id32 = 0; } } var formulario = FrmCotizacionDirecta.Instancia; formulario.mode = "borrador"; formulario.CotizacionDirecta = cot; formulario.ShowDialog(); } Cursor.Current = Cursors.Default; } }
private void CargarCotizacionDirecta() { if (mode != "borrador") { CotizacionDirecta = ClsCotizacionDirecta.ObtieneCotizacionDirecta(CotizacionDirecta.Id32).ObjetoTransaccion as CotizacionDirecta; Text = "Ingreso de cotización "; } else { Text = "Copia de cotización "; LblEstado.Visible = labelControl11.Visible = false; } txtEjecutivo.Text = CotizacionDirecta.Usuario.NombreCompleto; TxtFecha.DateTime = CotizacionDirecta.FechaSolicitud; var encontrado_cliente = _clientes.Find(foo => CotizacionDirecta.Cliente.Id32 == foo.Id32); if (encontrado_cliente == null) { _clientes.Add(CotizacionDirecta.Cliente); CboCliente.Properties.Items.Add(CotizacionDirecta.Cliente); } CboCliente.SelectedItem = CotizacionDirecta.Cliente; txtCommodity.Text = CotizacionDirecta.Commodity; TxtObservaciones.Text = CotizacionDirecta.Observaciones; LblEstado.Text = CotizacionDirecta.EstadoDescripcion; GridGastosLocales.DataSource = CotizacionDirecta.GastosLocalesList; if (mode != "borrador") { if (CotizacionDirecta.Estado.Id32 == (Int32)Enums.EstadosCotizacion.Cerrado || CotizacionDirecta.Estado.Id32 == (Int32)Enums.EstadosCotizacion.PerdidoOtros || CotizacionDirecta.Estado.Id32 == (Int32)Enums.EstadosCotizacion.PerdidoTarifa || CotizacionDirecta.Estado.Id32 == (Int32)Enums.EstadosCotizacion.CerradoLCL) { toolStripButton1.Enabled = false; toolStripButton1.ToolTipText = "Imposible modificar cotización en el Estado actual"; } } if (CotizacionDirecta.Estado.Id32 == (Int32)Enums.EstadosCotizacion.Eliminado) { toolStripButton1.Enabled = false; toolStripButton1.ToolTipText = "Imposible modificar cotización en el Estado actual"; } }
public void CargarGrillaCotizaciones() { var timer = System.Diagnostics.Stopwatch.StartNew(); var fechaInicio = DateTime.Now.AddDays(Convert.ToInt32(ListSemanas.Text) * -7); ListCotizaciones = ClsCotizacionDirecta.ListarTodasLasCotizaciones(fechaInicio); foreach (var cotizacion in ListCotizaciones) { cotizacion.Seleccionado = false; } ClsLogPerformance.Save(new LogPerformance(Base.Usuario.UsuarioConectado.Usuario, timer.Elapsed.TotalSeconds)); gridSLeads.DataSource = ListCotizaciones; }
private void MenuGuardar_Click(object sender, EventArgs e) { CotizacionDirecta.FollowUps = ObtieneFollowUpsDesdeGrilla(); foreach (var clsClienteFollowUp in CotizacionDirecta.FollowUps) { if (clsClienteFollowUp.IsNew) { clsClienteFollowUp.IdCotizacion = CotizacionDirecta.Id32; clsClienteFollowUp.Usuario = UsuarioConectado.Usuario; } } var res = ClsCotizacionDirecta.GuardarFollowUps(CotizacionDirecta); MessageBox.Show(res.Descripcion, "Sistema Comercial Craft", MessageBoxButtons.OK, MessageBoxIcon.Information); }
private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) { var grid = sender as GridView; var _cotizacionDirecta = grid.GetRow(e.FocusedRowHandle) as CotizacionDirecta; if (_cotizacionDirecta == null) { return; } var cotizacionDirecta = ClsCotizacionDirecta.ObtieneCotizacionDirecta(_cotizacionDirecta.Id32).ObjetoTransaccion as CotizacionDirecta; var html = cotizacionDirecta.GenerateHtmlPreviewAndBody(Application.StartupPath); webBrowser1.Navigate("about:blank"); do { Thread.Sleep(100); } while (webBrowser1.IsBusy); webBrowser1.Document.Write(html); webBrowser1.Refresh(); }
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(); } } }