protected void btnEliminar_Command(object sender, CommandEventArgs e) { try { ValidaVariables(); //Obtiene indice de la linea a actualizar int index = Convert.ToInt32(e.CommandArgument); string cert = grdFacturas.DataKeys[index].Value.ToString(); NegocioPF.Facturas oFacturas = (NegocioPF.Facturas)Session["oFacturas"]; //Busca la factura a eliminar foreach (DataRow r in oFacturas.Datos.Tables[0].Rows) { if (r["UUID"].ToString() == cert) { oFacturas.Datos.Tables[0].Rows.Remove(r); break; } } Session["oFacturas"] = oFacturas; grdFacturas.DataSource = oFacturas.Datos; grdFacturas.DataBind(); } catch (Exception ex) { MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto(ex.Message)); } }
protected void btnGenerar_Click(object sender, EventArgs e) { string sProveedor = ""; try { //Ocultar los botones ReportViewer1.ShowPageNavigationControls = false; ReportViewer1.ShowBackButton = false; ReportViewer1.ShowFindControls = false; ReportViewer1.ShowPrintButton = true; ReportViewer1.ShowExportControls = true; ReportViewer1.LocalReport.EnableExternalImages = true; //ReportViewer1.LocalReport.ExecuteReportInCurrentAppDomain(AppDomain.CurrentDomain.Evidence); ReportViewer1.Reset(); ReportViewer1.LocalReport.Dispose(); ReportViewer1.LocalReport.DataSources.Clear(); ReportViewer1.LocalReport.ReportPath = "Reports\\RepFacXFolio_" + ((Usuario)Session["oUsuario"]).Idioma + ".rdlc"; ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local; //Si el usuario es un usuario del proveedor, agrega el proveedor a los filtros NegocioPF.Proveedor oProveedor = new NegocioPF.Proveedor(((Usuario)Session["oUsuario"]).Id); oProveedor.Cargar(); if (oProveedor.Nombre != "" && oProveedor.Nombre != null) { sProveedor = "'" + oProveedor.Id + "'"; } DateTime fecFacIni = new DateTime(1900, 1, 1); DateTime fecFacFin = new DateTime(1900, 1, 1); DateTime fecIni = new DateTime(1900, 1, 1); DateTime fecFin = new DateTime(1900, 1, 1); NegocioPF.Facturas oFacturas = new NegocioPF.Facturas(); oFacturas.Cargar(sProveedor, "", "", "", fecFacIni, fecFacFin, fecIni, fecFin, 0, 0, "", txtOrden.Text, ""); string subtitulo = ((Idioma)Session["oIdioma"]).Texto("OrdenDeCompra") + ":" + txtOrden.Text; ReportParameter[] reportParameter = new ReportParameter[2]; reportParameter[0] = new ReportParameter("Titulo", ((Idioma)Session["oIdioma"]).Texto("FacXODC")); reportParameter[1] = new ReportParameter("Subtitulo", subtitulo); ReportViewer1.LocalReport.SetParameters(reportParameter); ReportViewer1.LocalReport.Refresh(); ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DsFactReg_DsFactReg", oFacturas.Datos.Tables[0])); ReportViewer1.Visible = true; ReportViewer1.LocalReport.Refresh(); divReporte.Visible = true; lblTitulo.Visible = false; divFiltros.Visible = false; } catch (Exception ex) { MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto(ex.Message)); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { try { ValidaVariables(); EstableceIdioma((Idioma)Session["oIdioma"]); NegocioPF.Sociedades oSociedades = new NegocioPF.Sociedades(); oSociedades.Cargar(); cboSociedades.DataSource = oSociedades.Datos; cboSociedades.DataTextField = "Nombre"; cboSociedades.DataValueField = "id_sociedad"; cboSociedades.DataBind(); cboSociedades.Items.Insert(0, new ListItem(((Idioma)Session["oIdioma"]).Texto("Seleccionar") + " ...", "0")); //Monedas NegocioPF.Monedas oMonedas = new NegocioPF.Monedas(); oMonedas.Cargar(); cboMoneda.DataSource = oMonedas.Datos; cboMoneda.DataTextField = "Id_moneda"; cboMoneda.DataValueField = "MonedaSAP"; cboMoneda.DataBind(); cboMoneda.Items.Insert(0, new ListItem(((Idioma)Session["oIdioma"]).Texto("Seleccionar") + " ...", "0")); //Unidades de medida NegocioPF.UnidadesMedida oUnidades = new NegocioPF.UnidadesMedida(); oUnidades.Cargar(); cboUnidad.DataSource = oUnidades.Datos; cboUnidad.DataTextField = "Id_unidad"; cboUnidad.DataValueField = "UnidadSAP"; cboUnidad.DataBind(); cboUnidad.Items.Insert(0, new ListItem(((Idioma)Session["oIdioma"]).Texto("Seleccionar") + " ...", "0")); NegocioPF.Facturas oFacturas = new NegocioPF.Facturas(); oFacturas.Cargar(0); Session["oFacturas"] = oFacturas; txtFecha.Attributes.Add("onclick", "scwShow(this,event);"); txtTotal.Attributes.Add("readonly", "readonly"); divDetalle.Visible = false; divVisor.Visible = false; btnAceptar.Visible = false; btnCancelar.Visible = false; btnAceptar.Attributes.Add("onclick", "document.body.style.cursor = 'wait';"); } catch (Exception ex) { MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto(ex.Message)); } } //txtOrden.Text = txtOrdenHdn.Text; AgregaScriptCliente(); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { try { ValidaVariables(); EstableceIdioma((Idioma)Session["oIdioma"]); //Si el usuario es un usuario del proveedor, por defautl se muestran todas sus facturas NegocioPF.Proveedor oProveedor = new NegocioPF.Proveedor(((Usuario)Session["oUsuario"]).Id); oProveedor.Cargar(); if (oProveedor.Nombre != "" && oProveedor.Nombre != null) { DateTime fecNull = new DateTime(1900, 1, 1); NegocioPF.Facturas oFacturas = new NegocioPF.Facturas(); //oFacturas.ValidarStatus(oProveedor.RFC); oFacturas.Cargar("'" + oProveedor.Id + "'", "", "", "", fecNull, fecNull, fecNull, fecNull, 0, 0, "", "", ""); grdFacturas.DataSource = oFacturas.Datos; grdFacturas.DataBind(); } NegocioPF.Sociedades oSociedades = new NegocioPF.Sociedades(); oSociedades.Cargar(); cboFilSociedad.DataSource = oSociedades.Datos; cboFilSociedad.DataTextField = "Nombre"; cboFilSociedad.DataValueField = "id_sociedad"; cboFilSociedad.DataBind(); cboFilSociedad.Items.Insert(0, new ListItem(((Idioma)Session["oIdioma"]).Texto("Seleccionar") + " ...", "0")); Perfil oPerfil = new Perfil(); Permisos permisos = oPerfil.CargarPermisos(((Usuario)Session["oUsuario"]).Id, "ConsultaFacturas.aspx"); btnImportar.Visible = (permisos.Importar); btnBuscar.Visible = true; txtFecFacIni.Attributes.Add("onmouseover", "scwShow(this,event);"); txtFecFacFin.Attributes.Add("onmouseover", "scwShow(this,event);"); txtFecRegIni.Attributes.Add("onmouseover", "scwShow(this,event);"); txtFecRegFin.Attributes.Add("onmouseover", "scwShow(this,event);"); divFiltros.Visible = true; divImportar.Visible = false; } catch (Exception ex) { MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto(ex.Message)); } } AgregaScriptCliente(); }
protected void btnAceptarImportar_Click(object sender, EventArgs e) { int registros = 0; try { ValidaVariables(); //NegocioPF.Facturas oFacturas = new NegocioPF.Facturas(); if ((File1.PostedFile != null) && (File1.PostedFile.ContentLength > 0)) { string fn = System.IO.Path.GetFileName(File1.PostedFile.FileName); string SaveLocation = Server.MapPath("") + "\\Data\\ESTATUS_FACT." + fn.Substring(fn.Length - 3, 3); try { File1.PostedFile.SaveAs(SaveLocation); } catch (Exception ex) { MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto("MsgErrorCopiarArchivo")); } try { NegocioPF.Facturas oFacturas = new NegocioPF.Facturas(); registros = oFacturas.ImportarStatusFact(((Usuario)Session["oUsuario"]).Id, SaveLocation); divImportar.Visible = false; btnBuscar_Click(null, null); MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto("MsgRegActInsertados") + registros.ToString()); } catch (Exception ex) { MessageBox(sender, e, "Error:" + ((Idioma)Session["oIdioma"]).Texto(ex.Message)); } } else { MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto("MsgSeleccioneArchivo")); } } catch (Exception ex) { MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto(ex.Message)); } }
protected void btnAceptarSubir_Click(object sender, EventArgs e) { int folio = 0; try { NegocioPF.Facturas oFacturas = (NegocioPF.Facturas)Session["oFacturas"]; folio = oFacturas.Guardar(((Usuario)Session["oUsuario"]).Id, Server.MapPath("") + "\\Facturas\\"); //Mueve los archivos por FTP try { oFacturas.MueveArchivos(((Usuario)Session["oUsuario"]).Id, Server.MapPath("") + "\\Facturas\\"); } catch (Exception ex) { //Maneja el error, pendiente de definir si se manda correo a alguien técnico o de soporte } //Manda el correo try { EnviaRelFacRegXCorreo(ref oFacturas, folio); } catch (Exception ex) { /* Se maneja el error */ oFacturas = new NegocioPF.Facturas(); oFacturas.Cargar(0); Session["oFacturas"] = oFacturas; grdFacturas.DataSource = oFacturas.Datos; grdFacturas.DataBind(); } divFacturas.Visible = false; divImportar.Visible = true; oFacturas = new NegocioPF.Facturas(); oFacturas.Cargar(0); Session["oFacturas"] = oFacturas; grdFacturas.DataSource = oFacturas.Datos; grdFacturas.DataBind(); MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto("MsgFactsGuardadas") + " " + folio.ToString()); } catch (Exception ex) { MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto(ex.Message)); } }
protected void btnVerPDF_Command(object sender, CommandEventArgs e) { string archivo = ""; try { ValidaVariables(); //Obtiene indice de la factura a consultar int index = Convert.ToInt32(e.CommandArgument); string cert = grdFacturas.DataKeys[index][0].ToString(); //Busca el nombre de la factura NegocioPF.Facturas oFacturas = (NegocioPF.Facturas)Session["oFacturas"]; //Busca el nombre del archivo foreach (DataRow r in oFacturas.Datos.Tables[0].Rows) { if (r["UUID"].ToString() == cert) { archivo = r["pdf"].ToString(); break; } } if (archivo.Length > 0) { Session["archivo"] = "Facturas/" + archivo; string newWin = "OpenPopupCenter('VisorPDF.aspx','Factura',670,700,0);"; ClientScript.RegisterStartupScript(this.GetType(), "pop", newWin, true); } else { MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto("MsgPDFInexistente")); } } catch (Exception ex) { MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto(ex.Message)); } }
protected void btnGenerarFin_Click(object sender, EventArgs e) { int registros = 0; string nomFile = ""; try { ValidaVariables(); NegocioPF.Facturas oFacturas = new NegocioPF.Facturas(); string dirDestino = Server.MapPath("") + "\\Facturas\\"; registros = oFacturas.GenerarTXTFinancieras(((Usuario)Session["oUsuario"]).Id, NegocioPF.Rutinas.ConvierteTextToFecha(txtFinFecIni.Text), NegocioPF.Rutinas.ConvierteTextToFecha(txtFinFecFin.Text), dirDestino, ref nomFile); if (registros > 0) { string txtPath = dirDestino + nomFile; Response.ContentType = "text/plain"; Response.AppendHeader("content-disposition", "attachment; filename=" + nomFile); Response.TransmitFile(txtPath); Response.End(); } if (registros == 0) { MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto("MsgNoHayFactPend")); } } catch (Exception ex) { MessageBox(sender, e, "Error:" + ((Idioma)Session["oIdioma"]).Texto(ex.Message)); } }
protected void btnCancelarAgregar_Click(object sender, EventArgs e) { divDetalle.Visible = false; divVisor.Visible = false; divFacturas.Visible = false; NegocioPF.Facturas oFacturas = (NegocioPF.Facturas)Session["oFacturas"]; if (oFacturas.Datos == null) { divImportar.Visible = true; } else { if (oFacturas.Datos.Tables[0].Rows.Count > 0) { divFacturas.Visible = true; } else { divImportar.Visible = true; } } }
protected void btnBuscar_Click(object sender, EventArgs e) { string proveedor; try { ValidaVariables(); NegocioPF.Facturas oFacturas = new NegocioPF.Facturas(); NegocioPF.Proveedor oProveedor = new NegocioPF.Proveedor(((Usuario)Session["oUsuario"]).Id); oProveedor.Cargar(); if (oProveedor.Nombre != "" && oProveedor.Nombre != null) { proveedor = oProveedor.Id; } else { proveedor = txtProveedor.Text; } DateTime fecFacIni = new DateTime(1900, 1, 1); if (txtFecFacIni.Text != "") { fecFacIni = ConvierteTextToFecha(txtFecFacIni.Text); } DateTime fecFacFin = new DateTime(1900, 1, 1); if (txtFecFacIni.Text != "") { fecFacFin = ConvierteTextToFecha(txtFecFacIni.Text); } DateTime fecRegIni = new DateTime(1900, 1, 1); if (txtFecRegIni.Text != "") { fecRegIni = ConvierteTextToFecha(txtFecRegIni.Text); } DateTime fecRegFin = new DateTime(1900, 1, 1); if (txtFecRegFin.Text != "") { fecRegFin = ConvierteTextToFecha(txtFecRegFin.Text); } string sociedad = ""; if (cboFilSociedad.SelectedValue != "0") { sociedad = "'" + cboFilSociedad.SelectedValue + "'"; } int folInicial = 0; if (txtFolIni.Text != "") { folInicial = Convert.ToInt32(txtFolIni.Text); } int folFinal = 0; if (txtFolFin.Text != "") { folFinal = Convert.ToInt32(txtFolFin.Text); } //oFacturas.ValidarStatus(txtEmisor.Text); oFacturas.Cargar("'" + proveedor.Trim() + "'", txtEmisor.Text, txtNombre.Text, txtFactura.Text, fecFacIni, fecFacFin, fecRegIni, fecRegFin, folInicial, folFinal, sociedad, txtOrden.Text, txtEntrega.Text); grdFacturas.DataSource = oFacturas.Datos; grdFacturas.DataBind(); divImportar.Visible = false; } catch (Exception ex) { MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto(ex.Message)); } }
protected void btnGenerar_Click(object sender, EventArgs e) { //string sProveedor = ""; string sProveedores = ""; string sNomProv = ""; int iNumProv = 0; try { //Ocultar los botones ReportViewer1.ShowPageNavigationControls = false; ReportViewer1.ShowBackButton = false; ReportViewer1.ShowFindControls = false; ReportViewer1.ShowPrintButton = true; ReportViewer1.ShowExportControls = true; ReportViewer1.LocalReport.EnableExternalImages = true; //ReportViewer1.LocalReport.ExecuteReportInCurrentAppDomain(AppDomain.CurrentDomain.Evidence); ReportViewer1.Reset(); ReportViewer1.LocalReport.Dispose(); ReportViewer1.LocalReport.DataSources.Clear(); ReportViewer1.LocalReport.ReportPath = "Reports\\RepFacXFolio_" + ((Usuario)Session["oUsuario"]).Idioma + ".rdlc"; ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local; NegocioPF.Proveedor oProveedor = new NegocioPF.Proveedor(((Usuario)Session["oUsuario"]).Id); oProveedor.Cargar(); iNumProv = 0; if (oProveedor.Nombre != "" && oProveedor.Nombre != null) { sProveedores = "'" + oProveedor.Id + "'"; sNomProv = oProveedor.Nombre; } else { //Recupera los proveedores seleccionados int cont = 0; foreach (ListItem item in DropDownCheckBoxes1.Items) { if (item.Selected) { sProveedores += "'" + item.Value + "',"; if (cont <= 3) { sNomProv += item.Text + ","; } else { sNomProv = ((Idioma)Session["oIdioma"]).Texto("Varios") + ","; } cont++; } } if (sProveedores.Length > 0) { sProveedores = sProveedores.Substring(0, sProveedores.Length - 1); sNomProv = sNomProv.Substring(0, sNomProv.Length - 1); } //Si se seleccionan a todos los proveedores if (DropDownCheckBoxes1.Items.Count == cont) { sProveedores = ""; sNomProv = ((Idioma)Session["oIdioma"]).Texto("Todos"); } } DateTime fecFact = new DateTime(1900, 1, 1); DateTime fecIni = new DateTime(1900, 1, 1); DateTime fecFin = new DateTime(1900, 1, 1); NegocioPF.Facturas oFacturas = new NegocioPF.Facturas(); oFacturas.Cargar(sProveedores, "", "", "", fecFact, fecFact, fecIni, fecFin, 0, 0, "", "", ""); string subtitulo = ((Idioma)Session["oIdioma"]).Texto("Proveedor") + ":" + (iNumProv > 5 ? ((Idioma)Session["oIdioma"]).Texto("Varios") : sNomProv); ReportParameter[] reportParameter = new ReportParameter[2]; reportParameter[0] = new ReportParameter("Titulo", ((Idioma)Session["oIdioma"]).Texto("RepFacXProveedor")); reportParameter[1] = new ReportParameter("Subtitulo", subtitulo); ReportViewer1.LocalReport.SetParameters(reportParameter); ReportViewer1.LocalReport.Refresh(); ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DsFactReg_DsFactReg", oFacturas.Datos.Tables[0])); ReportViewer1.Visible = true; ReportViewer1.LocalReport.Refresh(); divReporte.Visible = true; lblTitulo.Visible = false; divFiltros.Visible = false; } catch (Exception ex) { MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto(ex.Message)); } }
protected void btnGenerar_Click(object sender, EventArgs e) { string sProveedor = ""; string sSociedades = ""; string sNomSoc = ""; try { //Ocultar los botones ReportViewer1.ShowPageNavigationControls = false; ReportViewer1.ShowBackButton = false; ReportViewer1.ShowFindControls = false; ReportViewer1.ShowPrintButton = true; ReportViewer1.ShowExportControls = true; ReportViewer1.LocalReport.EnableExternalImages = true; //ReportViewer1.LocalReport.ExecuteReportInCurrentAppDomain(AppDomain.CurrentDomain.Evidence); ReportViewer1.Reset(); ReportViewer1.LocalReport.Dispose(); ReportViewer1.LocalReport.DataSources.Clear(); ReportViewer1.LocalReport.ReportPath = "Reports\\RepFacXFolio_" + ((Usuario)Session["oUsuario"]).Idioma + ".rdlc"; ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local; //Si el usuario es un usuario del proveedor, agrega el proveedor a los filtros NegocioPF.Proveedor oProveedor = new NegocioPF.Proveedor(((Usuario)Session["oUsuario"]).Id); oProveedor.Cargar(); if (oProveedor.Nombre != "" && oProveedor.Nombre != null) { sProveedor = "'" + oProveedor.Id + "'"; } //Recupera las sociedades seleccionadas foreach (ListItem item in cboSociedades.Items) { if (item.Selected) { sSociedades += "'" + item.Value + "',"; sNomSoc += item.Text + ","; } } if (sSociedades.Length > 0) { sSociedades = sSociedades.Substring(0, sSociedades.Length - 1); sNomSoc = sNomSoc.Substring(0, sNomSoc.Length - 1); } DateTime fecFact = new DateTime(1900, 1, 1); DateTime fecIni = new DateTime(1900, 1, 1); DateTime fecFin = new DateTime(1900, 1, 1); NegocioPF.Facturas oFacturas = new NegocioPF.Facturas(); oFacturas.Cargar(sProveedor, "", "", "", fecFact, fecFact, fecIni, fecFin, 0, 0, sSociedades, "", ""); string subtitulo = ((Idioma)Session["oIdioma"]).Texto("Sociedades") + ":" + sNomSoc; ReportParameter[] reportParameter = new ReportParameter[2]; reportParameter[0] = new ReportParameter("Titulo", ((Idioma)Session["oIdioma"]).Texto("RepFacXSociedad")); reportParameter[1] = new ReportParameter("Subtitulo", subtitulo); ReportViewer1.LocalReport.SetParameters(reportParameter); ReportViewer1.LocalReport.Refresh(); ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DsFactReg_DsFactReg", oFacturas.Datos.Tables[0])); ReportViewer1.Visible = true; ReportViewer1.LocalReport.Refresh(); divReporte.Visible = true; lblTitulo.Visible = false; divFiltros.Visible = false; } catch (Exception ex) { MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto(ex.Message)); } }
private void EnviaRelFacRegXCorreo(ref NegocioPF.Facturas oFacturas, int folio) { try { NegocioPF.Proveedor oProveedor = new NegocioPF.Proveedor(); oProveedor.Cargar(txtEmisor.Text.Substring(0, txtEmisor.Text.IndexOf(" "))); string sHtml = "<html>"; sHtml += "<table style='font-family:arial;color:black;font-size:12px; text-align:justify' border='0' width=\"800\">"; sHtml += "<tr><td><p>" + ((Idioma)Session["oIdioma"]).Texto("MsgSaludo") + "</p></td></tr>"; sHtml += "<tr><td></td></tr>"; sHtml += "<tr><td><p>" + ((Idioma)Session["oIdioma"]).Texto("MsgRelFacReg") + " " + folio.ToString() + ":</p></td></tr>"; sHtml += "<tr><td></td></tr>"; if (oFacturas.Datos.Tables[0].Rows.Count > 0) { sHtml += "<tr><td><table style='font-family:arial;color:black;font-size:12px; text-align:justify' border='1' cellspacing='0' cellpadding='2' width=\"800\">"; sHtml += "<tr>"; sHtml += "<td style='background:#F8EFFB; text-align:center; width=80px'> " + grdFacturas.Columns[0].HeaderText + "</td>"; sHtml += "<td style='background:#F8EFFB; text-align:center; width=150px'>" + grdFacturas.Columns[1].HeaderText + "</td>"; sHtml += "<td style='background:#F8EFFB; text-align:center; width=100px'>" + grdFacturas.Columns[2].HeaderText + "</td>"; sHtml += "<td style='background:#F8EFFB; text-align:center; width=100px'>" + grdFacturas.Columns[3].HeaderText + "</td>"; sHtml += "<td style='background:#F8EFFB; text-align:center; width=50px'>" + grdFacturas.Columns[4].HeaderText + "</td>"; sHtml += "<td style='background:#F8EFFB; text-align:center; width=80px'>" + grdFacturas.Columns[5].HeaderText + "</td>"; //sHtml += "<td style='background:#F8EFFB; text-align:center; width=100px'>" + grdFacturas.Columns[6].HeaderText + "</td>"; //sHtml += "<td style='background:#F8EFFB; text-align:center; width=100px'>" + grdFacturas.Columns[7].HeaderText + "</td>"; sHtml += "</tr>"; foreach (GridViewRow r in grdFacturas.Rows) { sHtml += "<tr>"; sHtml += "<td style='width=80px;'>" + r.Cells[0].Text + "</td>"; sHtml += "<td style='width=150px;'>" + r.Cells[1].Text + "</td>"; sHtml += "<td style='width=100px;'>" + r.Cells[2].Text + "</td>"; sHtml += "<td style='width=100px;'>" + r.Cells[3].Text + "</td>"; sHtml += "<td style='width=50px;'>" + r.Cells[4].Text + "</td>"; sHtml += "<td style='width=80px;'>" + r.Cells[5].Text + "</td>"; //sHtml += "<td style='width=100px;'>" + r.Cells[6].Text + "</td>"; //sHtml += "<td style='width=100px;'>" + r.Cells[7].Text + "</td>"; sHtml += "</tr>"; } sHtml += "</table></td></tr>"; } sHtml += "<tr><td></td></tr>"; sHtml += "<tr><td>" + ((Idioma)Session["oIdioma"]).Texto("Saludos") + "</td></tr>"; sHtml += "<tr><td></td></tr>"; sHtml += "<tr><td><img src=cid:FirmaPF></td></tr>"; sHtml += "</table>"; sHtml += "</Html>"; EmailTemplate oEmail = new EmailTemplate(""); oEmail.To.Add(oProveedor.eMail); oEmail.From = new MailAddress(@System.Configuration.ConfigurationSettings.AppSettings["EmailFrom"], "PortalFacturas", System.Text.Encoding.UTF8); oEmail.Subject = ((Idioma)Session["oIdioma"]).Texto("FacturasRegistradas") + " " + ((Idioma)Session["oIdioma"]).Texto("ConElFolio").ToLower() + " " + folio.ToString(); //Agrega Logo AlternateView altView = AlternateView.CreateAlternateViewFromString(sHtml, null, MediaTypeNames.Text.Html); string imageSource = (Server.MapPath("") + "\\Images\\FirmaPF.jpg"); LinkedResource PictureRes = new LinkedResource(imageSource, MediaTypeNames.Image.Jpeg); PictureRes.ContentId = "FirmaPF"; altView.LinkedResources.Add(PictureRes); oEmail.AlternateViews.Add(altView); try { oEmail.Send(); } catch (Exception ex) { throw new Exception("MsgFacRegEnvCorreo"); } } catch (Exception ex) { throw ex; } }
protected void btnAceptarAgregar_Click(object sender, EventArgs e) { try { NegocioPF.Factura oFactura = (Factura)Session["oFactura"]; if (oFactura.Existe()) { MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto("MsgFactYaRegistrada")); return; } oFactura.Moneda = cboMoneda.SelectedValue; //Valida si existe el Emisor en el catálogo de proveedores NegocioPF.Proveedor oProveedor = new Proveedor(); oProveedor.Cargar(txtEmisor.Text.Substring(0, txtEmisor.Text.IndexOf(" "))); if (oProveedor.Nombre == "" || oProveedor.Nombre == null) { throw new Exception("MsgEmisorInexistente"); } //Valida que el receptor corresponda a la sociedad seleccionada NegocioPF.Sociedad oSociedad = new NegocioPF.Sociedad(cboSociedades.SelectedValue); oSociedad.Cargar(); if (oSociedad.RFC != txtReceptor.Text.Substring(0, txtReceptor.Text.IndexOf(" "))) { throw new Exception("MsgErrFactNoCorrSociedad"); } //Valida que la sociedad esté activa para el proveedor bool existe = false; foreach (string sociedad in oProveedor.Sociedades) { if (sociedad == cboSociedades.SelectedValue) { existe = true; } } if (!existe) { throw new Exception("MsgSocNoActProv"); } //Valida la fecha de la factura NegocioPF.Configuracion oConfig = new NegocioPF.Configuracion(); oConfig.Cargar(); DateTime dFechaMinima = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); dFechaMinima = dFechaMinima.AddMonths(oConfig.MesesAtras * -1); DateTime dFechaMaxima = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); dFechaMaxima = dFechaMaxima.AddMonths(oConfig.MesesAdelante); DateTime dFecha = new DateTime(Convert.ToInt32(txtFecha.Text.Substring(0, 4)), Convert.ToInt32(txtFecha.Text.Substring(5, 2)), Convert.ToInt32(txtFecha.Text.Substring(8, 2))); if (dFecha < dFechaMinima) { throw new Exception("MsgErrFactMuyAtrasada"); } if (dFecha > dFechaMaxima) { throw new Exception("MsgErrFactFecMuyAdelantada"); } if (oProveedor.RFC != oFactura.Emisor) { throw new Exception("MsgErrPedDifProv"); } //Establece el tipo de factura oFactura.TipoFactura = "NFI"; NegocioPF.Facturas oFacturas = (NegocioPF.Facturas)Session["oFacturas"]; DataRow r = oFacturas.Datos.Tables[0].NewRow(); r["id_sociedad"] = cboSociedades.SelectedValue; r["folio"] = 0; r["UUID"] = txtUUID.Text; r["folioFact"] = txtFactura.Text; r["emisor"] = txtEmisor.Text.Substring(0, txtEmisor.Text.IndexOf(" ")); r["receptor"] = txtReceptor.Text.Substring(0, txtReceptor.Text.IndexOf(" ")); r["ordenCompra"] = ""; r["fecha"] = txtFecha.Text; r["importe"] = txtImporte.Text; r["id_moneda"] = cboMoneda.SelectedValue; r["pdf"] = Session["pdf"].ToString(); r["xml"] = Session["xml"].ToString(); oFacturas.Datos.Tables[0].Rows.Add(r); oFacturas.Relacion.Add(oFactura); Session["oFacturas"] = oFacturas; grdFacturas.DataSource = oFacturas.Datos; grdFacturas.DataBind(); oViewer.Visible = false; divDetalle.Visible = false; divFacturas.Visible = true; btnAceptar.Visible = (oFacturas.Datos.Tables[0].Rows.Count > 0); btnCancelar.Visible = (oFacturas.Datos.Tables[0].Rows.Count > 0); divImportar.Visible = true; //ScriptManager.RegisterStartupScript(this, typeof(Page), "confirm", "<script>confirmation();</script>", false); } catch (Exception ex) { if (ex.Message.Substring(0, 3) == "Msg") { MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto(ex.Message)); } else { MessageBox(sender, e, ex.Message); } } }
protected void btnAceptarAgregar_Click(object sender, EventArgs e) { bool existe = false; try { if (txtMaterial.Text != "") { btnAceptarItem_Click(null, null); } NegocioPF.Factura oFactura = (Factura)Session["oFactura"]; NegocioPF.Proveedor oProveedor = new Proveedor(((Usuario)Session["oUsuario"]).Id); oProveedor.Cargar(); //Recupera el emisor string emisor; if (txtEmisor.Text.IndexOf(" ") >= 0) { emisor = txtEmisor.Text.Substring(0, txtEmisor.Text.IndexOf(" ")); } else { emisor = txtEmisor.Text.Trim(); } //Si es un proveedor, valida si puede subir la factura, propia o de un tercero if (oProveedor.RFC != "") { if (oProveedor.RFC != emisor) { if (oProveedor.Intermediario == false) { throw new Exception("MsgErrFacDifProv"); } } } //Carga al emisor oProveedor.Cargar(emisor); //Valida que el proveedor exista if (oProveedor.RFC == "") { throw new Exception("MsgProvInexistente"); } else { txtEmisor.Text = oProveedor.RFC + " " + oProveedor.Nombre; } //Valida que el Emisor pueda facturar en la sociedad seleccionada existe = false; foreach (string sociedad in oProveedor.Sociedades) { if (sociedad == cboSociedades.SelectedValue) { existe = true; } } if (!existe) { throw new Exception("MsgSocNoActProv"); } //Establece el emisor en la factura oFactura.Emisor = emisor; //Valida si la factura ya fue registrada oFactura.UUID = txtFactura.Text; if (oFactura.Existe()) { MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto("MsgFactYaRegistrada")); return; } //Valida la fecha de la factura NegocioPF.Configuracion oConfig = new NegocioPF.Configuracion(); oConfig.Cargar(); DateTime dFechaMinima = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); dFechaMinima = dFechaMinima.AddMonths(oConfig.MesesAtras * -1); DateTime dFechaMaxima = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); dFechaMaxima = dFechaMaxima.AddMonths(oConfig.MesesAdelante); DateTime dFecha = NegocioPF.Rutinas.ConvierteTextToFecha(txtFecha.Text); if (dFecha < dFechaMinima) { throw new Exception("MsgErrFactMuyAtrasada"); } if (dFecha > dFechaMaxima) { throw new Exception("MsgErrFactFecMuyAdelantada"); } //Establece los datos de la factura oFactura.Sociedad = cboSociedades.SelectedValue; oFactura.NumFactura = txtFactura.Text; oFactura.Fecha = NegocioPF.Rutinas.ConvierteTextToFecha(txtFecha.Text); oFactura.Importe = Convert.ToDouble(txtImpSinIva.Text); oFactura.Impuestos = Convert.ToDouble(txtImpuestos.Text); oFactura.Moneda = cboMoneda.SelectedValue; oFactura.TipoFactura = "EFI"; //Determina el indicador de impuestos if (oFactura.Impuestos > 0) { oFactura.Tasa = Convert.ToInt32((Convert.ToDouble(txtImpuestos.Text) / Convert.ToDouble(txtImpSinIva.Text)) * 100); NegocioPF.Indicador oIndicador = new Indicador(); oIndicador.Buscar(oFactura.Tasa); if (oIndicador.ID != "") { oFactura.IndImpuestos = oIndicador.ID; } else { throw new Exception("MsgErrImpuestos"); } } //Agrega la factura a la colección de facturas NegocioPF.Facturas oFacturas = (NegocioPF.Facturas)Session["oFacturas"]; DataRow r = oFacturas.Datos.Tables[0].NewRow(); r["id_sociedad"] = cboSociedades.SelectedValue; r["folio"] = 0; r["UUID"] = txtFactura.Text; r["folioFact"] = txtFactura.Text; r["emisor"] = txtEmisor.Text.Substring(0, txtEmisor.Text.IndexOf(" ")); r["receptor"] = txtReceptor.Text.Substring(0, txtReceptor.Text.IndexOf(" ")); r["ordenCompra"] = ""; r["fecha"] = NegocioPF.Rutinas.ConvierteTextToFecha(txtFecha.Text); r["importe"] = txtTotal.Text; r["id_moneda"] = cboMoneda.SelectedValue; r["pdf"] = Session["pdf"].ToString(); oFacturas.Datos.Tables[0].Rows.Add(r); oFacturas.Relacion.Add(oFactura); Session["oFacturas"] = oFacturas; grdFacturas.DataSource = oFacturas.Datos; grdFacturas.DataBind(); oViewer.Visible = false; divDetalle.Visible = false; divFacturas.Visible = true; btnAceptar.Visible = (oFacturas.Datos.Tables[0].Rows.Count > 0); btnCancelar.Visible = (oFacturas.Datos.Tables[0].Rows.Count > 0); divImportar.Visible = true; //ScriptManager.RegisterStartupScript(this, typeof(Page), "confirm", "<script>confirmation();</script>", false); } catch (Exception ex) { if (ex.Message.Substring(0, 3) == "Msg") { MessageBox(sender, e, ((Idioma)Session["oIdioma"]).Texto(ex.Message)); } else { MessageBox(sender, e, ex.Message); } } }