private void CargarCombos()
        {
            // Cargo el combo tipo de tarifarios
            LlenarCombos.TipoTarifariosConceptos(ddlTipoTarifario, "");
            ddlTipoTarifario.Items.Remove(ddlTipoTarifario.Items[0]);
            ddlTipoTarifario_SelectedIndexChanged(null, null);

            // Cargo el combo de provincias
            IEmpresaFacturacion empresa = EmpresaFacturacionFactory.GetEmpresaFacturacion();
            ddlEmpresaFacturacion.DataSource = empresa.GetEmpresasFacturacionConsultaDataSet().Datos.Select("", "Predeterminada desc, RazonSocial");
            ddlEmpresaFacturacion.DataValueField = "EmpresaFacturacionId";
            ddlEmpresaFacturacion.DataTextField = "RazonSocial";
            ddlEmpresaFacturacion.DataBind();
            ddlEmpresaFacturacion.Items.Insert(0, new ListItem("", ""));

            // Cargo el combo de conceptos de facturación de delfos
            IConceptoFacturacionDelfos conceptosFact = ConceptoFacturacionDelfosFactory.GetConceptoFacturacionDelfos();
            ddlConceptoFacturacionDelfos.DataSource = conceptosFact.GetAll();
            ddlConceptoFacturacionDelfos.DataValueField = "VentaConcepCodi";
            ddlConceptoFacturacionDelfos.DataTextField = "VentaConcepDescrip";
            ddlConceptoFacturacionDelfos.DataBind();
            //ddlConceptoFacturacionDelfos.Items.Insert(0, new ListItem("", ""));

            // Cargo el combo de tipos de clientes
            ddlTipoCliente.DataSource = IoC.GetObjectDominio<ITipoClienteDominio>().GetTiposCliente();
            ddlTipoCliente.DataValueField = "TipoClienteID";
            ddlTipoCliente.DataTextField = "TipoClienteDescrip";
            ddlTipoCliente.DataBind();
        }
Пример #2
0
        private void BindGrid()
        {
            SisPackController.AdministrarGrillas.Configurar(dtgEmpresas, "EmpresaFacturacionID", this.CantidadOpciones);
            IEmpresaFacturacion oEmpresaFacturacion = EmpresaFacturacionFactory.GetEmpresaFacturacion();

            oEmpresaFacturacion.RazonSocial = this.txtRazonSocial.Text;
            this.dtgEmpresas.DataSource     = oEmpresaFacturacion.GetEmpresasFacturacionConsultaDataSet();
            this.dtgEmpresas.DataBind();
        }
Пример #3
0
        public static void EmpresaFacturacion(DropDownList lst, int unidadNegocioID)
        {
            lst.Items.Clear();
            IEmpresaFacturacion  EmpFact = EmpresaFacturacionFactory.GetEmpresaFacturacion();
            DsEmpresaFacturacion ds      = EmpFact.GetEmpresasFacturacionConsultaDataSet();

            // DsZonas ds = zonas.GetZonasDataSet();
            lst.DataSource    = EmpFact.GetEmpresasFacturacionConsultaDataSet();
            lst.DataTextField = "RazonSocial";
            // lst.DataValueField = "Agencia";
            lst.DataBind();
        }
Пример #4
0
        private void validarEmpresaPorDefecto()
        {
            IEmpresaFacturacion oEmpresaFacturacion = EmpresaFacturacionFactory.GetEmpresaFacturacion();
            int i = oEmpresaFacturacion.GetEmpresasPredeterminada();

            if (i == 0)
            {
                lblEmpresaPorDefecto.Visible = true;
            }
            else
            {
                lblEmpresaPorDefecto.Visible = false;
            }
        }
