using System; using System.Web.UI.WebControls; using Extensiones; using System.Data; using static Extensiones.ModExtensiones; using System.Collections.Generic; using System.IO; using ListItem = System.Web.UI.WebControls.ListItem; using System.Web.UI; public partial class Ventas_RepLineasAdicionales : ClsPaginas { #region PROPIEDADES private int CveLineaAdicional { get { return (ViewState["CveLineaAdicional"] == null) ? 0 : int.Parse(ViewState["CveLineaAdicional"].ToString()); } set { ViewState["CveLineaAdicional"] = (int)value; } } private int CveVenta { get { return (ViewState["CveVenta"] == null) ? 0 : int.Parse(ViewState["CveVenta"].ToString()); } set { ViewState["CveVenta"] =(int) value; } } private int TipoLinea { get { return (ViewState["TipoLinea"] == null) ? 1: int.Parse(ViewState["TipoLinea"].ToString()); } set { ViewState["TipoLinea"] = (int)value; } } private DataTable DTDatosGvLineasAdicionales { get { if (ViewState["DTDatosGvLineasAdicionales"] == null) { ViewState["DTDatosGvLineasAdicionales"] = new DataTable(); } return (DataTable)ViewState["DTDatosGvLineasAdicionales"]; } set { ViewState["DTDatosGvLineasAdicionales"] = (DataTable)value; } } private string LineaAdicionalComprobante { get { if(ViewState["LineaAdicionalComprobante"] == null) { ViewState["LineaAdicionalComprobante"] = ""; } return ViewState["LineaAdicionalComprobante"].ToString(); } set { ViewState["LineaAdicionalComprobante"] = value; } } #endregion protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { InicializaValores(); CargaDatos(); } } private void InicializaValores() { if (Request["OP"] != null && Request["OP"].ToString() == "PO") { DVProveedor1.Visible = true; DVProveedor2.Visible = true; TipoLinea = 2; LtlEncabezado.Text = "Reporte PO"; GvLAPO.Visible = true; DvLineaPO.Visible = true; DVAgrupador1.Visible = true; DVAgrupador2.Visible = true; } else { DvLinea.Visible = true; GvLineasAdicionales.Visible = true; } if(UsuarioActual.Empresa.Funcionalidad(105) == "1") { DdlProveedor.setEsWebService(true); DdlProveedor.Attributes.Add("data-metodo", "getproveedores"); DdlProveedor.SelectedText = "Todos"; DdlProveedor.SelectedValue = "-1"; }else { DdlProveedor.setEsWebService(false); DdlProveedor.ddl.DataSource = get_GlobalDTCompProveedores(UsuarioActual.CveEmpresa); DdlProveedor.ddl.DataBind(); DdlProveedor.ddl.Items.Insert(0, new ListItem("-", "-1")); } DdlClientes.setEsWebService(true); DdlClientes.Attributes.Add("data-metodo", "getcliente"); DdlClientes.SelectedText = "Todos"; DdlClientes.SelectedValue = "-1"; } protected void BtnConsultar_Click(object sender, EventArgs e) { CargaDatos(); } private void CargaDatos() { DTDatosGvLineasAdicionales = new DataTable(); LnkDescargaExcel.Visible = false; ClsVentas objVentas = new ClsVentas(); int CveProveedor = DdlProveedor.SelectedValue.ToEntero() > 0 ? DdlProveedor.SelectedValue.ToEntero() : -1; if(TipoLinea == 1) { if (objVentas.RepLineasAdicionales(-1,-1, DdlClientes.SelectedValue.ToEntero(), CveProveedor, 1, -1, MinFecha, MaxFecha, DdlEstatus.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa)) { GvLineasAdicionales.DataSource = objVentas.DtResultados; if (objVentas.DtResultados.Rows.Count > 0) { DTDatosGvLineasAdicionales = objVentas.DtResultados; LnkDescargaExcel.Visible = true; UpAcciones.Update(); } } else { GvLineasAdicionales.DataSource = null; } } else { if (DdlAgrupador.SelectedValue.ToEntero()== 1){ GvLAPO.Columns[0].HeaderText = "Comercializador"; } else { GvLAPO.Columns[0].HeaderText = "Cliente"; } if (objVentas.RepLineasAdicionales(DdlAgrupador.SelectedValue.ToEntero(), -1, DdlClientes.SelectedValue.ToEntero(), CveProveedor, 2, -1, MinFecha, MaxFecha, DdlEstatus.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa)) { GvLAPO.DataSource = objVentas.DtResultados; if (objVentas.DtResultados.Rows.Count > 0) { DTDatosGvLineasAdicionales = objVentas.DtResultados; LnkDescargaExcel.Visible = true; UpAcciones.Update(); } } else { GvLAPO.DataSource = null; } } objVentas.Dispose(); GvLineasAdicionales.DataBind(); GvLAPO.DataBind(); UpLineasAdicionales.Update(); } protected void LnkCargarComprobante_Click(object sender, EventArgs e) { GridViewRow GvRow = (GridViewRow) ((LinkButton) sender).NamingContainer; CveLineaAdicional = GvRow.DataKey("CveLineaAdicional").ToString().ToEntero(); CveVenta = GvRow.DataKey("CveVenta").ToString().ToEntero(); LineaAdicionalComprobante = GvRow.DataKey("LineaAdicionalComprobante").ToString(); RegistraScript("$('#ModalComprobante').modal('show');",""); } protected void BtnAddComprobante_Click(object sender, EventArgs e) { bool errorCargaComprobante = false; string FileExtension = "-1"; List filesgral = Anexo.getfiles().Archivos; string filemove = ""; FileInfo fiNuevo; DirectoryInfo df = new DirectoryInfo($@"{UsuarioActual.Empresa.Ruta}\LineasAdicionales\"); //Crea directorio si no existe if (!df.Exists) { try { Directory.CreateDirectory(df.FullName); } catch { errorCargaComprobante = true; } } //borrar archivo anterior if((!errorCargaComprobante) && LineaAdicionalComprobante.Length > 0) { FileInfo fiAnterior = new FileInfo($@"{df.FullName}{LineaAdicionalComprobante}"); if (fiAnterior.Exists) { try { File.Delete(fiAnterior.FullName); } catch { errorCargaComprobante = true; } } } if(!errorCargaComprobante){ string RutaArchivoTemp = ""; foreach (Archivo fileItem in filesgral) { FileExtension = System.IO.Path.GetExtension(string.Format(@"{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", ""); filemove = fileItem.filename; RutaArchivoTemp = $@"{AppDomain.CurrentDomain.BaseDirectory}\Temp\{fileItem.filename}"; break; } if((!errorCargaComprobante) && RutaArchivoTemp.Length > 0) { fiNuevo = new FileInfo(RutaArchivoTemp); if (fiNuevo.Exists) { try { if (File.Exists($@"{df.FullName}\{CveVenta}{fiNuevo.Extension}")) { File.Delete($@"{df.FullName}\{CveVenta}{fiNuevo.Extension}"); } File.Move(fiNuevo.FullName, $@"{df.FullName}\{CveVenta}{fiNuevo.Extension}"); errorCargaComprobante = false; } catch { errorCargaComprobante = true; } if (!errorCargaComprobante) { ClsVentas objVentas = new ClsVentas(); if (!objVentas.UpdateLineasAdicionales(CveLineaAdicional, "-1", -1, -1, -1, -1, -1, MinFecha, UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, LineaAdicionalComprobante: $@"{CveVenta}{fiNuevo.Extension}",CveVenta:CveVenta)) { errorCargaComprobante = true; } objVentas.Dispose(); } } } } if (!errorCargaComprobante) { CargaDatos(); Anexo.Text = "[]"; RegistraScript("$('#ModalComprobante').modal('hide');", ""); Alert("Comprbante actualizado correctamente."); } UpAddComprobancte.Update(); } protected void LnkCambiarEstatus_Click(object sender, EventArgs e) { GridViewRow GvRow = (GridViewRow)((LinkButton)sender).NamingContainer; int CveLineaAdicionalActualzarEstatus = GvRow.DataKey("CveLineaAdicional").ToString().ToEntero(); int CveVenta = GvRow.DataKey("CveVenta").ToString().ToEntero(); bool errorCambioEstatus = false; ClsVentas objVentas = new ClsVentas(); if (!objVentas.UpdateLineasAdicionales(CveLineaAdicionalActualzarEstatus, "-1", -1, -1, -1, -1, -1, MinFecha, UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa,CveVenta:CveVenta,CveLineaAdicionalEstatus:2)) { errorCambioEstatus = true; } if (!errorCambioEstatus) { CargaDatos(); } objVentas.Dispose(); } protected void LnkDescargaExcel_Click(object sender, EventArgs e) { if(TipoLinea == 1) { GridView gvTemp = GvLineasAdicionales; gvTemp.ExportToExcelx("RepLineasAdicionales" + DateTime.Now.ToShortDateString()); } else if(TipoLinea == 2) { GridView gvTemp = GvLAPO; gvTemp.Columns[8].Visible = false; gvTemp.ExportToExcelx("ReportePO" + DateTime.Now.ToShortDateString()); } } protected void GvLAPO_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { LinkButton LnkCambiarEstatus = e.Row.FCLinkButton("LnkCambiarEstatus"); LinkButton LnkCargarComprobante = e.Row.FCLinkButton("LnkCargarComprobante"); LinkButton LnkDescargaComprobante = e.Row.FCLinkButton("LnkDescargaComprobante"); if (e.Row.DataKey("CveLineaAdicional")=="") { if (e.Row.DataKey("CveLineaAdicional") == "" && e.Row.DataKey("CveCliente") == "") { e.Row.CssClass = "SubTotales2"; } else { e.Row.CssClass = "SubTotales"; } LnkCambiarEstatus.Visible = false; LnkCargarComprobante.Visible = false; LnkDescargaComprobante.Visible = false; } else { if (e.Row.DataKey("CveVenta").ToEntero() > 0 && e.Row.DataKey("CveLineaAdicionalEstatus").ToEntero() == 1) { LnkCambiarEstatus.Visible = true; LnkCargarComprobante.Visible = true; } if (e.Row.DataKey("LineaAdicionalComprobante").Length > 0 && e.Row.DataKey("CveVenta").ToEntero() > 0) { FileInfo fi = new FileInfo($@"{UsuarioActual.Empresa.Ruta}\LineasAdicionales\{e.Row.DataKey("LineaAdicionalComprobante")}"); if (fi.Exists) { LnkDescargaComprobante.Visible = true; ScriptManager.GetCurrent(this).RegisterPostBackControl(LnkDescargaComprobante); } } } } } protected void LnkDescargaComprobante_Click(object sender, EventArgs e) { GridViewRow GvRow = (GridViewRow)((LinkButton)sender).NamingContainer; string Comprobante = GvRow.DataKey("LineaAdicionalComprobante"); FileInfo fi = new FileInfo($@"{UsuarioActual.Empresa.Ruta}\LineasAdicionales\{Comprobante}"); if (fi.Exists) { Response.Clear(); Response.AddHeader("Content-Disposition", "attachment; filename=" + fi.Name); Response.AddHeader("Content-Length", fi.Length.ToString()); Response.ContentType = "text/octet-stream"; Response.Flush(); Response.TransmitFile(fi.FullName); Response.End(); } } protected void GvLAPO_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Estatus") { GridViewRow GvRow = (GridViewRow)((LinkButton)e.CommandSource).NamingContainer; int CveLineaAdicionalActualizarEstatus = GvRow.DataKey("CveLineaAdicional").ToString().ToEntero(); int CveVenta = GvRow.DataKey("CveVenta").ToString().ToEntero(); bool errorCambioEstatus = false; //int cveestatus = e.CommandArgument.ToEntero() + 2; //pasar al siguiente estatus ClsVentas objVentas = new ClsVentas(); if (!objVentas.UpdateLineasAdicionales(CveLineaAdicionalActualizarEstatus, "-1", -1, -1, -1, -1, -1, MinFecha, UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, CveVenta: CveVenta, CveLineaAdicionalEstatus: 2)) { errorCambioEstatus = true; } objVentas.Dispose(); if (!errorCambioEstatus) { CargaDatos(); } } } }