private void butAceptar_Click(object sender, System.EventArgs e)
        {
            try
            {
                DsGuiasPlanillaRemitoCliente dsGuias   = (DsGuiasPlanillaRemitoCliente)Session["DsGuiasPlanillaRemitoCliente"];
                IPlanillaRemitoCliente       oPlanilla = PlanillaRemitoClienteFactory.GetPlanillaRemitoCliente();
                oPlanilla.ClienteID             = Convert.ToInt32(this.txtClienteID.Text);
                oPlanilla.FechaRecepcionCliente = Utiles.Fechas.FormatFechaYYYYMMDD("19000101");                        //Ya que esta fecha se seteará cuando se entregue la planilla al cliente

                foreach (DsGuiasPlanillaRemitoCliente.GuiasRow dr in dsGuias.Guias.Rows)
                {
                    IPlanillaRemitoClienteGuias oGuiaPlanilla = oPlanilla.GuiasPlanilla.AddGuiaPlanillaRemitoCliente();
                    oGuiaPlanilla.GuiaID          = dr.GuiaID;
                    oGuiaPlanilla.GuiaRendicionID = dr.GuiaRendicionID;
                }
                if (oPlanilla.Guardar(this.AgenciaConectadaID, this.usuario))
                {
                    this.txtPlanillaRemitoClienteID.Text  = oPlanilla.PlanillaRemitoClienteID.ToString();
                    this.lblNroPlanillaRemitoCliente.Text = Utiles.Formatos.CerosIzq(Convert.ToInt32(oPlanilla.NroPlanillaRemito), 5);
                    this.Imprimir();
                    this.BindGrillas();

                    /*string mensaje = "Los datos se guardaron correctamente. ";
                     *
                     * string script = "<script language='javascript'>\n";
                     * script += "alert('" + mensaje + "');";
                     * //script += "window.location.href = 'RecibirGuiaRendicion.aspx';\n";
                     * script += "</script>";
                     *
                     * Page.RegisterStartupScript("scriptOk", script);*/
                }
            }
            catch (Exception ex)
            {
                ((ErrorWeb)this.phErrores.FindControl("Error")).setMensaje(this.TraducirTexto(ex.Message));
            }
        }
        public bool Guardar(int agenciaUsuaria, IUsuarios usuario)
        {
            using (SqlConnection conexion = new SqlConnection())
            {
                SqlTransaction transaccion = null;
                conexion.ConnectionString = Config.ConnectionString;
                try
                {
                    conexion.Open();
                    transaccion = conexion.BeginTransaction();
                    DataSet ds;

                    if (this.PlanillaRemitoClienteID == 0)                 //Cuando emito la guia por primera vez
                    {
                        this.NroPlanillaRemito       = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico(transaccion, "GetNroPlanillaRemitoCliente", this.ClienteID));
                        this.PlanillaRemitoClienteID = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico(transaccion, "PlanillaRemitoClienteINS", this.NroPlanillaRemito,
                                                                                                              this.ClienteID, Utiles.BaseDatos.IntToSql((int)this.TipoDocumentoID), Utiles.BaseDatos.IntToSql(this.NroDocumento), Utiles.BaseDatos.StrToSql(this.Apellido),
                                                                                                              Utiles.BaseDatos.StrToSql(this.Nombre), Utiles.BaseDatos.FechaToSql(this.FechaRecepcionCliente)));
                        this.GuiasPlanilla.AgenciaUsuaria          = agenciaUsuaria;
                        this.GuiasPlanilla.PlanillaRemitoClienteID = this.PlanillaRemitoClienteID;
                        this.GuiasPlanilla.Guardar(transaccion, usuario);
                    }
                    else
                    {
                        Config.Conexion.EjecutarSinResultados(transaccion, "PlanillaRemitoClienteUPD", this.PlanillaRemitoClienteID, this.Nombre, this.Apellido, (int)this.TipoDocumentoID,
                                                              this.NroDocumento, this.FechaRecepcionCliente);
                        ds = this.GetGuiasEnPlanillaRemitoConEstadoEnPlanilla(transaccion);
                        if (ds.Tables[0].Rows.Count > 0)                     //Las guias de la planilla de remito que todavia no tienen el estado RendidoAlCliente , TipoEstado : RendicionAdministracion
                        {
                            foreach (System.Data.DataRow row in ds.Tables[0].Rows)
                            {
                                IPlanillaRemitoClienteGuias oPlanillaGuia = this.GuiasPlanilla.AddGuiaPlanillaRemitoCliente();
                                oPlanillaGuia.GuiaID = Convert.ToInt32(row["GuiaID"]);
                            }
                            this.GuiasPlanilla.AgenciaUsuaria = agenciaUsuaria;
                            this.GuiasPlanilla.RecibidaPorCliente(transaccion, usuario);
                        }
                        if (this.NroCajaArchivo != "")
                        {
                            ds = this.GetGuiasPendientesDeArchivar(transaccion);                          //Se trae las guias para asignarle el nro de caja de archivo
                            if (ds.Tables[0].Rows.Count > 0)
                            {
                                foreach (System.Data.DataRow row in ds.Tables[0].Rows)
                                {
                                    IPlanillaRemitoClienteGuias oPlanillaGuia = this.GuiasPlanilla.AddGuiaPlanillaRemitoCliente();
                                    oPlanillaGuia.GuiaID = Convert.ToInt32(row["GuiaID"]);
                                }
                                this.GuiasPlanilla.AgenciaUsuaria = agenciaUsuaria;
                                this.GuiasPlanilla.ArchivarGuiasDePlanilla(transaccion, usuario, this.NroCajaArchivo);
                            }
                        }
                    }

                    transaccion.Commit();
                    return(true);
                }

                catch (Exception ex)
                {
                    transaccion.Rollback();
                    throw ex;
                }
            }
        }