Пример #5
0
        private void Editar()
        {
            IEmpresaFacturacion empresa = EmpresaFacturacionFactory.GetEmpresaFacturacion();

            empresa.EmpresaFacturacionID = Convert.ToInt32(this.txtEmpresaID.Text);
            empresa.Consultar();

            this.txtRazonSocial.Text       = empresa.RazonSocial;
            this.txtEMail.Text             = empresa.Email;
            this.txtCuerpos.Text           = empresa.Cuerpos.ToString();
            this.txtWan.Text               = empresa.Wan;
            this.chkPredeterminada.Checked = empresa.Predeterminada;
            //this.ddlTipoDocumento.SelectedValue = ((int)empresa.TipoDocumento).ToString();
            if (empresa.NroCUIT != null)
            {
                this.txtCUITTipo.Text = empresa.NroCUIT.Substring(0, 2);
                this.txtCUITNro.Text  = empresa.NroCUIT.Substring(2, 8);
                this.txtCUITDigitoVerificador.Text = empresa.NroCUIT.Substring(10, 1);
                //this.txtCUITTipo.ReadOnly=true;
                //this.txtCUITNro.ReadOnly=true;
                //this.txtCUITDigitoVerificador.ReadOnly=true;
            }

            IDatosDomicilio domicilio = (IDatosDomicilio)phDomicilio.FindControl("domicilio");

            domicilio.DomicilioID = empresa.Domicilio.DomicilioID;
            domicilio.Calle       = empresa.Domicilio.Calle;
            domicilio.CalleNro    = empresa.Domicilio.CalleNro;
            domicilio.Telefono    = empresa.Domicilio.Telefono;
            domicilio.ProvinciaID = empresa.Domicilio.Localidad.Provincia.ProvinciaID;
            domicilio.LocalidadID = empresa.Domicilio.Localidad.LocalidadID;

            this.txtLogoActual.Text = empresa.Logo.ToString();

            txtDirWeb.Text                = empresa.Web;
            txtNumeroIIBB.Text            = empresa.NumeIIBB;
            txtFechaInicio.Text           = empresa.FechaInicio.ToString("dd/MM/yyyy");
            txtNumeroEstablecimiento.Text = empresa.NumeEstablecimiento;

            foreach (ListItem item in ddlCondicionIva.Items)
            {
                if (item.Text == empresa.CondicionIVA)
                {
                    item.Selected = true;
                }
            }

            txtCertificadoDigital.Text = empresa.CertificadoDigital;
            txtTexto.Text = empresa.Texto;
        }
Пример #6
0
        protected void dtgEmpresas_DeleteCommand1(object source, DataGridCommandEventArgs e)
        {
            IEmpresaFacturacion empresa = EmpresaFacturacionFactory.GetEmpresaFacturacion();

            empresa.EmpresaFacturacionID = Convert.ToInt32(this.dtgEmpresas.DataKeys[e.Item.ItemIndex]);
            empresa.Consultar();

            try
            {
                empresa.Eliminar(usuario);
                this.dtgEmpresas.EditItemIndex = -1;
                this.BindGrid();
                try
                {
                    this.BindGrid();
                }
                catch (Exception)
                {
                    this.dtgEmpresas.CurrentPageIndex = 0;
                    this.BindGrid();
                }
            }
            catch (Exception ex)
            {
                string mensaje = ex.Message;
                try
                {
                    mensaje = this.TraducirTexto(ex.Message);
                    if (mensaje == "" || mensaje == null)
                    {
                        mensaje = ex.Message;
                    }
                }
                catch (Exception)
                {
                    mensaje = ex.Message;
                }
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje);
            }
        }
