コード例 #1
0
        private int GenerarRemito()
        {
            UsuarioAutenticado Usuario = (UsuarioAutenticado)Session["UsuarioAutenticado"];
            GestorPreciosApp   gp      = new GestorPreciosApp();

            int idCliente      = int.Parse(hIdCliente.Value);
            int idUsuarioIntra = Usuario.IdUsuario;
            int idtipoCobranza = int.Parse(raTipoPeriodo.Text);

            idTipoDocumentacion = int.Parse(raTipoDocumento.Text); // int.Parse(tipoDocumentacion.Value);
            if (hNroRemito.Value != "")
            {
                nroRemito = int.Parse(hNroRemito.Value);
            }

            int     idRemito       = 0;
            int     idTipoInforme  = 0;
            int     idEncabezado   = 0;
            int     idAdicional    = 0;
            decimal Precio         = 0;
            decimal PrecioUnitario = 0;
            int     Cantidad       = 0;

            int idTipoFactura = 4;
            int idTipoEnvio   = 1;

            idTipoFactura = int.Parse(raTipoFacturacion.SelectedValue);
            idTipoEnvio   = int.Parse(raTipoEnvio.SelectedValue);

            //Si no tiene seteado el Tipo de documento (remito o parte) o periodo (diario o mensual)
            ClienteDal oCargarCliente = new ClienteDal();

            oCargarCliente.Cargar(int.Parse(hIdCliente.Value));
            if (oCargarCliente.TipoDocumento == 0 || oCargarCliente.TipoPeriodo == 0)
            {
                oCargarCliente.TipoDocumento = idTipoDocumentacion;
                oCargarCliente.TipoPeriodo   = idtipoCobranza;
            }
            oCargarCliente.TipoFactura = idTipoFactura;
            oCargarCliente.idTipoEnvio = idTipoEnvio;
            oCargarCliente.Modificar();


            if (nroRemito == 0)
            {
                idRemito = gp.crearRemitoParte(idTipoDocumentacion, idtipoCobranza, idCliente, idUsuarioIntra);
            }
            else
            {
                gp.modificarRemitoParte(idTipoDocumentacion, idtipoCobranza, nroRemito);
                gp.setearMontoRemito(nroRemito, idTipoDocumentacion, 1);
                idRemito = nroRemito;
            }


            ListView lvInf = null;

            foreach (ListViewDataItem lvTipos in lvTiposInformes.Items)
            {
                idTipoInforme = int.Parse(((HiddenField)lvTipos.FindControl("hdTipoInforme")).Value);
                lvInf         = (ListView)lvTipos.FindControl("lvInformes");
                if (idTipoInforme != 0)
                {
                    foreach (ListViewDataItem lvInforme in lvInf.Items)
                    {
                        idEncabezado = int.Parse(((HiddenField)lvInforme.FindControl("hdIdEncabezado")).Value);
                        if (((CheckBox)lvInforme.FindControl("chkIdEncabezado")).Checked)
                        {
                            Precio = decimal.Parse(((TextBox)lvInforme.FindControl("txtPrecio")).Text, CultureInfo.InvariantCulture);
                            if (nroRemito == 0)
                            {
                                gp.agregarInformesRemitoParte(idTipoDocumentacion, idRemito, idTipoInforme, idEncabezado, Precio);
                            }
                            else
                            {
                                gp.modificarInformesRemitoParte(idTipoDocumentacion, idRemito, idTipoInforme, idEncabezado, Precio);
                            }
                        }
                    }
                }
            }

            string decimalSeparator = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;
            string PrecioUnitario1  = "";

            if (nroRemito != 0)
            {
                gp.eliminarTodosAdicionalesRemitosParteEntrega(idTipoDocumentacion, idRemito);
            }

            foreach (ListViewDataItem lvAdicional in lvAdicionales.Items)
            {
                idAdicional     = int.Parse(((HiddenField)lvAdicional.FindControl("hdIdAdicional")).Value);
                Cantidad        = int.Parse(((TextBox)lvAdicional.FindControl("txtCantidad")).Text);
                PrecioUnitario1 = ((TextBox)lvAdicional.FindControl("txtPrecioUnitario")).Text;
                PrecioUnitario1 = PrecioUnitario1.Replace(",", decimalSeparator);
                PrecioUnitario  = decimal.Parse(PrecioUnitario1, CultureInfo.InvariantCulture);
                gp.agregarAdicionalRemito(idTipoDocumentacion, idRemito, idAdicional, Cantidad, PrecioUnitario);
            }

            gp.setearMontoRemito(idRemito, idTipoDocumentacion, 1);

            return(idRemito);
        }