Пример #7
0
        private void LlenarCombos()
        {
            SisPackController.LlenarCombos.Producto(this.ddlProducto, this.TraducirTexto("Combos.ElijaProducto"), this.UnidadNegocioID);
            SisPackController.LlenarCombos.TiempoEntrega(this.ddlTiempoEntrega, this.TraducirTexto("Combos.ElijaTiempoEntrega"), this.UnidadNegocioID);
            SisPackController.LlenarCombos.Servicio(this.lstServicios, this.TraducirTexto("Combos.SinServicioAdicional"), this.UnidadNegocioID);
            // Cargo el combo de provincias
            IEmpresaFacturacion empresa = EmpresaFacturacionFactory.GetEmpresaFacturacion();

            ddlEmpresaFacturacion.DataSource     = empresa.GetEmpresasFacturacionConsultaDataSet().Datos.Select("", "Predeterminada desc, RazonSocial");
            ddlEmpresaFacturacion.DataValueField = "EmpresaFacturacionId";
            ddlEmpresaFacturacion.DataTextField  = "RazonSocial";
            ddlEmpresaFacturacion.DataBind();
            ddlEmpresaFacturacion.Items.Insert(0, new ListItem("", ""));

            // Cargo el combo de conceptos de facturación de delfos
            IConceptoFacturacionDelfos conceptosFact = ConceptoFacturacionDelfosFactory.GetConceptoFacturacionDelfos();

            ddlConceptoFacturacionDelfos.DataSource     = conceptosFact.GetAll();
            ddlConceptoFacturacionDelfos.DataValueField = "VentaConcepCodi";
            ddlConceptoFacturacionDelfos.DataTextField  = "VentaConcepDescrip";
            ddlConceptoFacturacionDelfos.DataBind();
            ddlConceptoFacturacionDelfos.Items.Insert(0, new ListItem("", ""));
        }
        //DsOrdenRetiroImprimir.DatosRow dsoRdenes;
        #region Page_Load
        private void Page_Load(object sender, System.EventArgs e)
        {
            //TextWriterTraceListener myListener = new TextWriterTraceListener("TextWriterOutput2.log", "myListener");
            //myListener.WriteLine("Inicia Load de Imprimirguiablanco.aspx.");

            DsGuiaFacturaImpresion ds = (DsGuiaFacturaImpresion)Session["DatosGuia"];
            //DsOrdenRetiroImprimir dsoRdenes = (DsOrdenRetiroImprimir)Session["imprimirOrden"];

            DsHojaRutaRepartidor dsoRdenes = (DsHojaRutaRepartidor)Session["imprimirOrden"];

            DsOrdenRetiroImprimir.DatosRow dsOrdenR;
            int    cantCopias    = 0;
            string nombreArchivo = "";
            //SFE. Codigo barras AFIP
            string  nombreArchivoCBAFIP          = "";
            Boolean EsReImpresion                = false;
            bool    esFacturaRemito              = false;
            Boolean EsFacturaConceptoFacturacion = false;
            string  textoDorso      = "";
            bool    esGuiaRendicion = false;
            string  tipoGuia        = "";

            // Obtengo el texto del dorso de la guía
            //IGuiaDorso guiaDorso = GuiaDorsoFactory.GetGuiaDorso();
            //guiaDorso.UnidadNegocioID = UnidadNegocioID;
            //guiaDorso.Consultar();
            //string textoDorso = guiaDorso.Texto;

            // Obtengo el texto del dorso de la guía por la empresa de facturacion
            IGuia guia = GuiaFactory.GetGuia();

            if (ds != null)
            {
                double pesototal50  = ds.Datos[0].PesoTotal != null ? ds.Datos[0].PesoTotal : 0; // ds.Datos[0].;
                double pesoButlos50 = ds.Datos[0].PesoBulto != null ? ds.Datos[0].PesoBulto : 0;
                string canBul       = ds.Datos[0].IsCantidadBultosTotalNull()?"0": ds.Datos[0].CantidadBultosTotal.ToString();
                string remito       = ds.Datos[0].IsRemitoClienteNroNull() ? "0" : ds.Datos[0].RemitoClienteNro.ToString();
                string DomicilioRem = ds.Datos[0].IsDireccionRemitenteNull()?"N/A": ds.Datos[0].DireccionRemitente.ToString();
                string remi         = ds.Datos[0].IsNombreRemitenteNull() ? "" : ds.Datos[0].NombreRemitente.ToString();
                if (remi == "")
                {
                    remi = ds.Datos[0].IsNombreEmpresaRemitenteNull() ? "" : ds.Datos[0].NombreEmpresaRemitente.ToString();
                }
                string doc = ds.Datos[0].IsCUITEmpresaNull() ? "" : ds.Datos[0].CUITEmpresa.ToString();
                if (pesototal50 > 50 || pesoButlos50 > 50)//mayor a 50
                {
                    System.Web.UI.Control impresion;
                    impresion = Page.LoadControl("uc/ImprimirDeclaracionJuradaEV.ascx");

                    GuiaDominio gd   = new GuiaDominio();
                    string      text = gd.getTextoDorso(0).ToString();
                    textoDorso = text;

                    /* inicio declaracion jurada*/
                    //string existeDJ = gd.GetDeclaracionJurada(ds.Datos[0].GuiaID).ToString();

                    //if (existeDJ == "")//es para que no re imprima la declaracion jurada que se emitio
                    //    //FQuiroga 26/11
                    //{
                    //    //declaracion jurada
                    //    if (ds.Datos[0].EsFleteCobrar == true && remito == "0")
                    //    {//si es un fpd y pesa mas de 50 y no tiene remito
                    //     //tiene que gaurda el numero de declaracion jurada

                    //        string DJ = gd.GuiaDCINS(ds.Datos[0].GuiaID).ToString();
                    //        LlenarControlDJ(impresion, remi, DomicilioRem, pesototal50, canBul, doc, DJ);
                    //        phImpresion.Controls.Add(impresion);

                    //        // hago un salto de página
                    //        LiteralControl lt = new LiteralControl("<br style='page-break-after: always'>");
                    //        // no hace salto de página para la última hoja...
                    //        phImpresion.Controls.Add(lt);

                    //    }
                    //    if ((ds.Datos[0].TipoGuia == "B" || ds.Datos[0].TipoGuia == "A") && remito == "0")
                    //    {//eventuales sin remito
                    //        string DJ = gd.GuiaDCINS(ds.Datos[0].GuiaID).ToString();                                                                 //tiene que guardar declaracion
                    //        LlenarControlDJ(impresion, remi, DomicilioRem, pesototal50, canBul, doc, DJ);
                    //        phImpresion.Controls.Add(impresion);

                    //        // hago un salto de página
                    //        LiteralControl lt = new LiteralControl("<br style='page-break-after: always'>");
                    //        // no hace salto de página para la última hoja...
                    //        phImpresion.Controls.Add(lt);
                    //    }
                    //}
                    /* fin declaracion jurada*/
                }
                else
                {
                    //34 y35 bultos
                    IEmpresaFacturacion empresa = EmpresaFacturacionFactory.GetEmpresaFacturacion();
                    try
                    {
                        empresa.EmpresaFacturacionID = ds.Datos[0].EmpresaFacturacionID;
                    }
                    catch (Exception)
                    {
                        throw new Exception("No se configuró la empresa de facturacion para la agencia emisora de la guia.");
                    }
                    empresa.Consultar();
                    textoDorso = empresa.Texto;
                }

                // SFE: Imprimir la leyenda "Guia Rendicion" y el Nro de Rendicion si es Guia de Rendicion
                // IGuia guia = GuiaFactory.GetGuia();
                guia.GuiaID = ds.Datos[0].GuiaID;
                guia.ConsultarCompletoByGuiaID();
                //if (ds.Datos.Rows[0].IsEsFacturaConceptoFacturacionNull() == false && dr.EsFacturaConceptoFacturacion

                //if (|| (ds.Datos.Rows[0].IsNull("EsFacturaConceptoFacturacion") == false && Convert.ToBoolean( ds.Datos.Rows[0]["EsFacturaConceptoFacturacion"]
                Boolean _esFacturaConceptoFacturacion = false;

                try
                {
                    _esFacturaConceptoFacturacion = Convert.ToBoolean(ds.Datos.Rows[0]["EsFacturaConceptoFacturacion"]);
                }
                catch
                {
                    _esFacturaConceptoFacturacion = false;
                }

                esGuiaRendicion = false;
                string nroRendicionGuia = "";

                if (_esFacturaConceptoFacturacion == false)
                {
                    guia.GuiaID = ds.Datos[0].GuiaID;
                    guia.ConsultarCompletoByGuiaID();
                    if (guia.ClasificacionGuiaID == NegociosSisPackInterface.SisPack.ClasificacionGuia.Rendicion)
                    {
                        esGuiaRendicion  = true;
                        nroRendicionGuia = guia.GetNroRendicionGuia();
                        if (nroRendicionGuia != "")
                        {
                            nroRendicionGuia = "Nro de Rendición: " + nroRendicionGuia;
                        }

                        ds.Datos[0].Observaciones = nroRendicionGuia;
                    }
                    // SFE: Imprimir la leyenda "Guia Rendicion" y el Nro de Rendicion si es Guia de Rendicion
                }
            }
            if (dsoRdenes != null)
            {
                IEmpresaFacturacion empresa = EmpresaFacturacionFactory.GetEmpresaFacturacion();
                empresa.EmpresaFacturacionID = 1;// Convert.ToInt32(dsoRdenes.Ordenes.Rows.Datos[0].EmpresaFacturacion.ToString());
                empresa.Consultar();
                textoDorso = empresa.Texto;
                //cargo las ordenes de retiro
                DsOrdenRetiroImprimir dsOrdenes2 = new DsOrdenRetiroImprimir();
                IOrdenRetiro          ordenes    = OrdenRetiroFactory.GetOrdenRetiroFactory();
                string todas = "";
                foreach (DsHojaRutaRepartidor.OrdenesRow dsss in dsoRdenes.Ordenes.Rows)
                {
                    if (todas == "")
                    {
                        todas = dsss.OrdenRetiroID;
                    }
                    else
                    {
                        todas = todas + "," + dsss.OrdenRetiroID;
                    }
                }
                dsOrdenes2 = ordenes.GetOrdenRetiroPrint(todas);
                foreach (DsOrdenRetiroImprimir.DatosRow drOrd in dsOrdenes2.Datos)
                {
                    System.Web.UI.Control impresion;
                    impresion = Page.LoadControl("uc/ImprimirOrdenRetiro.ascx");
                    LlenarControlOrdenes(drOrd, impresion, nombreArchivo);

                    phImpresion.Controls.Add(impresion);

                    // hago un salto de página
                    LiteralControl lt = new LiteralControl("<br style='page-break-after: always'>");
                    // no hace salto de página para la última hoja...
                    phImpresion.Controls.Add(lt);
                }
            }

            //if (dsConcepto != null) {
            //    try
            //    {
            //        _esFacturaConceptoFacturacion = Convert.ToBoolean(dsoRdenes.Datos.Rows[0]["EsFacturaConceptoFacturacion"]);
            //    }
            //    catch
            //    {
            //        _esFacturaConceptoFacturacion = false;
            //    }

            //    foreach (DsGuiaFacturaImpresion.DatosRow drCon in dsConcepto.Datos.Rows)
            //    {
            //        System.Web.UI.Control impresion;
            //        impresion = Page.LoadControl("uc/ImprimirGuiaBlanco.ascx");

            //        LlenarControl(drCon, impresion, nombreArchivo);

            //        phImpresion.Controls.Add(impresion);

            //        // hago un salto de página
            //        LiteralControl lt = new LiteralControl("<br style='page-break-after: always'>");
            //        // no hace salto de página para la última hoja...
            //        phImpresion.Controls.Add(lt);

            //        if (drCon.IsEsFacturaConceptoFacturacionNull() == false && drCon.EsFacturaConceptoFacturacion)
            //        {
            //            EsFacturaConceptoFacturacion = true;
            //            // Se trata de una factura de un concepto de facturación.
            //            // 16/10/2013. Se solicito que si se trata de un concepto de facturacion se impriman la cantidad de cuerpos que se definen en el ABM de conceptos de facturacion.
            //            IConceptoFacturacion concepto = ConceptoFacturacionFactory.GetConceptoFacturacion();
            //            concepto.GetOne(148);
            //            if (concepto.CantCuerposImprGuia > 0)
            //            {
            //                cantCopias = concepto.CantCuerposImprGuia ?? 0;
            //            }
            //            else
            //            {
            //                IFactura factura = FacturaFactory.GetFactura();
            //                cantCopias = factura.GetCantCuerposImprFacturaRemito();
            //                factura = null;
            //            }
            //        }
            //    }

            //}
            // }Cargo los comprobantes
            if (ds != null)
            {
                int ComprobanteActual = 1;
                foreach (DsGuiaFacturaImpresion.DatosRow dr in ds.Datos.Rows)
                {
                    // Reviso si se paso la cantidad de copias a imprimir o hay que obtenerlo de los parametros
                    if (Request.QueryString["CantCopias"] == "" || Request.QueryString["CantCopias"] == null)
                    {
                        // No se paso la cantidad de copias a imprimir.
                        // Obtengo de los parámetros generales cuántas copias del cuerpo se deben imprimir en la agencia origen

                        /* VSA 01-09-2009 Permitir parametrizar la cantidad de copias a imprimir para la guía */
                        // Reviso si se trata de una guía o factura
                        if (dr.IsEsFacturaConceptoFacturacionNull() == false && dr.EsFacturaConceptoFacturacion)
                        {
                            EsFacturaConceptoFacturacion = true;
                            // Se trata de una factura de un concepto de facturación.
                            // 16/10/2013. Se solicito que si se trata de un concepto de facturacion se impriman la cantidad de cuerpos que se definen en el ABM de conceptos de facturacion.
                            IConceptoFacturacion concepto = ConceptoFacturacionFactory.GetConceptoFacturacion();
                            concepto.GetOne(dr.ConceptoFacturacionID);
                            if (concepto.CantCuerposImprGuia > 0)
                            {
                                cantCopias = concepto.CantCuerposImprGuia ?? 0;
                            }
                            else
                            {
                                IFactura factura = FacturaFactory.GetFactura();
                                cantCopias = factura.GetCantCuerposImprFacturaRemito();
                                factura    = null;
                            }
                        }
                        else if (dr.IsEsFacturaRemitoNull() || dr.EsFacturaRemito == false)
                        {
                            // Se trata de una guía
                            // Verifico si en el campo "CantidadCopiasImprimir" viene asignada la cantidad de copias, si es asi, es porque se llamo desde la Hoja de Ruta del Repartidor y se esta reimprimiendo una guia desde ese modulo
                            // Si no se debe buscar en la base la cantidad de copias a imprimir.
                            if (((DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0]).IsCantidadCopiasImprimirNull())
                            {
                                // Debo buscar en la base la cantidad de copias a imprimir.
                                IGuia cantAImprGuia = GuiaFactory.GetGuia();
                                cantAImprGuia.GuiaID          = ((DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0]).GuiaID;
                                cantAImprGuia.UnidadNegocioID = UnidadNegocioID;
                                cantCopias    = cantAImprGuia.GetCantCuerposImprGuia();
                                cantAImprGuia = null;
                            }
                            else
                            {
                                //Viene asignada la cantidad de copias, se llamo desde la Hoja de Ruta del Repartidor y se esta reimprimiendo una guia desde ese modulo
                                try
                                {
                                    cantCopias = ((DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0]).CantidadCopiasImprimir;
                                }
                                catch { cantCopias = 1; }
                            }
                            esFacturaRemito = false;
                        }
                        else
                        {
                            // Se trata de una factura
                            IFactura factura = FacturaFactory.GetFactura();
                            cantCopias      = factura.GetCantCuerposImprFacturaRemito();
                            factura         = null;
                            esFacturaRemito = true;
                        }
                    }
                    else
                    {
                        // Si se paso la cantidad de copias a imprimir
                        cantCopias    = Utiles.Validaciones.obtieneEntero(Request.QueryString["CantCopias"]);
                        EsReImpresion = true;

                        // Reviso si se trata de una guía o factura
                        if (dr.IsEsFacturaRemitoNull() || dr.EsFacturaRemito == false)
                        {
                            esFacturaRemito = false;
                        }
                        else if (dr.IsEsFacturaConceptoFacturacionNull() == false && dr.EsFacturaConceptoFacturacion)
                        {
                            // Se trata de una factura de un concepto de facturación
                            EsFacturaConceptoFacturacion = true;
                        }
                        else
                        {
                            esFacturaRemito = true;
                        }
                        if (dr.IsEsFacturaConceptoFacturacionNull() == false && dr.EsFacturaConceptoFacturacion)
                        {
                            // Se trata de una factura de un concepto de facturación
                            EsFacturaConceptoFacturacion = true;
                        }
                    }

                    //}
                    // Cargo las copias del comprobante que se esta procesando
                    for (int i = 0; i < cantCopias; i++)
                    {
                        System.Web.UI.Control impresion;
                        if (guia.ClasificacionGuiaID == NegociosSisPackInterface.SisPack.ClasificacionGuia.UnidadLogistica)
                        {
                            impresion = Page.LoadControl("uc/ImprimirGuiaUnidadLogistica.ascx");
                        }
                        else
                        {
                            impresion = Page.LoadControl("uc/ImprimirGuiaBlanco.ascx");
                        }
                        LlenarControl(dr, impresion, nombreArchivo);
                        // cargo el control de impresión...
                        impresion.ID = "ImpreBlanco" + i.ToString();

                        // Creo la imagen del CB
                        if (i == 0)
                        {
                            nombreArchivo = CrearImagenCB(((IGuiaImpresion)impresion).TipoGuia, ((IGuiaImpresion)impresion).NroSucursal, ((IGuiaImpresion)impresion).NroGuia);

                            // SFE: Codigo Barras AFIP
                            nombreArchivoCBAFIP = CrearImagenCBAFIP(((IGuiaImpresion)impresion).TipoGuia, ((IGuiaImpresion)impresion).NroSucursal, ((IGuiaImpresion)impresion).NumeroCAI, ((IGuiaImpresion)impresion).FechaVencimientoCAI);
                        }
                        // Termino de cargar los datos
                        ((IGuiaImpresion)impresion).RutaCodigoBarras = nombreArchivo + "-" + this.AgenciaConectadaID.ToString();

                        // SFE: Codigo Barras AFIP.
                        ((IGuiaImpresion)impresion).RutaCodigoBarrasAFIP = nombreArchivoCBAFIP + "-" + this.AgenciaConectadaID.ToString();

                        if (EsReImpresion == false)
                        {
                            ((IGuiaImpresion)impresion).DescripcionFormulario = ObtenerDescripcion(i + 1, EsFacturaConceptoFacturacion);
                            ((IGuiaImpresion)impresion).EsReimpresion         = false;
                        }
                        else
                        {
                            ((IGuiaImpresion)impresion).DescripcionFormulario = ObtenerDescripcion(3, EsFacturaConceptoFacturacion);
                            ((IGuiaImpresion)impresion).EsReimpresion         = true;
                        }
                        ((IGuiaImpresion)impresion).TextoDorso      = textoDorso;
                        ((IGuiaImpresion)impresion).EsGuiaRendicion = esGuiaRendicion;
                        ((IGuiaImpresion)impresion).EsFacturaRemito = esFacturaRemito;
                        ((IGuiaImpresion)impresion).EsFacturaConceptoFacturacion = EsFacturaConceptoFacturacion;
                        phImpresion.Controls.Add(impresion);

                        // hago un salto de página
                        //tipoGuia = dr.IsTipoGuiaNull() ? "" : dr.TipoGuia;
                        //System.Web.HttpBrowserCapabilities browser = Request.Browser;
                        //string name = browser.Browser;
                        //float version = (float)(browser.MajorVersion + browser.MinorVersion);
                        //if ((name != "Chrome" && version >= 8) && (name != "Firefox" && version >= 8) && (name == "IE" && version > 8) && (tipoGuia == "R"))
                        //{
                        LiteralControl lt = new LiteralControl("<br style='page-break-after: always'>");
                        // no hace salto de página para la última hoja...
                        if (i + 1 < cantCopias || ComprobanteActual < ds.Datos.Rows.Count)
                        {
                            phImpresion.Controls.Add(lt);
                        }
                        //}
                    }
                    ComprobanteActual++;
                }

                //myListener.WriteLine("Finaliza Load de Imprimirguiablanco.aspx.");
                //myListener.Flush();
            }
        }
Пример #9
0
        protected void butGuardarEmpresa_Click(object sender, EventArgs e)
        {
            try
            {
                if (!Page.IsValid)
                {
                    return;
                }


                IEmpresaFacturacion empresa = EmpresaFacturacionFactory.GetEmpresaFacturacion();
                empresa.EmpresaFacturacionID = this.txtEmpresaID.Text == "" ? 0 : Convert.ToInt32(this.txtEmpresaID.Text);
                empresa.RazonSocial          = this.txtRazonSocial.Text;
                empresa.Email          = this.txtEMail.Text;
                empresa.Wan            = this.txtWan.Text;
                empresa.Predeterminada = this.chkPredeterminada.Checked;
                empresa.Cuerpos        = this.txtCuerpos.Text == string.Empty ? 0 : int.Parse(this.txtCuerpos.Text);
                empresa.NroCUIT        = this.txtCUITTipo.Text + this.txtCUITNro.Text + this.txtCUITDigitoVerificador.Text;
                if (empresa.EstadoEmpresa == NegociosSisPackInterface.SisPack.EstadoEmpresa.Ninguno)
                {
                    empresa.EstadoEmpresa = NegociosSisPackInterface.SisPack.EstadoEmpresa.Habilitada;
                }

                //Domicilio
                IDatosDomicilio domicilio = (IDatosDomicilio)this.phDomicilio.FindControl("domicilio");
                empresa.Domicilio.DomicilioID           = domicilio.DomicilioID;
                empresa.Domicilio.Calle                 = domicilio.Calle;
                empresa.Domicilio.CalleNro              = domicilio.CalleNro;
                empresa.Domicilio.Localidad.LocalidadID = domicilio.LocalidadID;
                empresa.Domicilio.Telefono              = domicilio.Telefono;

                //Logo
                // Verificamos que se esté guardando un logo, de lo contrario se muestra error.
                if ((File1.PostedFile != null) && (File1.PostedFile.ContentLength > 0))
                {
                    // Tomamos el nombre del archivo y obtenemos su extensión para ver si es PNG.
                    string   nombreLogo         = System.IO.Path.GetFileName(File1.PostedFile.FileName);
                    string[] nombreLogoSeparado = nombreLogo.Split('.');

                    if (!nombreLogoSeparado[nombreLogoSeparado.Length - 1].Equals("png") && !nombreLogoSeparado[nombreLogoSeparado.Length - 1].Equals("PNG") && !nombreLogoSeparado[nombreLogoSeparado.Length - 1].ToUpper().Equals("JPG"))
                    {
                        Exception ex = new Exception("La extensión del logo a guardar no es válida.");
                        throw ex;
                    }
                    else
                    {
                        // Verificamos si se ha creado la carpeta para archivos, de lo contrario se crea.
                        string carpetaDestino   = "Archivos";
                        bool   existeDirectorio = Directory.Exists(Request.PhysicalApplicationPath + "\\" + carpetaDestino);
                        if (!existeDirectorio)
                        {
                            // Especificamos el directorio activo actual.
                            string directorioActivo = Request.PhysicalApplicationPath;
                            // Creamos la nueva carpeta para guardar los logos.
                            string nuevaCarpeta = System.IO.Path.Combine(directorioActivo, carpetaDestino);
                            System.IO.Directory.CreateDirectory(nuevaCarpeta);
                        }

                        // Verificamos si se ha creado la carpeta para logos, de lo contrario se crea.
                        string carpetaLogos  = "LogosEmpresas";
                        bool   existeCarpeta = Directory.Exists(Request.PhysicalApplicationPath + "\\" + carpetaDestino + "\\" + carpetaLogos);
                        if (!existeCarpeta)
                        {
                            // Especificamos el directorio activo actual.
                            string directorioActivo = Request.PhysicalApplicationPath;
                            // Creamos la nueva carpeta para guardar los archivos.
                            string nuevaCarpeta = System.IO.Path.Combine(directorioActivo + "\\" + carpetaDestino, carpetaLogos);
                            System.IO.Directory.CreateDirectory(nuevaCarpeta);
                        }

                        // Redimensionamos la imagen al tamaño obligatorio 356 x 56.
                        int ancho = 356;
                        int alto  = 56;

                        // Guardamos la imagen en la carpeta seleccionada.
                        File1.PostedFile.SaveAs(Request.PhysicalApplicationPath + carpetaDestino + "\\" + carpetaLogos + "\\" + nombreLogo);

                        //Accedemos a la imagen guardada para poder redimensionarla.
                        string imagenUrl = carpetaDestino + "/" + carpetaLogos + "/" + nombreLogo;

                        System.Drawing.Image nuevaImagen = System.Drawing.Image.FromFile(Server.MapPath(imagenUrl));
                        System.Drawing.Image.GetThumbnailImageAbort dummyCallBack = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
                        System.Drawing.Image imagenRedimensionada = nuevaImagen.GetThumbnailImage(ancho, alto, dummyCallBack, IntPtr.Zero);

                        // Liberamos las imagenes utilizadas.
                        nuevaImagen.Dispose();
                        // Salvamos la imagen redimensionada.
                        imagenRedimensionada.Save(Request.PhysicalApplicationPath + carpetaDestino + "\\" + carpetaLogos + "\\" + nombreLogo, ImageFormat.Png);
                        // Liberamos las imagenes utilizadas y liberamos memoria.
                        imagenRedimensionada.Dispose();
                        GC.Collect();

                        // Guardamos la nueva imagen redimensionada.
                        empresa.Logo = nombreLogo;
                    }
                }
                else if ((this.txtLogoActual.Text != "") && (this.File1.Disabled == true))
                {
                    empresa.Logo = this.txtLogoActual.Text;
                }
                else
                {
                    Exception ex = new Exception("Seleccione un logo a guardar.");
                    throw ex;
                }

                // Datos para delfos
                empresa.Web                 = txtDirWeb.Text;
                empresa.NumeIIBB            = txtNumeroIIBB.Text;
                empresa.FechaInicio         = Convert.ToDateTime(txtFechaInicio.Text);
                empresa.NumeEstablecimiento = txtNumeroEstablecimiento.Text;
                empresa.Telefono            = domicilio.Telefono;
                empresa.CondicionIVA        = ddlCondicionIva.SelectedItem.Text;
                empresa.CertificadoDigital  = txtCertificadoDigital.Text;
                empresa.Texto               = this.txtTexto.Text.Trim();
                try
                {
                    if (empresa.Guardar(usuario))
                    {
                        string script = "<script language='javascript'>\n";
                        script += "alert('Los datos se guardaron correctamente.');\n";
                        script += "window.location.href = 'ABMEmpresasFacturacionConsul.aspx';\n";
                        script += "</script>";
                        Page.RegisterStartupScript("scriptOk", script);
                    }
                    else
                    {
                        string script = "<script language='javascript'>\n";
                        script += "alert('Los datos no se guardaron debido a errores.');\n";
                        script += "</script>";

                        Page.RegisterStartupScript("scriptError", script);
                    }
                }
                catch (Exception ex)
                {
                    string mensaje = ex.Message;
                    try
                    {
                        mensaje = this.TraducirTexto(ex.Message);
                        if (mensaje == "Errores.Invalidos.EmpresaNoActualizable.NoPuedeSerPredeterminada")
                        {
                            mensaje = "No puede ser empresa predeterminada por que no cumple con las propiedades de ser unica y estar asociada a todas las agencias.";
                        }

                        if (mensaje == "" || mensaje == null)
                        {
                            mensaje = ex.Message;
                        }
                    }
                    catch (Exception)
                    {
                        mensaje = ex.Message;
                    }
                    ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje);
                }
            }
            catch (Exception ex)
            {
                string mensaje = ex.Message;
                try
                {
                    mensaje = this.TraducirTexto(ex.Message);
                    if (mensaje == "" || mensaje == null)
                    {
                        mensaje = ex.Message;
                    }
                }
                catch (Exception)
                {
                    mensaje = ex.Message;
                }
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje);
            }
        }